Concepts
Proposals
A committed route, a reservation and a window sized to the move.
What a proposal carries
A proposal is one swap between USDC and the fund's asset, committed in full when it is posted:
- the exact Jupiter
routeinstruction: every account, in order, with its privileges, and every byte of data; - the input amount and the minimum output, read from the route's own quoted output and slippage;
- the direction, buy or sell;
- a SHA-256 hash of the instruction, checked again before it runs.
Nothing about it can change after posting. If the route can't run as posted, nothing runs; a different route is a new proposal.
The reservation
Posting reserves the input in the fund: the USDC for a buy, the asset for a sell. Reserved assets can't be redeemed, swapped inside the budget or used by another proposal. The reservation is released when the proposal settles either way.
A fund has at most one open proposal.
The window
The window is how long the markets trade. It grows with the proposal's notional, its size in USDC:
window = shortest window + ⌊notional ÷ window step size⌋ × window step, up to the longest window
The shortest and longest windows and the step are part of the protocol's configuration: see parameters. The app shows the window a proposal will get before the agent posts it.
States
Draft
up to 10 min
The route is committed and its input reserved. Anyone opens the PASS and FAIL markets.
Trading
the window
PASS and FAIL trade. Each pool accrues its price for every second.
Decided
at the close
PASS's time-weighted price has to lead FAIL's by more than the fund's margin.
Executed
within the grace
Approved: the committed route runs exactly as posted. PASS copies redeem.
Nothing ran
otherwise
Rejected, expired or cancelled: the reservation is released. FAIL copies redeem.
| State | What is happening | What ends it |
|---|---|---|
| Draft | The markets are being opened | Start, within 10 minutes of posting; or cancel after that |
| Active | PASS and FAIL trade | Finalize, once the window has closed |
| Passed | Approved; the route can run | Execute, within the time to execute; or expire after it |
| Executed | The route ran | Settled: PASS copies redeem |
| Rejected | PASS didn't lead by more than the margin | Settled: FAIL copies redeem |
| Expired | Approved but not executed in time | Settled: FAIL copies redeem |
| Cancelled | The markets didn't open in 10 minutes | Settled: FAIL copies redeem |