FEATURES
Gasless transactions
Asking a stablecoin holder to buy a separate gas token before they can spend their stablecoin is the worst UX bottleneck in crypto payments. Tab removes it entirely.
The mechanism
- The buyer's wallet signs an EIP-712 typed-data message — a structured statement of "I authorize
amountoftokento go frommetorecipient, with this fee, before this deadline." No gas is spent at this point because nothing has been submitted. - The signed message is handed to a Tab relayer over HTTPS.
- The relayer calls
TabRouter.relayPaymentwith the signed message and the buyer's authorization. The relayer pays the gas in the chain's native token. - The router verifies the signature, checks the nonce, recomputes the fee, and pulls
amount + feefrom the buyer usingtransferFrom. Settlement is atomic.
Why the relayer can't cheat
The signature covers every field the contract cares about: recipient, amount, fee, deadline, nonce. If the relayer changes any of them before submission, the signature stops matching and the router reverts. The relayer's only power is "decide whether and when to submit."
What the buyer needs to hold
On every chain Tab ships to (Base, BSC, Solana, Ink, Celo), only the stablecoin they're spending — Tab's relayer covers the gas. On Tempo, gas sponsorship is native to the protocol; there isn't a separate gas token to hold in the first place.
Failure modes
- Expired deadline → router reverts, signature is dead.
- Replayed nonce → router reverts, signature is dead.
- Insufficient balance or allowance → router reverts; the signature is still good, the buyer just needs to fix their balance.
- Relayer offline → buyer can submit the same message themselves; nothing about the signature requires Tab to be the submitter.