> ## Documentation Index
> Fetch the complete documentation index at: https://docs.immutable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Passport

> Seamless authentication and embedded wallets for games

Passport is Immutable's identity and wallet solution. Players sign in with familiar accounts (Google, Apple, email) and get a blockchain wallet that works across all Immutable games—no extensions, no seed phrases, no friction.

<CardGroup cols={2}>
  <Card title="Authentication" icon="right-to-bracket" href="/docs/products/passport/authentication">
    Login flows, sessions, and identity management
  </Card>

  <Card title="Wallet" icon="wallet" href="/docs/products/passport/wallet">
    Transactions, signing, and blockchain interactions
  </Card>

  <Card title="Pre-Approved Transactions" icon="bolt" href="/docs/products/passport/pre-approved-transactions">
    Seamless in-game transactions for native clients
  </Card>

  <Card title="Architecture" icon="sitemap" href="/docs/products/passport/architecture">
    Security model and key management
  </Card>
</CardGroup>

## Why Passport?

<AccordionGroup>
  <Accordion title="Zero Friction Onboarding" icon="door-open">
    Players sign in with Google, Apple, or email—accounts they already have. No wallet downloads, no browser extensions, no seed phrases. The wallet is created automatically.
  </Accordion>

  <Accordion title="One Wallet Everywhere" icon="globe">
    Unlike other embedded wallets that create a new address per app, Passport gives users one wallet across all Immutable games. Assets, identity, and reputation stay unified.
  </Accordion>

  <Accordion title="Huge Existing Playerbase" icon="users">
    Gain instant access to millions of players who already have a Passport account.
  </Accordion>

  <Accordion title="Cross-Device Access" icon="mobile">
    Users log in on any device to access their wallet. No seed phrase backup or manual imports—just authenticate with the same social account.
  </Accordion>

  <Accordion title="Gaming Optimized" icon="gamepad">
    Pre-approved transactions let whitelisted game actions execute instantly without popups. Critical for real-time gameplay.
  </Accordion>

  <Accordion title="Non-Custodial Security" icon="shield-halved">
    Users own their keys. Immutable cannot move funds without user consent—we're a co-signer for security policies, not a custodian.
  </Accordion>
</AccordionGroup>

<Card title="Technical Comparison" icon="code" href="/docs/products/passport/architecture#comparing-wallet-solutions">
  See detailed comparison with MetaMask, Privy, and other wallet solutions →
</Card>

## Quick Start

Install the SDK and connect a user's wallet in one step:

```bash theme={null}
npm install @imtbl/wallet
```

```typescript theme={null}
import { connectWallet } from '@imtbl/wallet';

// Connect wallet (prompts login if needed)
const provider = await connectWallet();

// Get the user's wallet address
const accounts = await provider.request({ method: 'eth_requestAccounts' });
console.log('Wallet:', accounts[0]);
```

That's it. The `connectWallet` function handles authentication automatically—users see Passport's login screen if they're not already signed in.

<Warning>
  Some features—such as customizing the login experience, using Passport inside a game, or accessing user identity—require setting up an Auth client. See the [Authentication](/docs/products/passport/authentication) guide for details.
</Warning>

For Unity and Unreal integration, see the [Authentication](/docs/products/passport/authentication) guide.

## Chain Support

| Chain             | Network ID | Status                          |
| ----------------- | ---------- | ------------------------------- |
| Immutable Mainnet | 13371      | Full Support                    |
| Immutable Testnet | 13473      | Full Support                    |
| Ethereum Mainnet  | 1          | Limited support, ejections only |
| Other EVM Chains  | Various    | Support coming in future        |

<Warning>
  Do not send funds to your Passport address on unsupported chains.

  If you have sent funds on Ethereum mainnet, you can use the wallet functionality on [Immutable Play](https://play.immutable.com) to eject those funds to Immutable Chain.

  If you have sent funds to your Passport address on any other chain, your funds will be stuck indefinitely. Please raise a ticket with [Support](https://support.immutable.com), but this will not be able to be resolved until Passport supports all EVM chains.
</Warning>

## Account Management

### Deleting your Passport account

<Warning>
  **Important**: Once you delete your Passport account, the associated wallet and all assets within it will become **irrecoverable**. Be sure to transfer all assets you wish to keep before initiating the account deletion process.

  Note that this deletion process may take up to 30 days to complete. Please refer to our [privacy policy](https://www.immutable.com/privacy-policy) for further information.
</Warning>

#### Before deleting: Transfer your assets

To transfer your assets from Passport to another wallet:

<Steps>
  <Step title="Go to a marketplace">
    Visit a marketplace, such as [TokenTrove](https://tokentrove.com)
  </Step>

  <Step title="Provide destination wallet">
    Specify the destination wallet address where you'd like to transfer your assets
  </Step>

  <Step title="Transfer assets">
    Complete the transfer process for all assets you want to keep
  </Step>

  <Step title="Confirm transfer">
    Verify that all assets have been successfully transferred from your Passport wallet
  </Step>
</Steps>

#### How to delete your account

<Steps>
  <Step title="Go to Immutable Play">
    Visit [Immutable Play](https://play.immutable.com)
  </Step>

  <Step title="Open the Help widget">
    Click the Help widget in the bottom-left corner
  </Step>

  <Step title="Request account deletion">
    Start a chat with the AI agent and request Passport account deletion
  </Step>

  <Step title="Follow guided steps">
    Complete the guided steps provided by the support system
  </Step>
</Steps>

## Next Steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="right-to-bracket" href="/docs/products/passport/authentication">
    Implement login, logout, and session management
  </Card>

  <Card title="Wallet Operations" icon="wallet" href="/docs/products/passport/wallet">
    Send transactions and sign messages
  </Card>
</CardGroup>
