// PROTOCOL

Everything you need
to trade on-chain.

Arc Perp DEX is a fully on-chain perpetuals protocol built on Arc Network. No intermediaries, no custody — just pure DeFi trading with real leverage.

  ┌───────┐
  │ ◉ 50x ◉ │
  │ ▲▲▲▲▲▲ │
  │ ▁▁▁▁▁▁▁▁ │
  └───────┘

Up to 50x Leverage

Open leveraged long or short positions on BTC, ETH, and SOL with precise margin control and real-time PnL tracking.

  ┌─────────┐
  │ ◆ LIVE  ◆ │
  │ $104,921 │
  │ BTC/USD  │
  └─────────┘

Live Oracle Prices

Prices pushed on-chain every 60 seconds from real market data. No stale prices, no manipulation — always accurate.

  ╔══════╗
  ║ ░░░░░░ ║
  ║ APY 12.4%║
  ║ VAULT ║
  ╚══════╝

LP Vault

Deposit USDC into the vault to earn trading fees. Your shares appreciate as the protocol generates revenue.

  ┌─┐     ┌─┐
  │U├──►──│C│
  │S│     │T│
  │D│──►──│R│
  └─┘     └─┘

USDC Native Settlement

All margin, PnL, and fees are settled in USDC — Arc's native gas token. No ETH needed, no wrapping required.

   ╔═══╗
   ║ ◈ ║
  ┌╨───╨┐
  │░░░░░│
  └─────┘

On-Chain Privacy

Arc Network supports confidential transfers via TEE. Your position sizes stay private while settlement remains trustless.

  │  ▄ 
  │▁ ▄ █ ▄
  │█ █ █ █
  └────────

Auto Liquidation

Positions below 5% margin ratio are liquidated by keepers. Liquidators earn 0.5% of notional — fully on-chain.

// HOW IT WORKS

Trade perps in
four steps.

From wallet connect to your first leveraged position in minutes. Everything runs on-chain on Arc Network — transparent and trustless.

01

Connect your wallet

Connect MetaMask and switch to Arc Testnet. USDC is the native gas token — get test USDC from the Circle faucet to start trading.

// Add Arc Testnet to MetaMask
chainId: 5042002
rpc: rpc.testnet.arc.network
currency: USDC
02

Approve USDC & open a position

Approve the engine contract to spend your USDC. Then pick your market, set your leverage up to 50x, and go long or short.

// Open a $1000 BTC long at 10x
asset: "BTC"
isLong: true
collateral: 1000 USDC
leverage: 10x
// → $10,000 notional position
03

Monitor your position

Track your unrealized PnL in real time from the Portfolio page. Oracle prices update every 60 seconds keeping everything accurate.

// Position state on-chain
entryPrice: $104,921
currentPrice: $105,843
pnl: +$878.20 USDC
marginRatio: 18.7%
04

Close & settle in USDC

Close your position anytime. Your collateral plus profit is paid out instantly from the vault in USDC — no wrapping, no bridging.

// closePosition(positionId)
payout: collateral + pnl - fee
settlement: instant USDC
fee: 0.10% of notional

// INFRASTRUCTURE

Built on Arc.
Settled in USDC.

Arc Network is Circle's EVM-compatible L1 with USDC as the native gas token. Every trade, every fee, every settlement happens in USDC — no wrapping, no bridging.

Settlement Layer
Arc Network
EVM-compatible L1 · Chain ID 5042002
Gas Token
USDC
Native currency · 6 decimals · No ETH needed
Price Oracle
On-chain Keeper
CoinGecko → on-chain every 60s · 8 decimal precision
Margin Token
USDC
0x3600000000000000000000000000000000000000
Max Leverage
50x
MIN_MARGIN_RATIO: 5% · AUTO liquidation
Trading Fee
0.10%
Per side · Accrues to LP vault · Raises share price
Liquidation Fee
0.50%
Of notional · Paid to liquidator keeper
Block Explorer
ArcScan
testnet.arcscan.app · Full tx transparency

// PROTOCOL STATS

Built for serious
on-chain traders.

Arc Testnet live|2:53:31 PM
0x
Max leverage
Long or short any market
0bps
Trading fee
0.10% per side, lowest on Arc
0%
Liquidation threshold
Margin ratio before liquidation
0s
Price update interval
Live oracle pushed on-chain
Live trading activity
LONGBTC$5,20010x$104,921+$142.30
SHORTETH$1,8005x$3,482-$23.10
LONGSOL$95020x$178.42+$67.80
SHORTBTC$12,00025x$104,850+$310.50

// INTEGRATIONS

Powered by the
best in the stack.

Arc Perp DEX integrates best-in-class infrastructure across every layer — from settlement to price feeds to frontend tooling.

L1
Arc Network
Settlement Layer
STABLECOIN
Circle USDC
Native Gas & Margin Token
ORACLE
CoinGecko
Real-Time Price Feed
WALLET
MetaMask
Wallet Connector
SDK
Wagmi + Viem
Contract Interaction
CHARTS
TradingView
Price Chart Widget
EXPLORER
ArcScan
Block Explorer
INFRA
Vercel
Frontend Deployment
FrontendNext.js 16 · TypeScript · Tailwind
ContractsSolidity 0.8.20 · 3 contracts
ChainArc Testnet · EVM · Chain ID 5042002
WalletWagmi v3 · Viem · MetaMask

// SECURITY

Trustless by design.
Transparent by default.

Arc Perp DEX is built with a security-first architecture. No admin keys. No upgradeable proxies. Every dollar traceable on-chain.

TRUSTLESS

Non-Custodial

Your funds never leave the smart contract. The vault holds USDC and only pays out on valid position closes. No admin keys, no multisig backdoors.

TRANSPARENT

On-Chain Settlement

Every openPosition and closePosition call is a real on-chain transaction. PnL is calculated deterministically from oracle prices, verifiable by anyone.

PROTECTED

Margin Protection

Positions are liquidated at 5% margin ratio before they can go insolvent. The vault reservedMargin system ensures LP funds are never at risk.

VERIFIED

Oracle Safety

Prices revert if stale beyond 5 minutes. The keeper bot pushes updates every 60s from CoinGecko. No position can open or close with a stale price.

AUDITABLE

Open Source

All three contracts are verified and readable on ArcScan. No proxy patterns, no upgradeable contracts. What you see is what runs.

PRIVATE

Arc TEE Privacy

Arc Network supports confidential transfers via Trusted Execution Environments. Future versions will support private position sizes while keeping settlement on-chain.

// CONTRACT ADDRESSES - ARC TESTNET
Oracle 0xc31acc2CcF9904A90a8a1faEcB91B0bcd63A6B82
Vault 0x938b84076D3c201fd764631744cF7FA7FB2D21F7
Engine 0xF6a74B03FE3908cE02697623d3E2CD528B747e8b
ArcScan

// DEVELOPERS

Simple contracts.
Powerful protocol.

Three clean Solidity contracts. No proxy patterns, no complexity.

ArcPerpOracle
Price feed · updatePrices() · getPrice()
ArcPerpVault
LP deposits · shares · fees · liquidity
ArcPerpEngine
openPosition() · closePosition() · liquidate()
solidity
// 1. Approve USDC
usdc.approve(ENGINE_ADDRESS, collateral);

// 2. Open 10x BTC long
engine.openPosition(
  'BTC',
  true,
  100e6,
  10
);