System canisters
System canisters are canisters that provide a necessary function to the ICP network. They are controlled by the NNS and upgraded via NNS proposals. These canisters have static canister IDs that projects can make calls to. One common example of a system canister that is used by projects is the Internet Identity canister.
System canisters
System canister | Canister ID |
---|---|
Bitcoin mainnet | ghsi2-tqaaa-aaaan-aaaca-cai |
Bitcoin testnet | g4xu7-jiaaa-aaaan-aaaaq-cai |
Cycles ledger | um5iw-rqaaa-aaaaq-qaaba-cai |
Cycles ledger index | ul4oc-4iaaa-aaaaq-qaabq-cai |
Cycles minting | rkp4c-7iaaa-aaaaa-aaaca-cai |
Exchange rate canister | uf6dk-hyaaa-aaaaq-qaaaq-cai |
Genesis token | renrk-eyaaa-aaaaa-aaada-cai |
ICP index | qhbym-qaaaa-aaaaa-aaafq-cai |
ICP ledger | ryjl3-tyaaa-aaaaa-aaaba-cai |
ICP ledger archive | qsgjb-riaaa-aaaaa-aaaga-cai |
ICP ledger archive | qjdve-lqaaa-aaaaa-aaaeq-cai |
Internet Identity | rdmx6-jaaaa-aaaaa-aaadq-cai |
NNS governance | rrkah-fqaaa-aaaaa-aaaaq-cai |
NNS lifeline | rno2w-sqaaa-aaaaa-aaacq-cai |
NNS registry | rwlgt-iiaaa-aaaaa-aaaaa-cai |
NNS root | r7inp-6aaaa-aaaaa-aaabq-cai |
NNS UI | qoctq-giaaa-aaaaa-aaaea-cai |
SNS wasm | qaa6y-5yaaa-aaaaa-aaafa-cai |
Using system canisters
Developers can use system canisters in their project to integrate services into their dapp or enable functionality that requires data from a system canister.
For example, Internet Identity can be integrated into a dapp to provide user authentication service to the project. Internet Identity is commonly integrated into a dapp through the dfx deps
command. dfx deps
allows you to pull a system canister into your local project for testing.
For other projects, calls can be made to system canisters to obtain information, such as DeFi projects making calls to the ICP index to obtain information about ICP transactions or price.