02 · Mechanics
How it works
One transaction carries your swap and your round-up. Either all of it happens or none of it does.
The round-up
You were going to swap anyway. Crumble looks at what that swap is worth, rounds it up to the next $1, $5 or $10, and treats the difference as change.
| Your swap | $7.42, untouched |
| Rounded up to | $8.00 |
| The change | $0.58 |
| Crumble's cut | $0.00 |
| Buys stock | $0.58 |
Land exactly on a step and there is no change, so nothing happens. Nothing is ever taken out of the swap itself, and nothing is taken by us.
One transaction, five instructions
Solana lets a single transaction carry several instructions that either all succeed or all fail together. Crumble uses that: the swap you came for and the round-up ride in the same transaction, so the round-up can never half-happen.
-
Compute budget
What the transaction is allowed to cost. Jupiter sets it from the route.
-
Token accounts
If you have never held one of these tokens, the account to hold it is created here. It belongs to you, not to us.
-
Your swap
Routed by Jupiter across whatever pools are deepest right now. The tokens you were buying land in your wallet.
-
The crumb
The whole change buys one leg of your basket. That token lands in your wallet too.
-
Cleanup
Any wrapped SOL left over is unwrapped back to plain SOL.
Why one leg at a time
A Solana transaction is capped at 1232 bytes, and that is a hard limit, not a guideline. Measured against the live routing API with a fresh wallet:
| What is in the transaction | Size |
|---|---|
| Your swap alone | 538 bytes |
| Plus one basket leg | 684 bytes |
| Plus a second leg | 920 to 1159 bytes, depending on the route |
| Plus three legs | 1166 bytes on a good day |
| Plus three legs, one of them multi hop | Over the limit |
So a four leg basket cannot be bought in one go, at any price. Rather than split your round-up across two transactions and charge you twice for the privilege, each crumb buys a single leg, and the app picks the one furthest below its target weight.
Over a handful of swaps that settles on exactly the proportions you set. A 40 / 20 / 20 / 20 basket lands on 40 / 20 / 20 / 20. It simply arrives in slices rather than all at once, which is rather the point of a thing called Crumble.
Why not two legs? Two usually fit. But route sizes move with liquidity, and the measurements above include a real case where a single leg needed two hops and two legs came to 1159 bytes, leaving 73 to spare. One more hop and it fails in front of a user who did nothing wrong. One leg leaves hundreds of bytes of headroom, which is what makes it reliable rather than merely possible.
The app in four screens
Swap
What you are paying with, what you are buying, the round-up step and your slippage. The receipt shows the change, which leg this crumb buys and the size of the transaction in bytes, all before anything is signed.
Basket
Pick from the listed stock tokens and set the weights. Moving one slider pushes the others the other way, so the basket is always exactly 100 and there is no invalid state to correct.
Portfolio
What the crumbs have bought. It reads your own wallet, because that is where the tokens are. Nothing here needs claiming.
Activity
The round-ups made from this browser, each linking to the transaction on Solscan.
What actually happens to the price
The quote is what the pools looked like a moment ago; the fill is what actually happened. Your slippage setting is the floor under that difference: if the price moves further than you allowed, the whole transaction reverts and nothing is spent, not the swap and not the crumb.