Skip to main content
The core idea: We settle tokens and balances on-chain, but run strategy execution and data reporting off-chain. Every off-chain component has a specific practical reason for being off-chain and a defined protection mechanism.
Prerequisites: What is ArcX?, Epoch Lifecycle Summary: Five components live on-chain (ST token, EPT token, PointsToken, settlement, and credit balances). Five components run off-chain (matching engine, strategy execution, NAV oracle, credits oracle, points oracle). Each off-chain component is off-chain for a practical reason.

What’s On-Chain

These components live on Starknet. You can verify them directly with a block explorer.
ComponentWhat You Can Verify
ST tokenBalances, transfers, total supply per epoch
EPT tokenBalances, transfers, accumulated credit balances
PointsTokenTotal supply, burns, per-address balances
SettlementEvery deposit, order match settlement, and redemption executes as an on-chain transaction
Credit balancesPer-user credit accrual tracked on-chain
On-chain components are the foundation. Token mechanics (minting, burning, credit accrual, redemption) are verifiable on-chain. If it lives on Starknet, you can check it yourself. The critical distinction: We do not hold your tokens. ST, EPT, and PointsToken are standard tokens on Starknet. Your balances are yours. Our oracles feed data into the contracts (NAV, credit updates, total points), but the contracts enforce the math. No oracle input can directly transfer your tokens to someone else. This means the on-chain layer provides a strong floor of verifiability. Even in a scenario where you distrust every off-chain component, you can still verify your token balances, the total supply, and the settlement of every transaction. The question is not “are my tokens safe?” (they are, on-chain) but “are the oracle inputs accurate?” (that requires the protections described below).

What’s Off-Chain (and Why)

We run five components off-chain. Each one is off-chain for a specific practical reason, not because of a preference for centralization. Click through each tab below to understand what the component does and why it cannot currently run on-chain.
What it does: Matches buy and sell orders on the EPT/USDC and ST/USDC orderbooks. Handles cross-matching when a direct deposit triggers mints of both ST and EPT.Why it’s off-chain: Orderbook matching requires iterating over all open orders and booking loops that are not feasible in smart contracts. On-chain orderbooks on Starknet would be too expensive for active trading. Settlement of matched orders happens on-chain. The matching itself is the off-chain step.The pattern: Off-chain matching, on-chain settlement. This is the same architecture used by Extended, Paradex, and other performant DEXes.

How Each Off-Chain Component Is Protected

Every off-chain component has specific safeguards that bound its risk. For each component below: what protects you, how you can verify it, and what bounds the impact.
Protection: Settlement is on-chain. The matching engine determines which orders fill, but the actual token transfers execute through Starknet smart contracts. A matching engine bug could cause missed fills, but it cannot move tokens without on-chain settlement.Verification: Every matched trade produces an on-chain settlement transaction. You can verify that your fills correspond to the orders you placed and that the prices match what was quoted.Bounding: If the matching engine goes down, no trades execute, but no funds are at risk. Existing positions (ST, EPT balances) are unaffected. The worst case is missed trading opportunities, not fund loss.

Decentralization Roadmap

As the protocol matures, we will continue making this layer more robust and more transparent over time, including better transparency dashboards, stronger third-party checks, and custodial/operational safeguards where appropriate.