Complete reference of all Passkallet BaaS API endpoints.
API Endpoints
Base URL
https://gateway.dev.passkallet.com/sepolia/api/v1/passkallet/baasAll paths below are relative to this base URL. Every request requires the x-api-key header.
Wallets
| Method | Path | Scope | Description |
|---|---|---|---|
| POST | /wallets | wallet:create | Create a wallet |
| GET | /wallets | wallet:read | List all wallets |
| GET | /wallets/:address/balance | wallet:read | Get wallet native balance |
| GET | /wallets/:address/user | wallet:read | Get external user info for wallet |
| GET | /wallets/:address/signer | wallet:read | The owner passkey coordinates, read from the chain |
| GET | /wallets/:address/token-balances | wallet:read | Every ERC-20 the wallet holds |
| GET | /wallets/:address/nfts | wallet:read | Collectibles the wallet holds |
| GET | /wallets/:address/history | wallet:read | Past transactions for the wallet |
| GET | /wallets/:address/backup-address | wallet:read | The registered backup address, if any |
| POST | /wallets/request-email-verification | wallet:create | Email the user a code — required before creating |
| GET | /wallets/pending-verification | wallet:create | Whether a code request is still outstanding |
| POST | /wallets/verify-assertion | wallet:read | Prove a user controls the wallet (sign-in) |
| GET | /users/wallet-status | wallet:read | Whether an external user already has a wallet |
Tokens
| Method | Path | Scope | Description |
|---|---|---|---|
| POST | /tokens/erc20/transfer | token:transfer | Prepare ERC-20 transfer tx object |
| POST | /tokens/erc20/approve | token:approve | Prepare ERC-20 approve tx object |
| POST | /tokens/native/transfer | token:transfer | Prepare a send of the network coin (value rides the tx) |
| GET | /tokens/allowed | domain:read | List allowed tokens |
| POST | /tokens/resolve | wallet:read | Resolve token address on-chain |
Transactions
| Method | Path | Scope | Description |
|---|---|---|---|
| GET | /transactions | transaction:read | List transactions |
| POST | /transactions/execute | transaction:execute | Execute signed transaction |
Passkeys
| Method | Path | Scope | Description |
|---|---|---|---|
| GET | /passkeys?walletAddress=0x... | passkey:manage | List on-chain passkeys for wallet |
| GET | /wallets/:address/recovery-passkeys | passkey:manage | List the wallet's registered spares |
| POST | /wallets/recovery-passkey/prepare-add | passkey:manage | Prepare registering a spare device |
| POST | /wallets/recovery-passkey/prepare-remove | passkey:manage | Prepare revoking a spare |
| POST | /wallets/recovery-passkey/prepare-replace | passkey:manage | Prepare swapping one spare for another |
| POST | /wallets/prepare-recover | passkey:manage | Prepare handing the wallet to a new owner key |
| POST | /wallets/execute-recover | passkey:manage | Relay the rotation, signed by a recovery passkey |
Domains
| Method | Path | Scope | Description |
|---|---|---|---|
| POST | /domains/register | domain:manage | Register a domain your wallets will live under |
| GET | /domains/my-domains | domain:read | Domains this organization has registered |
| POST | /domains/link-wallet | domain:manage | Attach an existing wallet to one of your domains |
| GET | /domains/info?origin=... | domain:read | Get domain info from on-chain registry |