PATINAAge over size
Open the pot
Live on 3 chains One address everywhere No owner · no admin

Value that
accrues with age.

PATINA is a time-weighted staking pot. Stake native token and every second you stay staked earns points — stake-seconds, not just balance. A 3% fee on every deposit feeds a shared pot, paid out continuously, pro-rata by points, to whoever claims. A dollar staked on day one can out-earn a hundred staked on day thirty.

Start staking See how it works No sign-up. Unstake any time.
STAKE-SECONDS small · early large · late POT PAYS PRO-RATA BY POINTS
Why it's simple to trust

Your principal, your call

Unstake any amount of your own principal, any time. Only the 3% deposit fee ever leaves your control — and it feeds the shared pot, never anyone's pocket but the stakers'.

Points are stake-seconds

Earnings are amount × time, not amount alone. A small early stake accrues points continuously and can out-earn a much larger stake that arrives late.

No custody, no admin

No owner, no admin key, no upgrade path. Arithmetic decides every payout — nobody chooses a winner, nobody can move the pot but its stakers.

Mechanism

Three actions, no intermediary.

01Stake anything. A 3% fee splits off into the shared pot; the rest becomes your principal and starts earning points immediately.
02Points accrue every second. Points equal your staked amount times time elapsed — stake-seconds. They keep growing for as long as you stay staked.
03Claim your share, any time. The pot pays out continuously, pro-rata by points, to whoever calls claim. Unstake your principal whenever you like — your points, and their claim on future fees, are yours forever.
The whole idea, in one function

Nothing hidden in the accounting.

Every deposit takes the same fixed cut. Every claim pays exactly your pro-rata share of accumulated fees — no lottery, no randomness, no picked winner.

// on every stake — 3% peels off into the shared pot uint256 fee = (msg.value * FEE_BPS) / 10_000; uint256 net = msg.value - fee; u.staked += net; pot += fee;
One pot per chain
BotChain
CHAIN 677 · BOT
Base
CHAIN 8453 · ETH
BNB Chain
CHAIN 56 · BNB
Contract address — identical on every chain
computed via CREATE2 — see /app

Deployed through the standard CREATE2 proxy from bytecode with no constructor arguments, so your browser derives this address before anyone has deployed anything. If a chain has no pot yet, the app shows a Deploy button; the first person to press it casts the one everyone afterwards shares.