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
Step 3: Implementation
Pre-approval happens automatically when you use standard Passport transaction methods with linked contracts. See Unity SDK or Unreal SDK for implementation details.Next Steps
Operator Allowlist
Link and verify your contracts in Immutable Hub
Unity SDK
Get started with Unity SDK integration
Unreal SDK
Get started with Unreal SDK integration