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

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