Arc Perp
Wallet login not configured

The platform token

Arc Perp 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 platform token yet, and its name is not chosen. Neither the token nor its buyback contract is deployed on Arc. When they are, their addresses are published in the box underneath — nowhere else.

Contract addresses on Arc Platform token: CONTRACT_ADDRESS_TBD Buyback contract: BUYBACK_ADDRESS_TBD Until 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 Arc Perp 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. Once the token exists, the dollar side of that share — USDC, or a tracker redeemed for USDC at its vault — is forwarded to the buyback contract, which spends it on the token and burns what it bought. Until then, 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: fees paid in the token are burned as they are, fees paid in USDC are 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 Arc Perp: 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 Arc, quoted in USDC, 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 buys through Uniswap V4, which is deployed on Arc, and it deals in exactly two tokens: USDC and the platform token.

  • 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 USDC paid to Uniswap's PoolManager to settle a buy, and the token sent to 0x…dEaD.
  • Funding is open. Anyone can send it USDC or the token, with a plain transfer or through fund, which also logs the deposit; the locker's protocol share and any claimed creator fees land there. It accepts no native value: on Arc the native balance is USDC too, and the contract takes dollars through one door only, the USDC token. Anything other than USDC or the token sent to it can never leave, so send nothing else.
  • Buying takes a floor. buyAndBurn(usdcIn, minLeverOut, deadline) spends USDC held by the contract on the token, in the token's own USDC pool, and reverts unless that buy returned at least the floor the caller set, or if the deadline has passed. 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 burnHeld is open to everyone.
  • The owner can set three things: who may execute, the pool, and the data handed to the pool's hook. The pool must pair exactly the token with the USDC token — the contract checks it, and refuses a pool keyed on Arc's native currency — so a pool change can only send the same dollars through a different token/USDC pool, never somewhere else.

The contract's code calls the token lever in its function names (minLeverOut, leverHeld). That is an internal identifier inherited from an earlier deployment, not the name of this token.


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 Arc Perp 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.deadBalance()           → the token at the dead address, whoever sent it
Buyback.totalBurned()           → what the buyback itself has sent to the dead address
Buyback.totalUsdcSpent()        → USDC spent on buys, cumulative
Buyback.held()                  → (usdcHeld, leverHeld): USDC and tokens waiting to be spent or burned
Buyback.leverKey()              → the pool it buys through

Every buy emits BoughtAndBurned(executor, usdcIn, leverBurned) and every open burn Burned(caller, leverBurned).

Once 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, per token
PermanentLockerV3.CREATOR_SHARE_BPS()    → 7000, so the protocol takes the other 3000

claimProtocolFees 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.