ICPay

About ICPay

Send ICP to a username, not a 63-character address

An Internet Computer address looks like or2yr-zj6k5-5gi2u-qo3tj-5pyn6-lbgwr-gqgpq-ubmff-ih4t4-yopxz-lqe. Nobody reads that aloud, nobody types it from memory, and one wrong character sends money somewhere unrecoverable. ICPay exists so you can send to @satoshi instead.

How it works

  1. 1

    Sign in

    Internet Identity authenticates you with a passkey or your Google account. No password is created and no seed phrase is written down, because ICPay never holds a key that could need one.

  2. 2

    Claim a username

    Your handle becomes your payment address. Five characters or more are free; shorter ones are sold because they are the scarce inventory.

  3. 3

    Get paid

    Anyone can open icpay.app/yourname and send you ICP without an account, and without ever typing a principal.

What you can do with it

  • Send and receive ICP by username, or by address when you need to.
  • Share a payment link that opens for anyone, including people who have never used the Internet Computer.
  • Deposit from any wallet or exchange — your account works with both the ICRC-1 and the legacy account-identifier format.
  • Withdraw to any ICP address at any time. Nothing locks your funds in.
  • Read your full history, with every transaction linked to its block on the public ledger.

What it is built on

The backend is a canister — a smart contract — running on the Internet Computer. It holds the balances, resolves usernames and calls the ICP ledger directly. There is no database and no server holding your money.

The interface is published to an asset canister so it can be loaded from the chain itself, and mirrored on a conventional host for speed. Both addresses are listed on the Transparency page, and the whole thing is open source.

The trade-off, stated plainly

ICPay is custodial. Your ICP sits in a subaccount of the ICPay canister rather than at your own principal, which is what makes paying a username possible — but it also means the canister's code is what authorises a spend.

Nothing is pooled: your subaccount is a deterministic function of your identity, so your balance is separately addressable and readable on the public ledger without asking ICPay anything. The Transparency page lists what the operator can and cannot do, and why.

Who builds it

ICPay is not an incorporated company. It is open-source software with no support desk and no account managers — questions, bugs and security reports go to GitHub issues, in public.

New here? The FAQ answers the questions people ask before their first deposit.