Smart Contracts¶
This section is the contract-level reference for arkonix-protocol, the on-chain vault suite that powers Arkonix products. It covers the protocol's internals — access control, message flows, fund flows, and the security model — for engineers, integrators, auditors, and due-diligence reviewers.
For the conceptual protocol overview (what the protocol does and why), start with the protocol architecture page. This section is the deep dive it links to.
What the protocol is¶
Arkonix runs a fork of Centrifuge Protocol V3 — a real-world-asset DeFi protocol implementing ERC-7540 asynchronous tokenized vaults on a modular, multi-chain hub-and-spoke architecture. Pools are managed from a hub chain; depositors interact with vaults on spoke chains; verified cross-chain messages keep the two sides consistent.
Fork relationship: unmodified core, additive extensions¶
The Arkonix fork is purely additive against upstream Centrifuge V3:
- Every core hub, spoke, vault, and transfer-hook contract is byte-for-byte identical to upstream Centrifuge. Upstream changes are merged on a daily cadence.
- Arkonix's delta consists of new contracts — hub-side and spoke-side manager contracts (fee manager, proof managers, index-strategy managers) — plus the deployment wiring for them.
- The Arkonix contracts plug into standard Centrifuge extension points: hub managers, balance-sheet managers, the Hub's
feeHook, andContractUpdatertargets. No core behavior is changed to accommodate them.
Upstream documentation
Because the core contracts are unmodified Centrifuge V3, the official Centrifuge documentation applies to them directly and is a useful companion for upstream detail. The pages in this section document the core modules as deployed by Arkonix, and the Arkonix Extensions page documents everything Arkonix adds on top.
Toolchain: Solidity 0.8.28, Cancun EVM, built with Foundry. The codebase uses custom errors exclusively, and interfaces are prefixed I.
Hub-and-spoke topology¶
HUB CHAIN
┌─────────────────────────────────────────────────────┐
│ Hub ── HubRegistry ── ShareClassManager │
│ │ Accounting (double-entry) ── Holdings │
│ │ HubHandler BatchRequestManager │
│ │ Hub managers: NAVManager, │
│ │ SimplePriceManager, ArkonixFeeManager │
└───┼─────────────────────────────────────────────────┘
│
│ MESSAGING LAYER (per chain)
┌───┼─────────────────────────────────────────────────┐
│ Gateway ── MultiAdapter (N-of-M quorum) │
│ │ ├─ Axelar / LayerZero / Wormhole / │
│ │ │ Chainlink CCIP adapters │
│ │ └─ RecoveryAdapter │
│ MessageProcessor / MessageDispatcher / GasService │
└───┼─────────────────────────────────────────────────┘
│
│ SPOKE CHAIN(S)
┌───┼─────────────────────────────────────────────────┐
│ Spoke ── VaultRegistry ── BalanceSheet (queue) │
│ │ ShareToken + transfer hooks │
│ │ PoolEscrow AsyncRequestManager │
│ │ SyncManager VaultRouter │
│ │ Vaults: AsyncVault / SyncDepositVault │
│ │ Spoke managers: QueueManager, │
│ │ OnOfframpManager, proof managers │
└─────────────────────────────────────────────────────┘
Overarching: Root (ward hierarchy + timelock),
ProtocolGuardian / OpsGuardian, TokenRecoverer
Module map¶
| Module | Contracts | Page |
|---|---|---|
| Admin & governance | Root, ProtocolGuardian, OpsGuardian, TokenRecoverer | Security Model, Governance & Operations |
| Messaging | Gateway, MultiAdapter, MessageProcessor, MessageDispatcher, GasService, MessageLib, bridge adapters | Cross-Chain Messaging |
| Hub | Hub, HubRegistry, ShareClassManager, Accounting, Holdings, HubHandler | Hub Contracts |
| Spoke | Spoke, VaultRegistry, BalanceSheet, ShareToken, transfer hooks, PoolEscrow | Spoke Contracts |
| Vaults | AsyncVault, SyncDepositVault, AsyncRequestManager, BatchRequestManager, SyncManager, VaultRouter, factories | Vault Contracts |
| Valuations | OracleValuation, IdentityValuation, PricingLib | Vault Contracts |
| Arkonix extensions | ArkonixFeeManager, proof-manager family, decoders, index-strategy contracts | Arkonix Extensions |
| Operations | Spells, upstream automation managers, deployment | Governance & Operations |
Status vocabulary¶
Pages in this section tag material with a consistent status vocabulary:
| Tag | Meaning |
|---|---|
| [SHIPPED] | Merged, tested, and part of the deployed protocol. |
| [IN FLIGHT] | Written and under active development. Interfaces, parameters, and behavior may change before launch; nothing tagged in-flight should be relied on as final. |
| [PLANNED] | Designed but not yet implemented. |
Everything on the core pages (Security Model, Messaging, Hub, Spoke, Vaults) is [SHIPPED] — it is unmodified Centrifuge V3. On the Arkonix Extensions page, each component carries its own tag, and in-flight material is marked with an explicit warning.
Related documentation¶
- Protocol architecture — conceptual overview of the same system
- Backend execution stack — the off-chain services that drive the proof managers
- Custody — the off-chain key-management story
- Audits — audit posture and reports
- SDK — the integrator-facing view of vaults and requests