How Agio works
The route, the guarantee, and where every basis point of a trade goes.
The two-layer route
A token launched through Agio gets its own router contract, deployed with the token and installed as its creator-fee recipient on Pons. Fees accrue in the Pons escrow until someone calls poke() on the router. That call is permissionless, and whoever makes it is paid a bounty out of what it claims, so the route does not depend on the creator staying interested. The router then splits the claim through two layers.
Layer 1 divides the stream into buckets, each with one target asset. A bucket converts its share into that asset before paying anything out, so a route can say “half of this becomes the launch token, half stays in the quote asset”. Layer 2 splits each bucket among its sinks — a wallet, a vesting contract, a burn address — each of which must be a contract the sink registry has approved. Every share is a basis-point weight, and a weight is either a fixed number or a schedule that moves between two values across a window.
What immutable means here
It means the router has no setters. Not restricted setters, not timelocked setters — none. Every address, weight and schedule is written into the contract at construction. Its ABI has no owner, no admin role, no upgrade path and no function that hands the fee-recipient role on to anyone else; besides poke, all it exposes are the retry and rescue calls that exist to unstick a payout that reverted.
So the guarantee is not a promise about our conduct, and it does not rest on trusting the creator either. Neither party can redirect the stream after launch. A route that carries a schedule does change over time, but only along a curve that was published on day one — the schedule itself is as fixed as everything else.
The fee model
Pons charges a base curve fee of 1.00% on every trade and keeps 30.00% of it. The remaining 0.70% of volume is the creator’s, and Pons pays it whatever else happens. On top of that the creator sets their own tax. Agio requires at least 2.00%, because below roughly 1.30% the stream cannot pay both the creator and AGIO one percent of volume. At that minimum the stream is 2.70% of volume.
The stream, at the minimum tax
| Component | Share | Of volume |
|---|---|---|
| Pons curve fee | — | 1.00% |
| less the Pons protocol share | 30.00% | 0.30% |
| Creator’s base share | — | 0.70% |
| Creator tax, at the minimum | — | 2.00% |
| Stream into the router | — | 2.70% |
The router takes its skim first and routes what is left. AGIO’s allocation is a named recipient inside the published route rather than a hidden cut — anyone reading the router can see it — and it is what makes the target of 1.00% of volume add up. The allocation is computed from whatever tax the creator picks, so a higher tax produces a smaller allocation and AGIO still lands on the same number.
What poke() does, in order
| Step | Share of what reaches it |
|---|---|
| 1. Claim the stream from the Pons escrow | all of it |
| 2. Pay the keeper who made the call | capped, fixed at deployment |
| 3. Skim to the Agio treasury | 1.00% |
| 4. Route the remainder through Layer 1, then Layer 2 | 99.00% |
| of that route, to AGIO | 36.40% |
| of that route, to the creator’s own sinks | 63.60% |
Net, as a share of trade volume
| Who | Of volume |
|---|---|
| Pons | 0.30% |
| AGIO, skim plus route allocation | 1.00% |
| Creator | 1.70% |
| Paid by the trader | 3.00% |
What these numbers do not cover
Three caveats, all of them permanent. The keeper bounty comes out of the claim before anything else, so every figure above is measured before it. Every division in the allocation math floors, which means AGIO can land up to 0.103 bps of volume under its target, never over it. And the 1.00% figure is pre-graduation: when a token leaves the bonding curve for a Uniswap v4 pool the fee structure changes, the stream-to-volume ratio moves with it, and the allocation cannot follow, because the route is immutable. That is the price of the guarantee, and stating it is cheaper than someone else discovering it.