Crossing means burning all or part of your dead bag into an Open Fare, with a proof of your proven loss, in exchange for a share of the Fare's budget.
Before you cross#
- The Fare must be Open. Pending Fares cannot be crossed, so that the Roll can be checked first.
- Check the badge on the Fare page. Cross only a Fare that shows
Roll verified. - Your wallet must be in the Fare's Roll. The app shows your line: bag, paid, value, proven loss and estimated payout. If you are not in the Roll, you have no proven loss at that snapshot.
- You need at least the amount you want to burn in your wallet. The bag recorded in the Roll is what you held at the snapshot; you may hold more or less today.
How to burn#
In the app, open the Fare, choose how much to burn, and confirm. Under the hood:
approve(FareMarket, amount)on the dead token.cross(fareId, amount, bag, lossWei, proof)on the market.
bag and lossWei are your entry in the Roll. proof is the Merkle proof of the leaf (your wallet, bag, lossWei). The app fetches them from /api/proof/<fareId>/<wallet>, which recomputes the Roll from logs. You can also get them with the CLI.
The market takes amount from your wallet and burns it with the token's burn. If the token has no burn function, the tokens are sent to 0x000000000000000000000000000000000000dEaD instead.
What the proof is#
The Fare stores the Merkle root of its Roll. Your proof is the list of sibling hashes from your leaf to that root. The contract recomputes the leaf from msg.sender, bag and lossWei, and checks the proof. It cannot be reused by another wallet, because the wallet is part of the leaf.
Partial burns#
You can burn any amount from 1 unit up to bag. The loss counted for you is proportional:
countedLoss = min(maxLossPerWallet, floor(lossWei × burned / bag))
Burning half of the bag counts half of the loss. If a burn is so small that the counted loss rounds to zero, the transaction is refused.
The amount counted is what the market actually received, measured by its balance before and after the transfer.
One crossing per wallet per Fare#
Each wallet can cross a given Fare once. Choose the amount before you burn.
Why a bag is used only once#
Burned tokens are gone, so the same tokens cannot be burned twice. The contract also records, for each (token, wallet), the time your loss was last used: lossUsedAt. Another Fare on the same token can count your loss again only if its snapshot is later than that time. By then the Roll already reflects your burn: burning reduced your cost basis in proportion, so only the loss on what you kept remains.
In practice, when two Fares target the same dead token with snapshots before your crossing, you can use your loss in one of them. Pick the better offer. Payers compete for you.
Irreversibility#
A burn cannot be undone. The app asks you to confirm the amount burned and the estimated payout, and states plainly that the payout is not known until the Fare settles: the rate depends on how much loss is counted in total, and it never exceeds the max rate. The payout token itself may lose value. See Risks and limitations.
After crossing#
Wait for the window to end. Anyone can settle, including you. From settlement, your payout streams linearly over the vesting period; claim on the Crossings page whenever you want.