Skip to main content
Pre-approved transactions allow players to execute in-game blockchain transactions—such as crafting, trading, and transferring assets—without disruptive confirmation popups. This feature keeps players immersed in gameplay while maintaining the security benefits of blockchain ownership.
Pre-approved transactions are only available in native clients (Unity and Unreal games on mobile and desktop). Web transactions currently always require explicit confirmation popups.

Prerequisites

Before using pre-approved transactions, ensure:
  1. User Authentication: User must be authenticated with Passport
  2. Wallet Initialization: Call ConnectEvm() to initialize the zkEVM wallet provider
  3. Native Client: Using Unity or Unreal SDK (not TypeScript/web)
  4. Contracts Linked: Your contracts must be linked in Immutable Hub

How It Works

Pre-approved transactions eliminate confirmation popups for in-game blockchain actions:
  1. One-time consent - Users approve your game once for seamless transactions
  2. Automatic execution - All future transactions to linked contracts execute instantly
  3. Gas-free - Immutable sponsors transaction fees automatically
This keeps players immersed in gameplay while maintaining blockchain security.

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.)
Not supported: Native IMX transfers require user confirmation.

Enabling Pre-Approved Transactions

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
Linked contracts are automatically eligible for pre-approved transactions and gas sponsorship.

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
Choose “Native” application type when creating your client. Pre-approved transactions will be available for all native clients in your organization.

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