diff --git a/README.md b/README.md index 77c9100..3f7c93c 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,22 @@ Arc is an open EVM-compatible layer 1 built on [Malachite](https://github.com/ci - 🚀 **[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: + +- 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. ## Install and Run a Node ### Install