TenTen Capital · Permanent Reserve · back to the terminal

Permanent Reserve

A contract with no exit · TEN goes in and stays · Robinhood Chain
RESERVE 0x4fC94FD08Ff44abde7452BB109f1C5ab937ED4e3

TEN in the reserve
--
-- · --% of supply
Bought with rewards
--
-- NET spent · -- conversions
NET waiting
--
-- · converts into TEN on the next round
The vault · live from the chain
TEN locked forever
--
-- at the current price
--% of supplynext 1% = 10,000,000 TEN
Balance of the contract, read with reserve(). The number can only go up: there is no function that moves TEN out.
Bought with NET rewards--
NET spent buying TEN--
Conversions run--
NET waiting to be converted--
Donated by the community--
Received NET from PAR rounds--
Received TEN from PAR rounds--
Payouts to the reserve--

READING reading Robinhood Chain…

Growth · where the TEN came from
RESERVE GROWTH · STACKED · CUMULATIVE TENREADING…

Stacked: each layer sits on the one below, the top line is the whole reserve. Donated = TEN sent to the contract by the community (initial reserve included). Earned = TEN paid by PAR rounds. Swapped = TEN bought with the NET rewards. Click a legend entry to hide a layer.

How it works

The reserve is a smart contract that holds TEN like a burn address does, with one difference: it stays a holder, so it keeps receiving the rewards PAR pays every round. Those rewards do not leave either.

01
TEN goes inThe initial reserve, the TEN paid by PAR rounds, and any donation. A normal transfer to the contract address is enough.
02
NET becomes TENThe NET received as rewards is swapped for TEN in TEN's own pool on PAR, and the TEN lands back in the contract. That is the only trip NET can make.
03
Nothing comes outNo owner, no withdraw, no upgrade, no self-destruct. The code is public and verified on Blockscout: the exit does not exist.

The only role is the operator. Its only power is timing: it decides when to convert the NET and sets a minimum amount of TEN to accept, so the swap cannot be sandwiched. It cannot move anything anywhere.

×Sell or transfer the TEN held: no function exists
×Approve someone to spend the TEN: no function exists
×Change the code, pause it, destroy it: no function exists
×Send NET anywhere but into the TEN pool, with TEN returned to the reserve: no function exists
Anyone can donate TEN, at any time, with a plain transfer
Every number on this page is read live from the contract, nothing is stored on this site
History · conversions and donations
RESERVE.LOGREADING…

Conversions · NET → TEN

  1. reading…

Donations and payouts · TEN into the reserve

  1. reading…
Source: Robinhood Chain event log · full log on Blockscout ↗READING
Contract · read it yourself
Reserve contract0x4fC9…D4e3 ↗
TEN token0xc4F0…1c7B ↗
Operator (timing only)--
ChainRobinhood Chain · id 4663

Every function the contract has. There are no others.

process(amountIn, minTenOut)   operator only · NET held here → TEN, kept here
donate(amount)                 anyone · moves TEN from the caller into the reserve
setOperator(next)              operator only · hands the timing role to another address

reserve()  pendingNet()  totalBought()  totalNetSpent()  totalDonated()  rounds()
ten()  net()  router()  factory()  operator()                             read only

Not in the code: owner, withdraw, transfer, approve, rescue, sweep, upgrade, selfdestruct. The swap pool is read from the PAR factory on every call, never chosen by the caller, and the recipient of every swap is the contract itself.