ICRC Standards
ICRC stands for Internet Computer Request for Comments. Standards are proposed by the ICRC working group, refined through community consensus, and adopted or rejected through NNS governance proposals.
Digital asset standards
Section titled “Digital asset standards”Standards for fungible assets, NFTs, and their extension protocols.
| Standard | Purpose | Extends | Status |
|---|---|---|---|
| ICRC-1 | Fungible token base standard | none | Adopted |
| ICRC-2 | Approve and transfer-from | ICRC-1 | Adopted |
| ICRC-3 | Transaction log and block archive | ICRC-1 | Adopted |
| ICRC-7 | Non-fungible token (NFT) base standard | none | Adopted |
| ICRC-37 | Approve and transfer-from for NFTs | ICRC-7 | Adopted |
For full method signatures, Candid types, and implementation details, see Digital Asset Standards.
Wallet signer standards
Section titled “Wallet signer standards”Standards for wallet and signer interactions between apps and user accounts.
| Standard | Purpose | Status |
|---|---|---|
| ICRC-21 | Canister call consent messages | Adopted |
| ICRC-25 | Signer interaction (permissions) | Adopted |
| ICRC-27 | Account discovery | Adopted |
| ICRC-29 | Window PostMessage transport | Adopted |
| ICRC-49 | Call canister via signer | Adopted |
For implementation details and code examples, see the wallet integration guide.
Next steps
Section titled “Next steps”- Digital Asset Standards: complete method signatures, Candid types, and error definitions for each standard
- Ledgers: transfer assets and set up local test ledgers
- Wallet integration: add wallet signing to your app
- ICRC working group: browse proposed and in-progress standards