INTRODUCTION
Core concepts
Six ideas show up everywhere in Tab. Skim this once and the rest of the docs will read faster.
Handle
A human-readable identifier such as @kofi or @cafe. Handles resolve to wallet addresses through an off-chain registry, not an on-chain contract — so claiming one costs nothing.
Invisible wallet
A keypair generated locally in the browser and encrypted with the user's six-digit PIN using AES-256-GCM. The encrypted blob can live in IndexedDB, in an encrypted Drive backup, or in the user's password manager — but never as plaintext on a Tab server.
Relayer
An EOA funded with native gas that forwards user-signed messages to the chain. Relayers can refuse a request and can lose a race, but they cannot alter what the user signed. If every Tab relayer went offline tomorrow, users could still submit their own payments.
EIP-712 intent
The buyer's authorization. It binds the recipient, the amount, the fee, a deadline, and a nonce into a typed-data message and signs it with the wallet's key. The router verifies the signature on-chain and rejects anything that doesn't match.
Treasury
The address that collects Tab's 1% protocol fee. It's set in the router's constructor and is the only piece of router state an owner can rotate.
Executor
A trusted off-chain signer that can call executeP2P and executeGrant on TabBotRouter. Used for social-payment flows where the user pre-approves a spending allowance instead of signing per transaction.