From 15b2aa58da25d1123bae018dfcc609a6ca26bef8 Mon Sep 17 00:00:00 2001 From: sanjeeb Date: Sun, 16 Aug 2026 14:58:51 +0530 Subject: [PATCH 1/2] docs: clarify USDC decimal representations --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 77c91008..664b7e9f 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,22 @@ Arc is an open EVM-compatible layer 1 built on [Malachite](https://github.com/ci - **Deterministic Sub-second Finality** - Near-instant settlement finality powered by Malachite BFT consensus engine - **Circle Platform Integration** - Integrates with Circle’s full-stack platform (e.g., USDC, Wallets, CCTP, Gateway) to help you go from prototype to production faster - **(Coming soon) Opt-in Configurable Privacy** - Native privacy tooling enables selective shielding of sensitive financial data while preserving auditability +### USDC units and decimals +Arc exposes USDC as both the native token and through an ERC-20 interface. These +interfaces use different decimal representations: + +- The ERC-20 USDC interface uses **6 decimals**. +- Native balance and native-value accounting use **18-decimal units**. +- Converting an ERC-20 USDC amount to native units multiplies the amount by + `10^12`. + +For example, 1 USDC is represented as `1_000_000` through the ERC-20 interface +and as `1_000_000_000_000_000_000` in native units. + +When integrating with Arc, applications should use the decimal representation +expected by the interface they are interacting with rather than assuming the +same unit scale for both representations. ## Documentation - 🚀 **[Execution](crates/node/README.md)** - Execution binary and configuration From a93050e0c3b82db3afed34619b770eb14f5b5a5b Mon Sep 17 00:00:00 2001 From: sanjeeb Date: Sun, 16 Aug 2026 16:11:28 +0530 Subject: [PATCH 2/2] docs: address USDC decimals review feedback --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 664b7e9f..3f7c93cc 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,13 @@ Arc is an open EVM-compatible layer 1 built on [Malachite](https://github.com/ci - **Deterministic Sub-second Finality** - Near-instant settlement finality powered by Malachite BFT consensus engine - **Circle Platform Integration** - Integrates with Circle’s full-stack platform (e.g., USDC, Wallets, CCTP, Gateway) to help you go from prototype to production faster - **(Coming soon) Opt-in Configurable Privacy** - Native privacy tooling enables selective shielding of sensitive financial data while preserving auditability -### USDC units and decimals + +## Documentation + +- 🚀 **[Execution](crates/node/README.md)** - Execution binary and configuration +- 🗳️ **[Consensus](crates/malachite-app/README.md)** - Consensus binary and configuration +- More: see Arc [developer docs](https://docs.arc.io/arc/concepts/welcome-to-arc) for guides, APIs, and specs +## USDC units and decimals Arc exposes USDC as both the native token and through an ERC-20 interface. These interfaces use different decimal representations: @@ -40,12 +46,6 @@ and as `1_000_000_000_000_000_000` in native units. When integrating with Arc, applications should use the decimal representation expected by the interface they are interacting with rather than assuming the same unit scale for both representations. -## Documentation - -- 🚀 **[Execution](crates/node/README.md)** - Execution binary and configuration -- 🗳️ **[Consensus](crates/malachite-app/README.md)** - Consensus binary and configuration -- More: see Arc [developer docs](https://docs.arc.io/arc/concepts/welcome-to-arc) for guides, APIs, and specs - ## Install and Run a Node ### Install