How It Works
-
User signs off-chain. The user signs an EIP-712
TransferWithAuthorizationmessage specifying the token, amount, recipient, nonce, and time window. -
Facilitator relays on-chain. The facilitator submits the signed authorization to the Relayer contract’s
transferWithAuthorization()function and pays the gas. -
Contract executes transfer. The Relayer verifies the signature, checks nonce uniqueness and time constraints, then calls
transferFrom()on the token contract.
Contract Interface
The Relayer exposes three functions:EIP-712 Domain
The Relayer uses this EIP-712 domain for signature verification:chainId: 8453. The Relayer address is the same on all supported chains.
Security Features
Nonce-based replay protection. Each nonce (randombytes32) can only be used once per signer. The Relayer tracks used nonces and rejects duplicates.
Token whitelisting. Only approved tokens can be transferred through the Relayer. This prevents unauthorized token interactions.
Signature verification. The Relayer recovers the signer from the EIP-712 signature and verifies it matches the from address.
Contract Addresses
| Contract | Address | Network |
|---|---|---|
| B402 RelayerV3 | 0xE91b564EB8DFF305Ff8efA332f84c487b9da5171 | BNB Chain Mainnet |
| B402 RelayerV3 | 0xE91b564EB8DFF305Ff8efA332f84c487b9da5171 | Base Mainnet |
