Skip to content

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, and ContractUpdater targets. 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.