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.