Protocol
The program
The pool is a Solana program. It holds the money, numbers every deed and is the only thing that can pay rent out.
Accounts
- Pool. The rules (rent per GB a year, the 3.00% floor, the 0.5% decline, the $0.10 minimum, three copies, a one-year term, a 30-day renewal window), the keys, the vaults and every running total.
- Vaults. Token accounts owned by the program itself: USDC, Kamino’s USDC collateral token and JitoSOL.
- Deal. One per deed, numbered from DEED-000001: who kept it, the CID, the size, what was paid and how it split, when the term ends, every renewal.
- Checkpoint. One per day: the Merkle root of that day’s copy checks, so any single check can be proven later.
- Fee account. The pool’s wrapped-SOL account where $DEED’s trading fees land before they are staked.
Keeping
The upload server measures the content itself (its root CID and its size, read from the CAR) and signs a quote for one wallet that expires in ten minutes. The keep instruction runs only if the instruction right before it is Solana’s native Ed25519 check of that exact quote, so nobody can pay for a kilobyte and keep a gigabyte, or use someone else’s quote.
price = max($0.10, year one + pool share)
year one = ⌈ bytes × rent per GB-year ÷ 10⁹ ⌉ (to the payout account)
pool share = ⌈ year one × 10,000 ÷ (floor + decline) ⌉ (to the vault)Where money can go
- Renewals, signed by the keeper, only inside a deed’s last 30 days and once per term, to the payout account that settles the providers’ bills.
- Kamino: idle dollars go to one Kamino USDC reserve, fixed once; the collateral and every redemption come back to the vault.
- Holder gigabytes: the vault pays year one of the first gigabyte for a wallet in the weekly $DEED snapshot.
- JitoSOL leaves only to the payout owner, and only through a rule change.
$DEED’s trading fees
The launch names the pool account as Meteora’s fee claimer, so no wallet can claim the tax. Anyone can ask the program to claim it (the keeper does every six hours): the curve’s fees, the curve’s surplus once it completes, and the fees of the graduated pool’s position, whose liquidity is locked to the pool for good. Each claim lands in the pool’s own SOL account, and the program checks that Meteora only ever added to the accounts it was handed. From there the SOL can go one way only: staked with Jito, minting JitoSOL into the pool’s vault.
claim_curve_fees, claim_surplus, claim_lp_fees
anyone may call; the pool account signs; lands in the pool
stake_fees
anyone may call; SOL → Jito → the pool's JitoSOL
bind_rent
the admin, once, after the launchRule changes
A new admin, keeper, quote key, payout account or price, and any JitoSOL release, is queued in public and can be applied only after a 48-hour wait. Pausing new keeps is immediate; renewals and repairs never pause.