IC Phantom

Secure crypto wallet for ICP, SOL, DOGE, BTC, and ckBTC

One mission control for Internet Identity and Phantom.

Sign in with Internet Identity to use the same wallet accounts in this UI and through the official ICP MCP connector. Connect Phantom only when you want the optional Phantom-managed browser mode; Phantom linking is not required for AI access.

ICP + SOL + DOGE + BTC/ckBTC Internet Identity Phantom Human + AI through II
II Session Offline
Phantom Offline

Active wallet: no session connected

Identity Rail

Internet Identity

Sign in with Internet Identity to unlock the IC Phantom wallet profile managed by II.

Wallet Rail

Phantom

Connect Phantom to unlock the IC Phantom wallet profile managed by your Solana key.

On mobile, the Phantom flow opens this dapp inside Phantom's in-app browser.

AI Agent Access Internet Identity is all an ICP MCP agent needs Recommended

The official connector receives a time-limited delegation for this app's Internet Identity principal. That lets an authorized agent inspect accounts and use the same guarded transaction methods as the II browser session. It does not need access to Phantom or a Phantom signature.

  1. In Internet Identity settings, enable AI access and trust the official production connector.
  2. Add https://mcp.internetcomputer.org/mcp to your MCP-capable AI app. Choose Actions and questions for wallet discovery, live balances, minting, or transactions. Questions-only is limited to query-only information in this app.
  3. Ask the agent to open this production app URL and follow /llms.txt. Before using wallet data, it must match its app principal with backend whoami and the account manifest.
Production app https://hbxmr-wyaaa-aaaap-an3ia-cai.icp.net/
Backend canister f4kcz-fqaaa-aaaap-an3hq-cai
Advanced Account Option Optional Phantom ↔ Internet Identity linking Not required for ICP MCP

Use a Phantom-derived account set from II

Sign in with Internet Identity to inspect the optional link state.

Leave this unlinked unless you intentionally want future II browser and MCP calls to switch from the II-derived account set to the Phantom-derived account set. Linking requires a Phantom signature. Linking or unlinking never moves funds, so record both manifests and reconcile every balance before changing it.

Mission Control

Operate with the currently authenticated wallet session

Sign in with Internet Identity or connect Phantom to load your ICP, SOL, DOGE, BTC, and ckBTC wallet rails.

No active wallet session. Sign in with Internet Identity or connect Phantom to continue.

Account manifest & recipient safety

Account manifest: waiting for authentication

Each send verifies address syntax, network, and checksum, then shows a short fingerprint. A valid address is not proof of ownership—compare that fingerprint with the recipient through a separate trusted channel.

ICP rail

Deposit and transfer ICP

ICP deposit address: waiting for authentication

ICP Balance: --

Send ICP

SOL rail

Deposit and transfer SOL

SOL deposit address: waiting for authentication

SOL Balance: --

Send SOL

DOGE rail

Deposit and transfer DOGE

DOGE deposit address: waiting for authentication

DOGE Balance: --

Send DOGE

DOGE sends use a provider-backed mainnet broadcast flow. Exact miner fees are selected at submission time.

BTC / ckBTC rail

Deposit, hold, convert, and transfer

How BTC and ckBTC deposits work

Choose the address that matches the asset you are sending

Native Bitcoin network BTC address → confirmed BTC → ckBTC

Send native BTC only to the BTC deposit address. Then press Check BTC deposit: the official minter reports pending confirmations or mints ckBTC immediately when the deposit is ready.

Internet Computer / ICRC-1 Existing ckBTC → ckBTC ICRC account

Send existing ckBTC only to the displayed ckBTC ICRC account, or use its separate owner and 32-byte subaccount fields. A ckBTC transfer does not use the Bitcoin address.

  1. Deposit native BTC: copy the Bitcoin address (starts with bc1, 1, or 3), send BTC, then check once after the transaction appears. The app does not poll in the background, which protects canister cycles.
  2. Deposit existing ckBTC: copy the canonical ICRC account principal-checksum.subaccount (not principal:hex). Use the separate owner and subaccount values only when the sending wallet provides separate fields. Ledger fee: 10 sats.
  3. Send ckBTC on IC: enter a destination principal or canonical ICRC account and an amount. This stays as ckBTC on the Internet Computer.
  4. Withdraw ckBTC to native BTC: enter a verified Bitcoin mainnet address and at least 0.0005 BTC / 50,000 sats. The official minter burns ckBTC and submits a Bitcoin transaction; arrival still requires Bitcoin confirmations.

Never send native BTC to the ICRC account, and never send ckBTC to the Bitcoin address. AI agents use the same II-derived account manifest as this UI and should read these values from get_account_manifest_ii rather than deriving them independently.

BTC deposit address: waiting for authentication

ckBTC ICRC account: waiting for authentication

Advanced ICRC owner & subaccount

ckBTC owner principal: waiting for authentication

ckBTC subaccount (hex): waiting for authentication

ckBTC Balance: --

ckBTC is the spendable balance after minting. Native BTC deposit progress is checked only on request.

BTC deposit not checked Send BTC to the address above, then check once after the transaction appears.
Send ckBTC on the Internet Computer
Withdraw ckBTC to native BTC

Network Pulse

Latest transaction

No transactions yet.

Command Feed

System notices

Ready.