← All posts

Four real requests, and what they compiled to

Real requests, typed by real people, typos included. What each one compiled to, which needed a second attempt, and where the answer surprised them.

Strategy4 min readDeFiLoopsUpdated

In short: you want to know what happens when you type a plain request, typos and all, instead of setting up each step yourself. This post shows four real requests and the plans they became: in three of the four, the plan held a step the person never asked for, such as moving money between networks, running two steps at once, or pulling money straight from their own wallet. Moving USDC between networks takes about 15 minutes, and only USDC is moved that way. Saving a plan runs nothing, so a request that comes out wrong costs you another try and no money.

Everything below was typed into the product by somebody who was not us. The wording is theirs. I have kept the spelling, because it shows how people actually type: they do not compose their sentences carefully before pressing enter, and they don’t need to.

1. “take $100 usdc from my account and buy cbBTC and send me back”

The simplest possible request, and a good one to start with because almost nothing about it is ambiguous.

What it compiled to
  1. 01pull-100base
    deposit.pull$100 USDC from wallet1 call
  2. 02buy-cbbtcbase
    swap.router← linked step's output2 calls
  3. 03send-backbase
    transfer.erc20cbBTC to your wallet1 call
3 steps

Three steps, one network, one signature. In step one, the money did not have to be moved to the operating account in advance. deposit.pull draws it from your own wallet against an allowance, at the moment the run needs it.

2. “Now take 2k usdc, spilit it four. And lend it as usdc into different lending protocols. Choose the best four performence”

Here the person asking doesn’t know which four are “the best four”, so the plan has to find out.

Four ways, one instruction
  1. 01pull-2000base
    deposit.pull$2,000 USDC from wallet1 call
  2. 02supply-aave3base
    lend.supply500 USDC · Aave v32 calls
  3. 03supply-morphobase
    lend.supply500 USDC · Morpho2 calls
  4. 04cross-arbbase→arb
    bridge.cctp1,000 USDC · Circleoff-chain
  5. 05supply-arbarbitrum
    lend.supply500 USDC · Aave v32 calls
  6. 06supply-arb-2arbitrum
    lend.supply500 USDC · Morpho2 calls
6 steps

Two things stand out on that board.

The two supplies on the same network run at the same time. The order is worked out from what depends on what, instead of from the order the person listed things in. Nothing about supplying to Aave depends on the Morpho supply having finished, so they do not queue.

The dotted line is a 15-minute wait. Crossing between networks goes through Circle’s official route, takes about 15 minutes, and cannot be hurried. The plan is built around that: the steps on the far side cannot start early.

3. “take base $100 usdc from my account and buy XAUT from ethereum”

In this one, the most useful work is the part nobody asked for.

The person has USDC on Base. They want tokenized gold, which is on Ethereum, so the request needs a network crossing they did not mention and probably were not thinking about.

The crossing nobody asked for
  1. 01pull-100base
    deposit.pull$100 USDC from wallet1 call
  2. 02to-ethereumbase→eth
    bridge.cctp100 USDC · ~15 minutesoff-chain
  3. 03buy-xautethereum
    swap.router← linked step's output2 calls
3 steps

So the question to ask is usually “can I do this on that network”, not just “can I do this?”, and the two have different answers often enough to matter.

4. “Take $1000 usdc from my account on base and deposit to top lending pools with higy apy on all chains”

I am including this one because it took four attempts, and the reason is more useful than a clean example would be.

The first three runs produced a plan, and the person pressed build, looked at it, and asked for something different. On the fourth they wrote:

Keep the three-chain split. Write the pipeline document and save it.

That is the request working correctly. What the person keeps is the plan, and the conversation is how they get there. Three rounds of “not quite that” cost nothing, because none of them spent anything.

Before

You type a sentence and it does the thing. A misunderstanding costs you money.

After

You type a sentence and get a plan. Saving it runs nothing. Pressing Run is a separate, deliberate decision.

A misunderstanding costs you 30 seconds.

The pattern across all four

Nobody described steps. Each person described an outcome and left the routing, the ordering, the approvals and the waiting to be worked out.

And in three of the four, the compiled plan contained something the person had not mentioned: a crossing, a parallelisation, or a pull from their own wallet instead of a deposit.

What to do with this

If you are about to try it, copy one of the sentences above verbatim. They are not carefully worded and they work. Then read what comes back, particularly the steps you did not ask for, because that is where the product is doing the work.

And if the plan is not what you meant, say so. That round costs nothing.