An organization gives an agent an envelope: which assets, which destinations, how much per transaction, how much per day, and a ceiling under which nobody needs to be asked. Everything the agent proposes is judged against it before a key is touched, and the process that holds the key checks the judgement again.
This runs on public testnets only. No flag reaches a mainnet. In production the signing key is unset and every signing route refuses until an operator sets one. The plane executes through Tether’s open-source Wallet Development Kit; that is an integration of a library, not a partnership. Every number on this page comes from a demo a test holds, not from production.
An agent describes what it wants to do — kind, chain, asset, amount, destination — and the plane answers with one of three words. Every answer is recorded with its reason, including the refusals.
Inside the envelope and under its auto-approve ceiling. The plane signs a SpendAuthorization — a bounded, expiring, single-use permission — and the agent takes it to the signer.
Inside the envelope, above the ceiling — or the envelope says always ask. A Decision is opened in the organization’s log, the budget is reserved, and the agent waits for a human. Rejection releases the reservation.
Outside the envelope. Refused with a code before any human is asked and before any key is touched: NO_ENVELOPE, KIND_NOT_PERMITTED, ASSET_NOT_PERMITTED, DESTINATION_NOT_PERMITTED, PER_TX_CAP, DAILY_CAP.
An authorization says what may happen. The call says what is happening. The signer verifies the plane’s signature, refuses an authorization it has already executed, re-derives the operation from the actual transaction rather than from the authorization, and refuses any difference — a different payee, a different asset, a larger amount — with the code MISMATCH. It holds a seed and the plane’s public key. It never holds the plane’s private key, so a compromised signer can execute only what the plane already signed, and a compromised plane can execute nothing at all.
The demo week runs four agents against one organization’s envelopes and pins its closing frame in a test, so a change to any rule that alters what the week produces fails the build. These are the demo’s numbers, not production’s.
The record of a spend, the extractors that derive it from a real call, the client that asks the plane, and the verifiers a stranger runs offline.
The one process that holds a seed. Verifies the plane’s signature, refuses a replay, re-derives the operation from the call, refuses any mismatch, then executes through WDK.
The agent object: identity, authority, wallet, memory and partners behind one interface, with one event per verb.
Auditing every published @tetherto/* package before building this plane found two things missing that any team on WDK would hit. Both are now standalone, Apache-2.0 packages — not part of this monorepo, published under their own names.
Grades a proposed spend against a per-agent envelope before it signs. The same three-verdict shape this page describes, extracted so any team building on WDK can use it without building their own.
A reference staking primitive for a gap the WDK audit found and named: no first-party staking module exists. A lock earmarks a balance without moving it; only yield is a real write.
The layer between an agent’s proposal to spend and the signer that holds the key. A human sets an envelope per agent; every proposed spend is allowed, escalated to a human decision, or denied with a code before anything is signed; the signer re-derives what the call does and refuses any difference from what was authorized.
On public testnets — Base, Ethereum, Arbitrum and OP Sepolia, TRON Nile and Shasta. Not on a mainnet. There is no environment variable, flag or option that widens the list; it is a table in the signer, changed only by a pull request after a pilot gate.
No. The plane executes through Tether’s open-source Wallet Development Kit, which anyone can install. Nothing on this property should be read as a partnership, an endorsement, or backing.
A receipt is signed by the plane’s key, whose public half is published in the plane’s identity document. The verifier in @flashyos/wallet-wdk checks it offline; an organization’s whole export is a hash chain with a signed root, and the weekly numbers are re-derived from the export rather than read off a page.
The gold rail is one book and a public chain is another. The concept pages say how the two are kept apart and what one rule runs in front of both.