ICPay

Frequently asked questions

What people ask before their first deposit

What is ICPay?

ICPay is an open-source wallet for the Internet Computer that lets you send and receive ICP using a username instead of a 63-character principal address. The balances are held by a canister — a smart contract — running on the Internet Computer itself.

Do I need a seed phrase?

No. You sign in with Internet Identity, using a passkey on your device or your Google account. ICPay never asks for, receives or stores a password, private key or seed phrase, so there is nothing to write down and nothing that can be phished from you.

Is ICPay free?

Sending, receiving and withdrawing cost ICPay nothing. The Internet Computer ledger charges its own fee of 0.0001 ICP per transfer, deducted from the sender; that goes to the ledger, not to ICPay. Usernames of five characters or more are free to claim.

How much does a username cost?

Five characters or more are free. Shorter handles are sold because they are the scarce inventory: 1 to 3 characters cost 10 ICP, 4 characters cost 5 ICP, 5 characters cost 2 ICP, and 6 to 8 characters cost 1 ICP. Payments go to a treasury address fixed in the canister source and are final.

Can I change my username later?

You can claim a new one, but your old handle is not released. Every handle you have ever held keeps pointing at your account, so anyone who saved an old handle as your payment address still reaches you rather than a stranger who claimed it afterwards.

Is ICPay custodial or self-custodial?

It is custodial. Your ICP sits in a subaccount of the ICPay canister derived from your principal, not at your own principal, which is what makes paying a username possible. Nothing is pooled — your subaccount address is a deterministic function of your identity, so your balance is separately readable on the public ledger.

Can anyone else move my funds?

No call in the canister's interface can do it. Every transfer and withdrawal derives its source account from the caller's own principal, and there is no parameter for a source account, so no request can be constructed that spends from someone else's balance. The controller can upgrade the canister's code, which is the trust you are extending; that is stated on the Transparency page.

What happens if I lose my Internet Identity?

Your ICPay balance becomes unreachable, permanently. No ICPay recovery phrase exists and none can be created, because ICPay never holds a key that could reconstruct your identity. Set up Internet Identity's own recovery methods before you deposit anything.

Can I send ICP to someone who does not use ICPay?

Yes. Withdraw to any ICP address and it settles on the ledger like any other transfer. Equally, anyone can pay you at your public link without having an ICPay account.

Can I deposit from an exchange?

Yes. Your deposit account is shown in both formats: the ICRC-1 address that Internet Computer wallets use, and the legacy account identifier that most exchanges require. Both name the same account, so use whichever the sender accepts.

Can a transfer be reversed?

No. A confirmed ledger transfer cannot be reversed, cancelled or refunded by anyone, including whoever controls the canister. There is no chargeback and no dispute process, so check the recipient before confirming.

Is my transaction history public?

Yes. Transfers settle on the public ICP ledger, and usernames, display names and transfer memos are stored permanently on-chain where anyone can read them. There is no delete endpoint, for you or for the operator. Do not put anything in a memo you would not publish.

Which wallets can I sign in with?

Internet Identity is the primary method and also covers passkeys and Google sign-in. NFID is offered as an alternative, but it is a separate identity system: it creates a different principal and therefore a different ICPay wallet with its own balance.

Is ICPay open source?

Yes. The full source of both the canister and this interface is public on GitHub, and the canister's live module hash can be checked against it on the ICP Dashboard.

Still stuck? Open an issue on GitHub, or read the Transparency page for the addresses behind every claim here.