The relay and your keys
How Mitoshi pays your network fees without being able to spend your money, and how one-tap keys stay inside their limits.
Fee sponsorship
Tempo transactions can carry a separate fee payer: the sender signs the call, and another account signs to pay its network fee in a stablecoin. Mitoshi's relay, at /api/relay on the web app, is that fee payer. It can't change your call — your signature covers it — and it can't spend from your account.
The relay sponsors a call only if a policy for that contract allows it. There is one policy per deployed area — the engine, both Trading Balances, the maker vault, Range, Parlay, Boost, the private desk, the duel arena, strategies, themes, launch, stocks, agents and keys — and CI fails if a deployed area has none. Money coming in is never sponsored: deposits, depositAndGrant, grants and supply are always paid by you.
The stocks policy pays for the two ways out of a held bridge credit — claimDeferred and sendDeferred, whose LayerZero fee is still yours — and never for a bridge-out. The arena's pays for a duel's cranks, refunds and claims, never a pot or a pick. The themes policy pays for a follow only as the pair [authorize the agent's key, follow].
Its gates, at deployment:
| Gate | Limit |
|---|---|
| Per sender | 120 sponsored calls an hour |
| Per device | 240 an hour, $5 of fees a day |
| Everyone together | $500 of fees a day |
| Breaker | Stops sponsoring when the fee payer's balance is under $20 |
Budgets are kept in Postgres; the last verdicts show on Status.
Access keys
Tempo accounts can authorize access keys with limits and scopes enforced by the chain (TIP-1011).
- The one-tap key may call the engine's
placeOrder,cancelOrders,cancelAll,redeemandwithdrawCredit, and approve pathUSD to the engine only, with $25 of new approvals a day for 24 hours. The limit counts each approval, so it bounds what the key can spend; selling what the account already holds on the engine needs no approval. Anything else it signs is refusedCallNotAllowed. - A backup passkey is an admin key on the account, added from Account & keys and confirmed with the first passkey. It signs in alone as the same account.
- A theme follow authorizes the theme agent's key, scoped to the theme router's
rebalanceand approvals to it, each token with its own daily limit.
Keys can't create contracts: Tempo refuses a contract creation signed by an access key. Every key is listed, with its remaining limit and its spends, in Account & keys, and revoking it is free.
Grants are not keys
Trading Balance grants (SESSION, EXECUTOR, STRATEGY, EXIT) are permissions inside the vault contract, not keys on your account. A SESSION grant's actor is still a key made on your device; an EXECUTOR, STRATEGY or EXIT grant's actor is Mitoshi's X relay, a runner or a keeper. See the Trading Balance.
Ops and the indexer
One ops process runs every keeper on a shared runtime, each with its own key and its own heartbeat, and indexes the chain into Postgres.
Deployed addresses
Every contract Mitoshi deployed on Tempo testnet and Base Sepolia, straight from the deployment fragments the app itself reads.