Skip to content

docs: Batch 8 — tokens, ledgers, and cycles concepts#215

Merged
marc0olo merged 15 commits into
infra/learn-hub-migration-prepfrom
docs/concepts-tokens-ledgers
May 8, 2026
Merged

docs: Batch 8 — tokens, ledgers, and cycles concepts#215
marc0olo merged 15 commits into
infra/learn-hub-migration-prepfrom
docs/concepts-tokens-ledgers

Conversation

@marc0olo
Copy link
Copy Markdown
Member

@marc0olo marc0olo commented May 6, 2026

Summary

  • New page: `docs/concepts/network-economics.md` — ICP token uses (governance, cycles, node rewards, SNS swaps), voting rewards and maturity mechanism (10%→5% over 8 years), supply dynamics (inflation/deflation with diagram), SNS tokenomics configuration; node provider rewards exchange rate computation (CMC, 30-day moving average)
  • New page: `docs/concepts/ledgers.md` — ICP ledger (AccountIdentifier), ICRC ledgers (principal + subaccount), append-only transaction log, archive canisters, index canisters, fee models
  • Expanded: `docs/concepts/cycles.md` — added cycles ledger section (canister IDs, ICRC-1/2/3, deposit/withdraw/create_canister, 100M fee per block, architecture diagram); updated cycles ledger limitation note to give two clear patterns (top-up vs proxy canister); added interface spec link to system-canisters reference
  • Expanded: `docs/guides/canister-management/cycles-management.mdx` — added "Calling canisters that require cycles" section covering inter-canister `Cycles.add`/`msg_cycles_add` pattern and the proxy canister template for CLI/agent use cases
  • Updated: `docs/concepts/governance.md` — replaced external Learn Hub link with internal `network-economics.md` link
  • Updated: `docs/concepts/index.md` — added network-economics and ledgers entries; fixed chain-fusion link to subdirectory
  • Updated: `sidebar.mjs` — added concepts/network-economics and concepts/ledgers sidebar entries
  • Images: cycles ledger architecture diagram, ICP supply dynamics (deflation/inflation) diagram

Sync recommendation

`network-economics.md`: `informed by learn-hub staging — tokens-governance/tokens-governance.md, tokens-governance/tokenomics.md, sns/tokenomics.md`
`ledgers.md`: `informed by learn-hub staging — tokens-governance/how-token-ledgers-work-on-the-internet-computer.md`
`cycles.md` additions: `informed by learn-hub staging — canister-smart-contracts/cycles.md, canister-smart-contracts/cycles-ledger.md`
`cycles-management.mdx` additions: `informed by dfinity/icp-cli-templates proxy template, dfinity/proxy-canister`

@marc0olo marc0olo requested a review from a team as a code owner May 6, 2026 15:21
@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 6, 2026

Review notes

Two blocking issues and one minor fix needed:

1. Broken links (blocking, dependency on #213): Two links point into concepts/chain-fusion/ which only exists once PR #213 merges:

  • index.md links to chain-fusion/index.md
  • token-ledgers.md links to chain-fusion/chain-key-tokens.md

Options: batch-merge after #213, or temporarily link to the flat concepts/chain-fusion.md that currently exists on main.

2. Em-dash in token-ledgers.md (banned per CLAUDE.md): The AccountIdentifier definition uses an em-dash: **AccountIdentifier** — a 32-byte hash.... Replace with a colon: **AccountIdentifier**: a 32-byte hash....

3. Minor: guides/digital-assets/ledgers.md is actually ledgers.mdx. Astro resolves .md links to .mdx files correctly, so this is not a hard error, but worth noting for consistency.

No other issues: frontmatter complete on all new pages, governance.md and cycles.md cross-links correct, <!-- Upstream: --> comment present.

@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 6, 2026

Three issues to address before merging:

1. Em-dash in token-ledgers.md line 29

Em-dashes are banned project-wide (CLAUDE.md). Please replace:

**AccountIdentifier** — a 32-byte hash derived from...

with:

**AccountIdentifier**: a 32-byte hash derived from...

2. Broken link in cycles.md — "How charging works" section

The new section links to protocol/execution.md#deterministic-time-slicing, but docs/concepts/protocol/ does not exist yet (it is added by PR #209). Until that PR merges, this link will be broken. Two options:

3. Chain-fusion link dependencies in concepts/index.md and token-ledgers.md

concepts/index.md links to chain-fusion/index.md, and token-ledgers.md links to chain-fusion/chain-key-tokens.md (twice). Neither path exists until PR #213 merges. Two options:

Suggested merge order: #209#213#215.

@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 6, 2026

Feedback addressed:

  • Fixed **AccountIdentifier** — **AccountIdentifier**: in token-ledgers.md line 29
  • Reverted chain-fusion/chain-key-tokens.md links to chain-fusion.md (the flat page on main) in token-ledgers.md (lines 21, 71) and concepts/index.md (line 27) — will update to the proper subdirectory paths after PR docs: Chain Fusion deep dives #213 merges
  • Removed broken link to protocol/execution.md#deterministic-time-slicing in cycles.md (plain text for now, link can be restored after PR docs: add protocol stack concept pages (Batch 1) #209 merges)

Suggested merge order: #209#213#215

@marc0olo marc0olo force-pushed the infra/learn-hub-migration-prep branch from dabad66 to d191270 Compare May 8, 2026 09:02
@marc0olo marc0olo force-pushed the docs/concepts-tokens-ledgers branch from 6f3bca3 to 544b42f Compare May 8, 2026 09:20
marc0olo added 11 commits May 9, 2026 00:23
- Add tokenomics.md: ICP token uses, governance rewards, supply dynamics, SNS tokenomics
- Add token-ledgers.md: ICP ledger, ICRC ledgers, archives, index canisters, fees
- Expand cycles.md: add "How charging works" and "Cycles ledger" sections
- Update governance.md: replace Learn Hub link with internal tokenomics.md link
- Update concepts/index.md: add tokenomics and token-ledgers entries; fix chain-fusion link
- Remove 6 consumed Learn Hub staging files
…ers pages

- Fix AccountIdentifier em-dash in token-ledgers.md
- Revert chain-fusion/ subdirectory links to chain-fusion.md (flat page on main)
  until PR #213 merges; affects token-ledgers.md and concepts/index.md
- Remove broken link to protocol/execution.md#deterministic-time-slicing
  in cycles.md until PR #209 merges
…s pages

Rename "Token Ledgers" to "Ledgers" and "Token economics" to "Digital asset
economics". Replace "token" with "digital asset" throughout prose. Replace
"DAO" in governance.md with "community-governed SNS" / "SNS instances".
Add ICRC standards links. Fix "on-chain" to "onchain". Remove em-dashes
from Upstream comments.
…ain-key term

- Rename docs/concepts/token-ledgers.md to docs/concepts/ledgers.md
- Update inbound links in concepts/index.md and tokenomics.md
- Fix ledgers.md: replace remaining "chain-key digital assets" with "chain-key tokens"
…technical-doc review

Keep 'digital asset' only for: first introduction of ICP/SNS governance asset on
each page, the 'Digital asset economics' section heading, and table column headers.
Change all subsequent references to plain 'asset'.
- Rename tokenomics.md to network-economics.md
- Update title to "Network Economics" and description
- Rename ## SNS tokenomics section to ## SNS economics
- Update inbound links in ledgers.md, governance.md, index.md
- Leave 'tokenomics' in governance/launching.md unchanged: domain-appropriate
  terminology in the SNS launch context (NNS community uses it; dashboard
  tool is named "SNS Tokenomics Analyzer")
…ge rate details, and sidebar entries

- docs/concepts/cycles.md: add cycles ledger architecture diagram; replace vague
  'top up first' note with two clear patterns (top-up vs proxy canister); add
  reference link to system-canisters.md#cycles-ledger for the full interface spec
- docs/concepts/network-economics.md: add deflation/inflation diagram; expand node
  provider rewards with how the 30-day average exchange rate is computed (CMC
  fetches ICP/XDR every 5 min from exchange rate canister, start-of-day average)
- docs/guides/canister-management/cycles-management.mdx: add 'Calling canisters
  that require cycles' section covering inter-canister Cycles.add pattern and
  the proxy canister template for CLI/agent use cases
- sidebar.mjs: add concepts/network-economics and concepts/ledgers entries
- public/concepts/cycles/cycles-ledger-architecture.png: architecture diagram
  from Learn Hub cycles-ledger article
- public/concepts/network-economics/deflation-inflation.png: supply dynamics
  diagram from Learn Hub tokenomics article
@marc0olo marc0olo force-pushed the docs/concepts-tokens-ledgers branch from 8fb5182 to 216a0fc Compare May 8, 2026 22:30
@marc0olo
Copy link
Copy Markdown
Member Author

marc0olo commented May 8, 2026

Feedback addressed:

  • network-economics.md:14: expanded NNS on first use — "the NNS governance system" → "the Network Nervous System (NNS) governance system"
  • network-economics.md:14: fixed broken anchor — governance.md#neurons-and-voting-powergovernance.md#neurons (verified heading at line 36 of governance.md)

Lower-priority observations noted but deferred:

  • SNS not expanded on first use — non-blocking per brand rules; leaving for consistency pass if needed
  • cycles.md:62 "sensitive workloads" — pre-existing, flagged for future cleanup
  • create_canister_from omitted from cycles ledger operations list — spec link is present; skipped to keep the section focused on the common-path operations

@marc0olo marc0olo merged commit 26682d0 into infra/learn-hub-migration-prep May 8, 2026
3 checks passed
@marc0olo marc0olo deleted the docs/concepts-tokens-ledgers branch May 8, 2026 23:09
marc0olo added a commit that referenced this pull request May 11, 2026
## Summary

- **New page**: \`docs/concepts/network-economics.md\` — ICP token uses
(governance, cycles, node rewards, SNS swaps), voting rewards and
maturity mechanism (10%→5% over 8 years), supply dynamics
(inflation/deflation with diagram), SNS tokenomics configuration; node
provider rewards exchange rate computation (CMC, 30-day moving average)
- **New page**: \`docs/concepts/ledgers.md\` — ICP ledger
(AccountIdentifier), ICRC ledgers (principal + subaccount), append-only
transaction log, archive canisters, index canisters, fee models
- **Expanded**: \`docs/concepts/cycles.md\` — added cycles ledger
section (canister IDs, ICRC-1/2/3, deposit/withdraw/create_canister,
100M fee per block, architecture diagram); updated cycles ledger
limitation note to give two clear patterns (top-up vs proxy canister);
added interface spec link to system-canisters reference
- **Expanded**:
\`docs/guides/canister-management/cycles-management.mdx\` — added
"Calling canisters that require cycles" section covering inter-canister
\`Cycles.add\`/\`msg_cycles_add\` pattern and the proxy canister
template for CLI/agent use cases
- **Updated**: \`docs/concepts/governance.md\` — replaced external Learn
Hub link with internal \`network-economics.md\` link
- **Updated**: \`docs/concepts/index.md\` — added network-economics and
ledgers entries; fixed chain-fusion link to subdirectory
- **Updated**: \`sidebar.mjs\` — added concepts/network-economics and
concepts/ledgers sidebar entries
- **Images**: cycles ledger architecture diagram, ICP supply dynamics
(deflation/inflation) diagram

## Sync recommendation

\`network-economics.md\`: \`informed by learn-hub staging —
tokens-governance/tokens-governance.md, tokens-governance/tokenomics.md,
sns/tokenomics.md\`
\`ledgers.md\`: \`informed by learn-hub staging —
tokens-governance/how-token-ledgers-work-on-the-internet-computer.md\`
\`cycles.md\` additions: \`informed by learn-hub staging —
canister-smart-contracts/cycles.md,
canister-smart-contracts/cycles-ledger.md\`
\`cycles-management.mdx\` additions: \`informed by
dfinity/icp-cli-templates proxy template, dfinity/proxy-canister\`
raymondk pushed a commit that referenced this pull request May 11, 2026
…ocs (#208)

## Summary

Migrates all 57 developer-relevant articles from the Learn Hub \"How
does ICP work?\" section into the developer docs, replacing Learn Hub as
the canonical source for ICP protocol concepts before the site is
retired.

This was executed as 9 content batch PRs plus a post-migration review
pass, all merged into this staging branch before landing on `main`:

**Batch 1 — Protocol stack** (#209): Consensus, peer-to-peer, message
routing, execution layer, state synchronization, and performance concept
pages under `docs/concepts/protocol/`.

**Batch 2 — Node infrastructure** (#210):
`docs/concepts/node-infrastructure.md` — TEE (SEV-SNP) attestation,
IC-OS layer model (SetupOS / HostOS / GuestOS), TEE key derivation and
disk encryption.

**Batch 3 — Edge infrastructure** (#211):
`docs/concepts/edge-infrastructure.md` — boundary nodes, HTTP gateway,
edge caching.

**Batch 4 — Evolution and scaling** (#212):
`docs/concepts/evolution-scaling.md` — horizontal scaling via subnet
sharding, fault tolerance, governance-driven subnet creation, forkless
protocol upgrades.

**Chain fusion deep dives** (#213): Expanded
`docs/concepts/chain-fusion/` with dedicated pages for Bitcoin
integration, ckBTC mechanics, Ethereum integration, EVM RPC, Solana RPC,
Dogecoin integration, and Exchange Rate Canister. Architecture and flow
diagrams migrated to `public/concepts/chain-fusion/`.

**Cryptography deep dives** (#214): Expanded
`docs/concepts/chain-key-cryptography.md` and
`docs/concepts/certified-data.md` with subnet keys, threshold signing
internals, and certified communication theory.

**Tokens, ledgers, and cycles** (#215): Expanded
`docs/concepts/ledgers.md` and `docs/concepts/cycles.md` with ledger
architecture, accounts, sub-accounts, cycles ledger transfer semantics,
and NNS tokenomics.

**Governance deep dives** (#216): Expanded `docs/concepts/governance.md`
and added `docs/concepts/sns-framework.md` — NNS neuron attributes and
bonuses, voting rewards formula, Neurons Fund, proposal taxonomy, SNS
framework and architecture, DAO settings, launch flow, SNS neurons and
rewards, and SNS proposals.

**Principals and canister model** (#217): Expanded
`docs/concepts/principals.md` and `docs/concepts/canisters.md` —
principal model, canister control, Wasm execution model, and
`docs/concepts/app-architecture.md`.

**Post-migration holistic review** (#218, #226):
- Navigation restructured across all concepts, guides, and references —
sentence case applied throughout, section indices completed
- Cross-reference audit: all Learn Hub outbound links replaced with
internal doc links; first-use terms linked to their concept pages
- Glossary expanded with TEE, boundary node, and cycle-related entries
- System canisters content placement corrected
- Exchange Rate Canister restructured across concept, reference, and
guide pages (#XRC commits)

**Migration infrastructure** (initial prep commits):
- `.docs-plan/learn-hub-migration.md` — agent workflow and authoring
rules for 9-batch execution
- `.docs-plan/learn-hub-navigation.md` — per-article mapping (target
file, action type, cross-link table)
- `AGENTS.md / CLAUDE.md` — Learn Hub removed from external-docs list;
linking rule updated
- `sidebar.mjs` — all new concept pages registered

## Closes

- Closes #187 — Content gap analysis: Learn Hub vs developer docs
- Closes #190 — Gap analysis: articles on learn.internetcomptuter.org vs
developer-docs `reference` and `concepts`
- Closes #226 — Post-migration holistic review (content placement, nav
structure, glossary, first-use terms)

## Sync recommendation

hand-written (all pages authored from Learn Hub source articles via
Zendesk API; no upstream repo to sync from)

<!-- Upstream: source articles fetched from learn.internetcomputer.org
via Zendesk API (2026-05-06 through 2026-05-11) -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant