Docs · Protocol
The vault agent
One rate-limited signer that trades each vault on its venue: selling slowly into strength, buying back dips with what it sold, and paying backers back when the vault has grown.
What it does
The agent sells slowly into strength: the higher the multiple over cost and the more real buy volume, the more it may sell, sized so it doesn’t dent the chart. It buys back dips with what it sold. All sell proceeds stay in the vault as quote.
When the vault's liquid quote is 5× what it held at launch and the chart is strong, the agent may pay backers back (principal first, then 15% of the vault at most every 4h). Buying back dips always comes first.
The rules, on-chain
Limits are copied into each launch at creation (terms); the values below are today’s defaults from /api/platform. The program checks every one on the measured fill of each agent trade.
| Rule | Buy (agent_buy) | Sell (agent_sell) |
|---|---|---|
| Price vs EMA | Spot ≤ EMA − 2% | Spot ≥ EMA + 2% |
| Fill vs vault cost | Fill ≤ vault average cost, or a buy-back ≥ band under the average agent sell | Fill ≥ vault average cost + 2% |
| Budget per window | ≤ 10% of vault quote per 60 min | ≤ 5% of vault tokens per 60 min |
| Price impact | ≤ 3% | ≤ 3% |
| Vault floor | Vault quote stays ≥ the quote's floor (min_vault) | — |
| Rate | One agent trade per slot | One agent trade per slot |
| Proceeds | Paid from vault quote | Stay in the vault as quote |
| Payback (payout_backers) | Rule |
|---|---|
| Signer | Agent authority only |
| Vault quote | ≥ 5× initial_vault_quote (liquid quote; tokens don't count) |
| Chart | Strong: price above the EMA band, real buy flow, not in a drawdown (the agent's own check; the program enforces every other row) |
| Amount | The principal first, then 15% of vault quote |
| Frequency | At most one payout per 4h, the principal payout included |
| Floor | Never below the vault floor (min_vault) |
Which venue it trades
| LaunchLab pool status | Agent trades |
|---|---|
| 0 · trading on the curve | On the LaunchLab curve (buy and sell exact-in) |
| 1 · curve filled, waiting for Raydium | Refused (VenueMigrating) until the pool exists |
| Graduated (graduate recorded the CPMM pool) | On the Raydium CPMM pool (swap_base_input) |
The EMA
The EMA is sampled by the program at every agent trade, before reserves change:
ema += (spot − ema) · dt / (dt + period) // dt = seconds since the last agent trade, clamped to the period; period = 1800sSpot is read from the venue’s reserves in the quote’s raw units. A single large trade moves the EMA only a little, so a dump opens a gap below the band; that gap is what the agent buys.
Who runs it
The agent is an off-chain service holding the platform’s agent authority key (D1Mv…xd6d ↗), the only key that can sign agent_buy, agent_sell and payout_backers. The trades themselves are signed on the venue by the launch’s own authority address, so there are no separate trading wallets: the vault buys and sells as itself. Every executed trade is a Trade event; ticks where it decides to do nothing aren’t logged on-chain. Its reasoning for each launch is public at /agents.