The Economic OS for the internet
An open Layer-1 blockchain purpose-built to unite programmable money and onchain innovation with real-world economic activity. Built on Reth with Malachite consensus, Arc delivers the performance, reliability, and liquidity needed to meet the demands of the global internet economy.
Arc is engineered for mass adoption with stablecoins as native gas, opt-in configurable privacy, and deterministic sub-second finality — making it uniquely suited for use cases like onchain credit, capital markets, stablecoin FX, and cross-border payments.
- Stablecoins as Native Gas - Low, predictable, fiat-based gas fees starting with USDC, enabling seamless transactions whether sending $1 or $1B
- Opt-in Configurable Privacy - Native privacy tooling enables selective shielding of sensitive financial data while preserving auditability
- Deterministic Sub-second Finality - Instant settlement finality powered by Malachite BFT consensus engine, meeting institutional regulatory standards
- EVM Compatible - Full Ethereum compatibility with custom precompiles for native coin operations, post-quantum signatures, and system accounting
- Advanced Transaction Pool - Configurable pool with custom validation, transaction denylist, and enterprise-grade reliability
- Production-Ready Infrastructure - Built on Reth's proven codebase with comprehensive testing, monitoring, and modular architecture
- 🚀 Execution - Execution binary and configuration
- 🗳️ Consensus - Consensus binary and configuration
- 📊 Profiling - CPU and heap profiling with pprof
Clone the repository (or pull the latest changes). This repository uses Git submodules for Foundry dependencies; initialize and update them with:
git submodule update --init --recursiveTip: To automatically fetch submodules on
git pull, run in the repo root:git config submodule.recurse true git config fetch.recurseSubmodules on-demand
Note: USDC contract artifacts are committed to assets/artifacts/stablecoin-contracts/ and do not require a separate build step.
- Rust (version pinned via
rust-toolchain.toml) - Docker (required for
make testnet) - Node.js
- Foundry
- Hardhat
- Protobuf
- TypeScript
- Yarn
- Buf
Install required tools on MacOS with Homebrew:
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
brew install protobuf node yarn bufbuild/buf/buf
curl -L https://foundry.paradigm.xyz | bash
foundryupNote: Hardhat only supports even Node.js versions (e.g., 20.x, 22.x). Odd versions like 25.x are not supported. See Hardhat's Node.js support policy for details.
Install JavaScript dependencies:
npm installBuild the project:
make buildFormat and lint your code:
make lintThe test suite includes unit tests, integration tests, contract tests, and smoke tests.
Run tests:
# Unit tests (Rust + linting)
make test-unit
# Integration tests
make test-it
# Contract tests (Solidity)
make test-unit-contract
# Smoke tests (end-to-end validation)
make smoke
# Run all tests
make test-allGenerate and view test coverage (requires cargo-llvm-cov):
# Install cargo-llvm-cov on MacOS with Homebrew (one-time setup)
brew install cargo-llvm-cov
# Generate coverage for unit tests
make cov-unit
# Generate HTML report and open in browser
make cov-showNote: This refers to private, ephemeral testnets for local development, not the public Arc Testnet. See Quake's README for more details.
Launch a full local testnet with 5 execution nodes, 5 consensus nodes, plus Prometheus, Grafana, and Blockscout:
make testnetNote
If your development environment requires installing custom CA certificates, you can add them to the deployments/certs directory. They must be PEM-encoded and have a .crt extension. They will be automatically installed into the Docker images at build time.
To export a certificate from your system's keychain (macOS):
security find-certificate -p -c '<cert name>' > deployments/certs/<cert name>.crtInteract with the testnet:
# Send transaction load
make testnet-load
# Stop the testnet
make testnet-down
# Clean up all resources
make testnet-cleanFor an in-depth look at system design and individual components, check out the Architecture Guide. For architectural decisions and their rationale, refer to our Architecture Decision Records (ADRs).
We welcome contributions! Please follow these steps:
- Format and lint:
make lint - Build:
make build - Test:
make test-unit - Check coverage:
make cov-show
For more details, see our Contributing Guide.
- Arc Network - Official Arc Network website
- Arc Documentation - Official Arc developer documentation
- Reth - The underlying execution layer framework
- Malachite - BFT consensus engine
- Local Documentation - Implementation guides and references