For AI agents: Documentation index at /llms.txt

Skip to content

Choose Your Path

Choose your next step based on what you want to build. Each path links to the first guide you should read, with a suggested progression from there.

If you prefer to learn the concepts before diving into guides, the Concepts section explains how ICP works under the hood:

You want to: Use AI coding agents to build on ICP.

ICP has a set of ICP skills: structured knowledge files that AI agents can load to write canister code, debug deployments, and navigate the platform. If you work with tools like Claude Code, Cursor, or Copilot, ICP skills give them the context they need.

Learn more: AI coding agents

You want to: Write canister logic: store data, call APIs, run scheduled tasks.

This is where most developers start after the quickstart. The backend guides cover the core patterns for building canister applications in Rust or Motoko.

Start with: Data persistence: learn how canisters store and retrieve data using stable memory and orthogonal persistence.

Then explore:

You want to: Build a web application with a frontend that talks to your canister.

ICP can serve web assets directly from canisters, giving you a tamperproof application with no external hosting required.

Start with: Asset canister: deploy a frontend alongside your backend canister.

Then explore:

You know: Solidity, EVM, smart contracts.

Here is how Ethereum concepts map to ICP:

EthereumICPKey difference
Smart contractCanisterCanisters hold GiBs of state, serve HTTP, run Wasm
EVM bytecodeWebAssemblyWasm runs general-purpose code at near-native speed
Solidity / VyperMotoko, Rust (official); TypeScript, Python (community)Multiple language options, full standard libraries
Block time (~12s)Finality (~1–2s)Update calls typically finalize in 1–2 seconds
Fee (user pays)Cycles (canister pays)Users interact for free; developers fund computation
No HTTP servingBuilt-in HTTP servingCanisters serve web pages directly
Offchain storage (IPFS, etc.)Onchain stable memoryUp to 500 GiB per canister, no external storage needed
Bridges / oraclesChain-key signing, HTTPS outcallsCanisters sign transactions on other chains natively; HTTPS outcalls fetch external data without oracles
Immutable by defaultUpgradeable by defaultCanisters can be upgraded while preserving state

The biggest shift: on Ethereum, smart contracts are minimal programs that rely on offchain infrastructure. On ICP, a canister can be an entire application (frontend, backend, database, and scheduled jobs) all onchain.

You want to: Integrate with Bitcoin, Ethereum, or other blockchains.

Chain fusion lets your canister hold native assets, sign transactions, and interact with smart contracts on other chains, without bridges or intermediaries. This is possible because ICP canisters can derive cryptographic keys and sign transactions using chain-key cryptography.

Start with: Bitcoin integration: read Bitcoin state and create transactions directly from a canister.

Then explore:

You want to: Create tokens, interact with ledgers, or build financial applications.

ICP has a standard token framework (ICRC) and chain-key tokens that represent assets from other chains. These guides cover the ledger APIs and token patterns for building payment flows, issuing digital assets, and integrating with exchanges.

Start with: Ledgers: understand ICRC token standards and interact with ledger canisters.

Then explore:

  • Chain-key tokens: work with ckBTC, ckETH, and other wrapped assets
  • Rosetta API: integrate with exchanges and wallets using the Rosetta standard

You want to: Hand control of your application to a community through an SNS DAO.

The Service Nervous System (SNS) lets you tokenize your application and create a decentralized autonomous organization that governs upgrades, treasury, and parameters through proposals and voting.

Start with: Launching an SNS: understand the process and requirements for decentralizing your application.

Then explore: