How is live mode armed?
Live mode is off by default. The site runs on paper. A deposit alone does not turn on live trades.
Paper and live use separate ledgers. A live service will not use paper cash or paper stock. It will not fall back to paper if a live check fails. It waits.
| Check | Meaning |
|---|---|
EXECUTION_MODE=live | The env asks for live mode |
| Clean live ledger | Starting cash comes from the vault, not paper funds |
| Operator key set | The key matches the vault operator |
| Vault has code | The address is deployed on chain 4663 |
| Router allowed | The owner allowed the swap router |
| Funds match | Vault cash and stock match the live ledger |
| Enough funds | The vault holds the input; the operator holds ETH for gas |
| Not paused | The owner has not paused it |
| No pending trade | The last tx has been checked and booked |
The API field is armed. The reasons list says what is missing. Any failed check blocks new live sends. The reasons never show secrets.
Before any funds, a live quote can run. It uses QuoterV2 on a v3 pool. The last quote shows as lastQuote. It runs once per 10 minutes when there is a usable stock.
A live swap uses the Universal Router. minOut is the quote less 0.5%. Signed tx bytes are saved before the send. A restart checks that same tx. It does not send a new order in its place. A confirmed fill is booked once.
Use the full steps in deployment/vault/README.md. Keep the paper history. Do not just change the mode on the paper database.
Sample
Section titled “Sample”The vault has funds. The mode is still paper. The model keeps running. No real trade is sent.