Documentation

The protocol token

The protocol token is the venue's official token, and it stands on its own: it is a plain fixed-supply ERC-20 that can be deployed and launched anywhere, on this venue or another, before or after the rest of the stack exists. Its ticker is not settled yet, so these pages call it the protocol token. The stack never mints it, holds it or references it, with one exception: the Buyback contract is bound to its address, and thirty percent of every coin-side fee collected on the venue's markets (the launched tokens, never the protocol token itself) is converted to ETH, spent on the protocol token in its Uniswap v4 pool, and burned. The supply only goes down, and every burn is a transaction you can look up. Holding the token is a position on how much trading the venue does, not a claim on the protocol's assets.

The token

Standard ERC-20, 18 decimals, OpenZeppelin ERC20Burnable
Supply 1,000,000,000, fixed, minted in full at construction
Mint function none after construction
Pool a Uniswap v4 pool with native ETH as currency0 and the protocol token as currency1, bound to the Buyback once with setPool
Deployment separate from the stack. Deploy.s.sol binds an existing token when PAIDIN=<address> is set (it must expose burn(uint256)), and mints a fresh one to the deployer only when it is not

Nothing can add to the supply: the contract has no mint function after construction and no owner who could add one.

Where the ETH comes from

Every market's coin-side fees are split 50 / 30 / 20, and the buyback's 30% sits in the market's ledger as buybackCoin. Anyone may call sweepToBuyback(token, coin, amount) on the Treasury, which converts the pair coin to USDC and then to ETH through the WETH/USDC pool, and sends the ETH to the Buyback contract. The Treasury computes its own floor for that sale — the coin's index value at the feed, minus 2%, at the Chainlink ETH/USD price — and no caller can lower it. That is the only source of ETH the buyback has, and it applies to every market on the venue regardless of what it is paired with: a market quoted in INT, one quoted in DIEM and one quoted in NVDAc all feed the same stream.

See Fees for the split and the ledger, and Automation for who calls the sweep.

How the burn works

Buyback.execute(minPaidinOut) is called by the executor and does the whole thing in one call:

  1. It takes its entire ETH balance. There is no partial spend and no amount parameter, so nothing accumulates in the contract between executions.
  2. Inside its own unlockCallback it swaps that ETH for the protocol token in the bound v4 pool, settling the native currency with settle{value:}.
  3. It burns every token it holds by calling burn(uint256) on the token.

The burn is a real ERC20Burnable.burn, which lowers totalSupply. Tokens are not sent to a dead address, so the circulating number and the supply number agree.

execute is the one maintenance call on the venue that is not permissionless. It spends the protocol's own money on a pool whose price the protocol does not index, so it keeps a gate: a single executor address, set by the owner with setExecutor, supplies minPaidinOut from its own simulation of execute(0) immediately before the call. The executor can only buy and burn; it cannot withdraw ETH or PAIDIN, and it has no power over any other contract. setPool(PoolKey) binds the pool and can be called once, by the owner; after that poolSet is true and the pool cannot be changed.

What is on-chain

Read What it tells you
Buyback.totalBurned cumulative tokens burned
Buyback.totalEthSpent cumulative ETH spent buying it
PAIDIN.totalSupply() what is left of the billion
Executed events every buy and burn, with the ETH spent and the amount burned

What the token does not do

The protocol token carries no governance rights and no claim on anything the protocol holds. The vault's USDC and DIEM back the inference coins, and holders of those coins are the only people with a claim on them. The one mechanical link between the venue's activity and the token is the buy and the burn described above.