ICRC-1
The ICRC-1 standard is for fungible tokens on ICP. It is considered the 'base' standard and intentionally excludes certain features and functions, such as:
Reliable transaction notifications for smart contracts.
A block structure and the interface for fetching blocks.
Pre-signed transactions.
ICRC-1 supports extensions of this standard to implement these missing functions, and the icrc1_supported_standards
endpoint can be queried to return the name of all supported extensions.
Token metadata
Token metadata is used to provide information about the token, such as the name, symbol, or fee. Available metadata entries for ICRC-1 tokens include:
icrc1:symbol
: The token's currency code, such asvariant { Text = "XTKN" }
.icrc1:name
: The token's name, such asvariant { Text = "Test Token" }
.icrc1:decimals
: The number of decimals used by the token, such asvariant { Nat = 8 }
.icrc1:fee
: The token's default transfer fee, such asvariant { Nat = 10_000 }
.
Example ICRC-1 tokens on ICP include:
View an example dapp for ICRC-1 transfers.