Documentation

How Tessera is put together.

Tessera runs on Robinhood Chain. You need MetaMask, some USDG for the subscription, and $TESSERA for credits.

Accounts

Your identity is your wallet address. Sign-in is a signature over a one-time nonce; the session is a signed cookie lasting 30 days. There is no per-user deposit wallet; you pay directly from MetaMask to the platform’s addresses.

Subscription

Access is gated by an active subscription. You pay the price in USDG on-chain to the creator address; Tessera reads the transaction, verifies the amount and the payer, records the hash once, and sets an expiry. A reused hash returns 409. Subscription revenue is kept by the platform.

Credits

Credits are spent per call and denominated in USD. You add them by sending $TESSERA to the collection wallet; Tessera verifies the transfer, values it at the current pool price, and credits the USD equivalent. It also records the $TESSERA amount, which is your weight in the rewards split. Funded $TESSERA cannot be withdrawn.

Rewards

Platform fees accumulate in a reward pool. The operator sets an APY (default 10%), viewable per-year or per-day. Each account’s continuous accrual is:

accrual
daily_pool = pool_balance * APY / 365
your_daily = daily_pool * (your_funded_TESSERA / total_supply)

Claim once your accrued total clears the minimum (default $1). You pay a small claim fee in USDG; the payout is sent to your wallet in ETH.

Chat & metering

Each prompt runs reserve → complete → capture. Reserve holds the estimated cost times the margin and opens a ledger row keyed by a request id. Capture charges the real cost times the margin and refunds the rest; a divergence over 10% is flagged. Any failure releases the whole hold, so a failed call is never charged.

HTTP API

RoutePurpose
POST /api/auth/nonceIssue a login message + nonce.
POST /api/auth/verifyVerify the signature and create the session.
GET /api/meAccount view: credits, funded $TESSERA, subscription, rewards.
POST /api/subscribeVerify a USDG payment and activate access.
POST /api/fundVerify a $TESSERA deposit and add credits.
POST /api/chatReserve, run the model, capture or release. Returns the completion.
POST /api/rewards/claimVerify the claim fee and pay out accrued rewards in ETH.

Errors

ConditionResponse
No session401
No active subscription402
Not enough credits402, nothing reserved
Reused tx hash or request id409
Rail not open yet (pre-launch)503
Model call failed502, hold released, not charged

Get started

Open the app.