The platform token
Abyssal will have its own token. It will not be a governance token and it will not entitle you to a stream of payments. It will have one mechanism, and the mechanism is that supply only ever goes down.
There is no Abyssal token yet. Neither the token nor its buyback contract is deployed. When they are, their addresses are published in the box underneath — nowhere else.
Contract addresses on Ink Platform token:CONTRACT_ADDRESS_TBDBuyback contract:BUYBACK_ADDRESS_TBDUntil both lines above carry a verified address, treat any address you are handed as unverified — including one that looks official.
Two engines, one direction
Every token the protocol buys or receives is sent to the dead address. Not most of it, not a share held back as depth — all of it. Two flows feed that burn, and they are independent of each other.
1. The protocol's share of every trade on the platform. Every coin on Abyssal charges 1% per swap, and 30% of that — 0.3% of the trade — is the protocol's. Every coin, whatever its underlying, whichever way its own bet goes, buying or selling. That share is forwarded to the buyback contract, which spends it on the token and burns what it bought. Until the token and its buyback exist, the protocol's share simply accrues to the protocol treasury, which is immutable in the locker.
2. The token's own trading. If the token trades on a venue that pays its creator a fee on every swap, the protocol is that creator, and every claim is forwarded to the buyback contract and spent on the token. The token then pays for its own burn every time it changes hands.
The first flow scales with the platform. The second scales with the token. Neither depends on the other, and neither depends on anyone choosing to be generous.
The rules it launches under
Where the token launches is not decided yet. Whatever the venue, the token is held to the same rules as every coin on Abyssal: a fixed supply, no admin, no transfer tax, no pause, no upgrade, and its whole float in a pool no one can withdraw — an ordinary Uniswap pool on Ink, reachable by any router, bot or aggregator.
The buyback contract
The buying and the burning are done by one small contract, and its shape is the whole guarantee. It runs on Uniswap v4, which is deployed on Ink, with USDT0 as its stablecoin:
- Nothing can leave it except as the token, to the dead address. There is no withdraw, no rescue, no sweep — not for the owner, not for anyone. The only transfers it ever makes are a swap into the token and a transfer of the token to
0x…dEaD. - Funding is open. USDT0, ETH or the token itself can be sent by anyone; the locker's protocol share and any claimed creator fees land there. Every deposit is an event.
- Buying takes a floor. A buy spends the USDT0 or ETH held on the token through its Uniswap v4 pool (via the ETH/USDT0 pool when the asset spent is not the pool's quote) and reverts unless it received at least the amount the caller asked for. Because a floor a stranger picks is a floor a sandwich bot picks, executing a buy is limited to the protocol's executor keys. Burning tokens that are already there needs no judgement, so
burnHeldis open to everyone. - The owner can set two things: who may execute, and the pools. The token's pool key must contain the token and be quoted in ETH or USDT0, the bridge must be the ETH/USDT0 pool — the contract checks both — so a pool change can only send the same money through different pools, never somewhere else.
What the token is not
It carries no governance rights, no claim on protocol revenue you can exercise, and no redemption. The treasury's share reaches holders by removing supply from the market, not by paying anything out.
It is also not backed. Coins launched on Abyssal bond onto a leveraged tracker and acquire a floor; the platform token does not. Its value is what the market says it is, against a supply that only shrinks.
Reading it yourself
Nothing here asks to be taken on trust. The burn is a balance, not a claim, read on the chain:
TOKEN.balanceOf(0x…dEaD) → supply already burned
TOKEN.totalSupply() → what it is measured against
Buyback.totalBurned() → what the buyback itself has sent to the dead address
Buyback.totalUsdt0Spent() → USDT0 spent on buys, cumulative
Buyback.totalEthSpent() → ETH spent on buys, cumulative
Buyback.held() → USDT0, ETH and tokens waiting to be spent or burnedOnce the addresses above are set, the live figures are on the metrics page, read straight off the chain rather than from an indexer.
And the flow that funds the buying is public too, for any coin:
PermanentLockerV3.protocolFees(token) → the protocol's unclaimed share
PermanentLockerV3.CREATOR_SHARE_BPS() → 7000, so the protocol takes the other 3000claimProtocolFees pushes that share to a treasury address that is immutable in the locker. It cannot be redirected — not by us, not by anyone — and it is what feeds the buyback.
