Prerequisites
Before using pre-approved transactions, ensure:- User Authentication: User must be authenticated with Passport
- Wallet Initialization: Call
ConnectEvm()to initialize the zkEVM wallet provider - Native Client: Using Unity or Unreal SDK (not TypeScript/web)
- Contracts Linked: Your contracts must be linked in Immutable Hub
How It Works
Pre-approved transactions eliminate confirmation popups for in-game blockchain actions:- One-time consent - Users approve your game once for seamless transactions
- Automatic execution - All future transactions to linked contracts execute instantly
- Gas-free - Immutable sponsors transaction fees automatically
Supported Transactions
All transactions to linked contracts (ERC-20, ERC-721, ERC-1155) are automatically pre-approved:- Transfers, mints, burns
- Custom contract interactions (crafting, trading, etc.)
Enabling Pre-Approved Transactions
Step 1: Link Your Contracts in Hub
Your contracts must be linked in Immutable Hub to enable pre-approved transactions.Link Contracts via Operator Allowlist
Complete guide to linking contracts, verification process, and API details
Step 2: Create a Native Passport Client
Pre-approved transactions require a Native (not Web) Passport client.Create Passport Client
Step-by-step guide to creating a Passport client in Hub