sato

a specter has returned to robinhood chain: the specter of code that runs without an operator

sato is an erc-20 on robinhood chain. lowercase name, lowercase symbol, eighteen decimals. it is an asset. it does not launch and graduate and migrate. there is no roadmap, no v2, no fork, no successor token. the contract that exists is the contract.

§ issuance

sato is an issuance mechanic. the contract is the issuer. there is no team treasury allocation, no premine, no foundation allocation, no insider round. the curve is the schedule; the smart contract enforces it.

mint deposits ether into the curve's reserve pool. burn redeems against that pool. the pool grows monotonically when net mints exceed net burns. holders' exits are backed by it. no party can withdraw from it.

what miners are to bitcoin, the contract is to sato. bitcoin's issuance is gated by hash power; sato's is gated by curve price. both convert outside-system effort into inside-system supply via a transparent, verifiable rule.

§ the pool is the reserve

every mint moves ether from the buyer's wallet into the contract. the reserve only moves out via burns priced by the inverse curve. there is no admin key, no emergency function, no upgrade path. ether deposited at mint time is ether available at burn time, less protocol fees that accumulate alongside it.

this distinguishes sato from synthetic-supply tokens. there is no token without a corresponding ether deposit on-chain. the reserve is the proof.

§ curve math and its limits

issuance happens through one contract, a uniswap v4 hook, set as the only minter at deployment and locked there. the formulas below are computed on-chain in PRBMath UD60x18 fixed-point arithmetic.

minted supply at cumulative ether e:
  q(e) = K · (1 − e^(−e/S))      K = 21,000,000   S = 50 ether

price per token at position e:
  p(e) = (S / K) · e^(e/S)

ether owed for burning amount b from current supply q:
  Δe(q, b) = S · ln((K − q + b) / (K − q))

a 0.3% protocol fee is taken on each side of every mint and every burn. it accrues to a treasury address fixed at deployment. it cannot be governed, voted on, or redirected.

three constraints keep the curve hard to game. a single mint is capped at 5 ether. burning in the same block as your last mint reverts, which makes flash-loan arbitrage uneconomic. and for the first hundred blocks after deployment, every mint receives a random multiplier between 0.9 and 1.1: a tax on the bots tuned for the exact deployment block, costing them ten percent on average. once that window closes, the contract is fully deterministic.

§ deprecation

mint price grows exponentially. each new mint costs more ether than the last. eventually the marginal cost of issuance exceeds the market price and minting halts on its own. burns continue to redeem against the reserve.

the curve is asymptotic; reachable supply is bounded around 20.5 million sato and declines slightly with each burn. anything plotted past ethCum ≈ 230 ether is theoretical and not reachable in practice.

the curve transitions from active issuance to dormancy. the reserve persists.

§ trading regimes

during bootstrap, the curve is the only path to sato. each new buyer mints against the contract; each seller burns against it. supply expansion and price discovery happen in lockstep.

once secondary AMM pools accumulate sufficient depth, secondary becomes the primary trading venue. the curve's role narrows: canonical issuer when minting is profitable, buyer of last resort when no one bids on secondary.

this is the mature regime. the curve continues to mint supply only when secondary exceeds curve marginal — exactly the condition under which mining is profitable in bitcoin. each successful mint advances the curve, raising the cost basis for future issuance. trading at curve quote stops being the dominant market mode.

§ routing and rails

the bonding curve is a uniswap v4 pool with a hook attached. the secondary sato/usdt market is a separate v4 pool with no hook. they share the same PoolManager but they are not the same pool. a trade routes through the curve only when its pool key is selected.

most exchanges that list sato will not trade though the bonding curve. they will instead route user orders through dex aggregators (1inch, 0x, paraswap, uniswap router), which themselves call into PoolManager. aggregators that support v4 with custom hooks can discover the curve pool and quote it; most aggregators will trade on normal pools.

burning is the same. burn means "swap sato → eth through the curve pool, which decrements totalSupply against the inverse curve and pays out from the hook's reserve." this is an action on a specific pool, not a privilege of this site. any caller — this site, an aggregator, a wallet, a contract — that swaps through the curve pool will burn. any caller that swaps through the secondary sato/usdt pool will not burn; it will trade against amm liquidity, leaving total supply and the curve reserve untouched.

what this site does is route directly. when you mint or burn here, the call goes to SatoSwapRouter which targets the curve pool unconditionally. no quote-shopping, no fallback to secondary. you pay the curve price exactly.

the burn quote at any moment is:

burn_price (eth per sato)
  = (S / (K − mintedFair))                  ← marginal inverse curve at mintedFair
  · (mintedFair / totalSupply)              ← fair-to-real supply correction
  · (1 − 0.003)                             ← protocol fee retained in reserve

the corresponding secondary quote is whatever the sato/usdt v4 pool's amm prints at the moment, less aggregator and pool fees. the two prices diverge because they answer different questions: the curve answers "what does the inverse formula owe at this position," the secondary answers "what are people willing to pay right now."

when curve burn beats secondary: when secondary bids are thin, depressed, or the pool is imbalanced toward sato, the curve's algorithmic bid can be the better exit. the curve always quotes; it doesn't run out of inventory until the reserve does.

when secondary beats curve burn: in the mature regime, when liquidity providers post tight quotes on the secondary pool, the secondary bid will usually beat the curve's. the prbmath drift between forward and inverse curve positions also widens the curve's effective spread, so the burn price is structurally below the mint price even when traded back to back. selling on secondary will usually be the better price.

how to choose: compare the "burn" quote in the trade panel to the live sato/usdt pool price shown next to it. if burn is higher, route through the curve; if secondary is higher, route through uniswap. the page links both.

we did not pre-mint. we hold no allocation, no pause function, no upgrade path. beyond the 0.3% fee that accrues to the treasury address fixed at deployment, there is nothing to extract from the hook other than by burning sato back through the inverse curve like anybody else. if everyone who shipped this disappeared tonight, the contract would run tomorrow against the same rules and the same prices. that is what we mean by "no operator." that is the only feature.

token:         —
hook:          —
manager:       —
genesis block: —

trade at sato. read it on-chain.


read on-chain, proof that the manifesto stored at construction matches the prose above.