Token-gated AI on Robinhood Chain
Pay for AI with $TESSERA. Get paid to hold it.
Connect MetaMask, pay $5 in $TESSERA to start, then fund your account with $TESSERA for credits. Every request is metered against your credits. Fund your account and you earn a share of platform fees, paid in ETH.
See it work
This is the real chat window.
Not a mockup. It’s scripted so it costs nothing to show you, but it’s the exact interface, styling, and markdown rendering you get after you sign in.
A short coding question typically costs a fraction of a cent to a few cents. Light usage costs a lot less than a flat monthly plan; you’d need to send a lot of requests before per-request spend catches up to $20.
Why hold $TESSERA
Get rewarded for your account size.
Platform fees flow into a reward pool. Fund your account with $TESSERA and you earn a continuous share of that pool, proportional to your funded balance against total supply. Claim to your wallet in ETH whenever it’s worth it.
Your daily reward, exactly
pool × APY/365 × (your funded $TESSERA÷total supply)
The same formula that runs in the reward pool, written to an append-only ledger every time it pays out.
Real yield
From usage fees, not emissions
Scales with you
More funded, bigger slice
Paid in ETH
Claim to MetaMask, any time
Getting started
Four steps, all in your browser.
MetaMask is the only thing you install. Everything settles on Robinhood Chain.
Sign in
Connect MetaMask and sign a message. Free, no transaction.
Subscribe
Pay the subscription in $TESSERA, priced live. One payment unlocks access for the term.
Fund with $TESSERA
Send $TESSERA to your account. It converts to credits at the live price and sets your reward weight. Funded $TESSERA can't be withdrawn.
Use it
Send prompts. Credits are metered per call. Watch rewards accrue in real time.
How it holds up
Guarantees, not vibes.
Every property below is enforced in code and written to an append-only audit trail.
Hold, charge, capture
The credit spend is a hold. A failed model call refunds it in full. You are only charged for completions you receive.
Per-account isolation
A separate credit ledger and reward accrual per wallet. One account's balance is never another's.
Replay defense
Every request carries an idempotency key. A duplicate is rejected before any credit moves.
Exact metering
The charge is the real cost of the call times a fixed margin. Nothing is estimated after the fact.
Signed sign-in
Login is a wallet signature over a one-time nonce. No passwords, no shared secrets.
Append-only audit
Reserved, completed, captured, released, funded, claimed. Every transition is written once and never mutated.
export async function reserve(
userId: string,
requestId: string,
heldUsd: number,
model: string,
) {
await sql.begin(async (tx) => {
const ins = await tx`
insert into usage_ledger
(request_id, user_id, held_usd, status, model)
values
(${requestId}, ${userId}, ${heldUsd}, 'reserved', ${model})
on conflict (request_id) do nothing
returning request_id
`;
if (ins.length === 0) {
throw new ReplayError("duplicate request");
}
const dec = await tx`
update accounts
set credits_usd = credits_usd - ${heldUsd}
where user_id = ${userId}
and credits_usd >= ${heldUsd}
returning credits_usd
`;
if (dec.length === 0) {
throw new InsufficientCreditsError("insufficient credits");
}
});
}The actual hold logic behind every request. One transaction, atomic: a repeated request id or a short balance and neither side effect applies.
Get started
Open Tessera.
Connect MetaMask, subscribe and fund with $TESSERA, and start earning.


Tessera