> For the complete documentation index, see [llms.txt](https://docs.validationcloud.io/v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.validationcloud.io/v1/icp/overview.md).

# Overview

**Internet Computer Protocol** (**ICP**) is a decentralized Layer-1 blockchain designed to host smart contracts, applications, and services directly on-chain, enabling a fully decentralized internet.

Some ICP terminology:

* A **canister** is a Web3-native computational unit on the Internet Computer, combining smart contract functionality with scalable storage and processing capabilities to power decentralized applications and services.
* In the Internet Computer Protocol (ICP), a **ledger** is a specialized **canister** (smart contract) that records and manages token transactions, such as ICP or ICRC tokens, ensuring transparency and traceability.

**ICRC** (Internet Computer Rosetta Token Standard) is a token standard on the Internet Computer Protocol designed for fungible tokens, enabling interoperability and seamless integration across dApps and services within the network. This is similar to the ERC-20 token standard on Ethereum.

You can find reference documentation to ICP and ICRC [here](https://internetcomputer.org/docs/defi/rosetta/icp_rosetta/data_api/).

Information on Coinbase's Rosetta standard, can be found [here](https://docs.cdp.coinbase.com/mesh/reference/introduction).

## Network Support

<table><thead><tr><th width="292">Network</th><th>HTTPS</th></tr></thead><tbody><tr><td>ICP Mainnet</td><td>✅</td></tr><tr><td>ICRC Mainnet</td><td>✅</td></tr></tbody></table>

## ICRC Token Support

The below tokens are supported when querying against any ICRC endpoint you create.

*Interested in a token not listed?* Contact us, you can use the chat widget in the bottom right of the screen.

<table><thead><tr><th width="135.57183837890625">Symbol</th><th width="224.1187744140625">Name</th><th width="327.28125">Canister Principal</th><th data-hidden>For use on ICP or ICRC?</th></tr></thead><tbody><tr><td>ALICE</td><td>ALICE</td><td>oj6if-riaaa-aaaaq-aaeha-cai</td><td></td></tr><tr><td>BOB</td><td>BOB</td><td>7pail-xaaaa-aaaas-aabmq-cai</td><td></td></tr><tr><td>ckBTC</td><td>ckBTC</td><td>mxzaz-hqaaa-aaaar-qaada-cai</td><td></td></tr><tr><td>ckETH</td><td>ckETH</td><td>ss2fx-dyaaa-aaaar-qacoq-cai</td><td></td></tr><tr><td>ckEURC</td><td>ckEURC</td><td>pe5t5-diaaa-aaaar-qahwa-cai</td><td></td></tr><tr><td>ckUSDC</td><td>ckUSDC</td><td>xevnm-gaaaa-aaaar-qafnq-cai</td><td></td></tr><tr><td>ckUSDT</td><td>ckUSDT</td><td>cngnf-vqaaa-aaaar-qag4q-cai</td><td></td></tr><tr><td>DCD</td><td>DecideAI</td><td>xsi2v-cyaaa-aaaaq-aabfq-cai</td><td></td></tr><tr><td>DKP</td><td>Dragginz</td><td>zfcdd-tqaaa-aaaaq-aaaga-cai</td><td></td></tr><tr><td>ELNA</td><td>ELNA</td><td>gemj7-oyaaa-aaaaq-aacnq-cai</td><td></td></tr><tr><td>GLDGov</td><td>Gold DAO</td><td>tyyy3-4aaaa-aaaaq-aab7a-cai</td><td></td></tr><tr><td>ICL</td><td>ICLighthouse</td><td>hhaaz-2aaaa-aaaaq-aacla-cai</td><td></td></tr><tr><td>PANDA</td><td>ICPanda</td><td>druyg-tyaaa-aaaaq-aactq-cai</td><td></td></tr><tr><td>ICS</td><td>ICPSwap</td><td>ca6gz-lqaaa-aaaaq-aacwa-cai</td><td></td></tr><tr><td>ICVC</td><td>ICVC</td><td>m6xut-mqaaa-aaaaq-aadua-cai</td><td></td></tr><tr><td>KONG</td><td>KongSwap</td><td>o7oak-iyaaa-aaaaq-aadzq-cai</td><td></td></tr><tr><td>nICP</td><td>neuron ICP</td><td>buwm7-7yaaa-aaaar-qagva-cai</td><td></td></tr><tr><td>NTN</td><td>Neutrinite</td><td>f54if-eqaaa-aaaaq-aacea-cai</td><td></td></tr><tr><td>CHAT</td><td>OpenChat</td><td>2ouva-viaaa-aaaaq-aaamq-cai</td><td></td></tr><tr><td>OGY</td><td>Origyn</td><td>lkwrt-vyaaa-aaaaq-aadhq-cai</td><td>ICRC</td></tr><tr><td>SEER</td><td>Seers</td><td>rffwt-piaaa-aaaaq-aabqq-cai</td><td></td></tr><tr><td>WTN</td><td>WaterNeuron</td><td>jcmow-hyaaa-aaaaq-aadlq-cai</td><td></td></tr><tr><td>DOLR</td><td>Yral</td><td>6rdgd-kyaaa-aaaaq-aaavq-cai</td><td></td></tr><tr><td>GLDT</td><td></td><td>6c7su-kiaaa-aaaar-qaira-cai</td><td></td></tr><tr><td>KINIC</td><td></td><td>73mez-iiaaa-aaaaq-aaasq-cai</td><td></td></tr><tr><td>TRAX</td><td></td><td>emww2-4yaaa-aaaaq-aacbq-cai</td><td></td></tr><tr><td>VCHF</td><td></td><td>ly36x-wiaaa-aaaai-aqj7q-cai</td><td></td></tr><tr><td>VEUR</td><td></td><td>wu6g4-6qaaa-aaaan-qmrza-cai</td><td></td></tr></tbody></table>

*How to use the canister principals above:* For the token you are interested in, use the canister principal address in the `network` field of your request, for example to make a `/block` call involving ckBTC, your JSON body payload would look like this:

```json
{
	"network_identifier": {
		"blockchain": "Internet Computer",
		"network": "mxzaz-hqaaa-aaaar-qaada-cai" 
		/*          ^^^^^ This is the canister principle of ckBTC. Use the table
				  below to look up the canister of the ICRC token 
				  you are interested in */
	},
	"block_identifier": {
		"index": 2318645
	}
}
```

## Compute Units

All ICP and ICRC methods are currently `10` Compute Units.

### ICP & ICRC methods

| /account/balance         | 10 |
| ------------------------ | -- |
| /block                   | 10 |
| /block/transaction       | 10 |
| /call                    | 10 |
| /network/list            | 10 |
| /network/options         | 10 |
| /network/status          | 10 |
| /search/transactions     | 10 |
| /construction/combine    | 10 |
| /construction/derive     | 10 |
| /construction/metadata   | 10 |
| /construction/payloads   | 10 |
| /construction/preprocess | 10 |
| /construction/submit     | 10 |
