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:
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
| Route | Purpose |
|---|---|
| POST /api/auth/nonce | Issue a login message + nonce. |
| POST /api/auth/verify | Verify the signature and create the session. |
| GET /api/me | Account view: credits, funded $TESSERA, subscription, rewards. |
| POST /api/subscribe | Verify a USDG payment and activate access. |
| POST /api/fund | Verify a $TESSERA deposit and add credits. |
| POST /api/chat | Reserve, run the model, capture or release. Returns the completion. |
| POST /api/rewards/claim | Verify the claim fee and pay out accrued rewards in ETH. |
Errors
| Condition | Response |
|---|---|
| No session | 401 |
| No active subscription | 402 |
| Not enough credits | 402, nothing reserved |
| Reused tx hash or request id | 409 |
| Rail not open yet (pre-launch) | 503 |
| Model call failed | 502, hold released, not charged |