Concepts
Execution and settlement
What happens after the window closes, and who is paid what.
Finalize
Once the window has closed, anyone can finalize the decision. The program brings both pools' time-weighted sums to the close, records the time-weighted prices and sets the outcome: Passed or Rejected. A decision finalized after its time to execute has already run out is recorded as expired.
Rejection releases the reservation at once.
Execute
A passed proposal has a set time to execute after the close; see parameters. Within it, anyone can execute: the program checks the route's hash, signs for the fund, and runs the committed Jupiter instruction. Then it checks that:
- the source vault lost exactly the committed input;
- the destination vault gained at least the committed minimum;
- both vaults are still the fund's, with no delegate and no close authority.
If any check fails, the whole transaction reverts: no token moves and the proposal stays passed, so the same route can be tried again until the time runs out. When it succeeds, the proposal is Executed, the reservation is released and the fund is valued again at its next deposit, redemption or update.
Expire
Anyone can expire a proposal that has run out of time:
- a draft whose markets didn't start within 10 minutes becomes Cancelled;
- a trading or passed proposal past its time to execute becomes Expired.
Both release the reservation.
Who is paid what
| Outcome | Copies that redeem | The fund |
|---|---|---|
| Executed | PASS copies, one for one | Swapped exactly as proposed |
| Rejected | FAIL copies, one for one | Unchanged |
| Expired | FAIL copies, one for one | Unchanged |
| Cancelled | FAIL copies, one for one | Unchanged |
Liquidity providers withdraw their part of each pool once the decision settles, then redeem the winning copies among what they withdrew.
The keeper
Nod's keeper watches every proposal and sends start, finalize, execute and expire as soon as each is due. Each is an ordinary instruction that any wallet may send; on a decision's page the next step appears with its own button.