AkuaChain is a compliance-native L3 intent layer for regulated real‑world asset (RWA) markets, paired with atomic settlement on L2.
- Intent execution on L3: users post / accept RFQs and coordinate trades on AkuaChain L3.
- Rollup L3 on Caldera: AkuaChain runs as a Caldera L3 rollup on the Arbitrum Nitro stack, using AnyTrust mode for low-cost, high-throughput intent activity.
- Settlement on L2: trades settle atomically on Base Sepolia (L2) via an EIP‑712 settlement router.
- RWA-first: designed to work with ERC‑3643‑style compliance constraints and transfer rules.
Mental model
- L3 (AkuaChain / Caldera Nitro AnyTrust): intent + UX coordination (RFQs, accept/cancel, event feed)
- L2 (Base Sepolia): funds + compliance enforcement (atomic USDC ↔ RWA settlement)
This repository is early-stage. Interfaces, flows, and contract layouts may change as we harden security, add CI, and integrate production infrastructure.
contracts/marketplace/AkuaMarketRegistryL2.sol- Canonical registry of supported markets (RWA token + quote token + metadata + active flag).
contracts/marketplace/AkuaSettlementRouterL2.sol- EIP‑712 signed RFQ settlement.
- Nonce-based replay protection per maker.
- Cancel/fill tracking.
- Optional protocol fee.
Pausable+ReentrancyGuard.
contracts/l3/AkuaMarketRegistryL3.sol- L3 registry for market metadata and pointers to L2 settlement targets.
contracts/l3/AkuaRFQRouterL3.sol- RFQ posting/acceptance/cancellation, designed for off-chain indexing (event-driven feed).
contracts/l3/AkuaSettlementForwarderL3.sol- Phase 1: emits settlement-request events for relayers.
- Phase 2 target: L3→L2 messaging integration (rollup-stack dependent).
Foundry-style tests live under test/:
test/marketplace/*test/l3/*test/raincross/*
Architecture and flows:
- Marketplace docs:
docs/marketplace/ - L3 docs:
docs/l3/
AkuaChain uses a hybrid design:
-
L3 is the intent layer
- Users post RFQs and accept them on L3.
- Events are intended to be indexed (e.g., into a DB) for UI feeds and operations.
-
L2 is the funds layer
- Settlement executes atomically via a settlement router:
- maker ↔ taker swaps (RWA token ↔ quote token)
- fee accounting (optional)
- signature verification via EIP‑712
- Settlement executes atomically via a settlement router:
This separation helps keep matching/intents cheap and composable while preserving secure, atomic settlement on the funds chain.
- Node.js (LTS recommended)
pnpm(this repo specifiespnpm@9.xinpackage.json)- Foundry (for
forge test)
pnpm installpnpm compileforge test -vvvHardhat reads environment variables from .env (via dotenv). Common variables:
BASE_SEPOLIA_RPCAKUACHAIN_L3_RPCDEPLOYER_KEYBASESCAN_API_KEY/ETHERSCAN_API_KEY
Do not commit secrets. Use
.envlocally.
- This code has not been audited.
- Do not use in production without a thorough review, formal verification where appropriate, and independent audits.
- If you discover a security issue, please report it privately (open an issue only if it contains no exploitable details).
PRs are welcome. Suggested contribution types:
- Add CI (formatting, compile,
forge test) - Add missing scripts referenced in
package.json(or remove/replace them) - Improve docs and diagrams
- Add integration tests and deployment tooling
MIT — see LICENSE.
