Overview
Arbitrum routing Arbitrum Sepolia

Policy-checked swap intents

Build execution-ready Arbitrum swap requests for GMX, ZeroDev smart accounts, Dune evidence, or manual signers. ArcPay records the intent, policy envelope, and evidence requirement before any fill is claimed.

Intent type
Swap
Evidence-gated
Policy
Required
Before execution
Primary adapter
GMX
Agent handoff
Order path
x402/escrow
Optional paid execution
GMX Arbitrum SepoliaOfficial contracts loaded

GMX routes with ArcPay policy before execution.

ArcPay prepares GMX swap, hedge, and execution payloads against the official Arbitrum Sepolia GMX contracts. The current adapter has been live-tested with a classic SDK WETH to USDC.SG market swap and requires Arbiscan plus proof JSON evidence before completion.

Loading GMX Arbitrum Sepolia adapter config.
ExchangeRouter
loading
Reader
loading
SDK methods
loading
Mode
loading
Route builder

Create treasury route intent

This is the safe handoff object an agent uses before touching liquidity.

Create a policy-ready Arbitrum route intent. ArcPay does not mark a swap filled until an executor returns signed evidence.
Primary adapter

GMX execution intent

Prepare policy-approved GMX route or hedge intents and attach Arbiscan tx evidence after execution.

Smart wallet

ZeroDev smart account

Route approved actions through a session-key or paymaster account when enabled.

Analytics

Dune evidence

Attach public Dune query links for transaction and treasury analytics evidence.

Available now

Manual signer

Export a policy-approved payload for a human or agent signer to execute.

Execution payload
{
  "kind": "arcpay-arbitrum-swap-intent",
  "chain": "arbitrum-sepolia",
  "from": "ETH",
  "to": "USDC",
  "amount": "1",
  "maxSlippagePercent": "0.5",
  "expiryMinutes": "20",
  "adapter": "GMX execution intent",
  "agent": "treasury-router",
  "objective": "Acquire USDC for invoices and agent spend cards without exceeding policy.",
  "controls": {
    "requirePolicyCheck": true,
    "requireOperatorApproval": true,
    "emergencyPauseAware": true,
    "noFillClaimWithoutTxHash": true,
    "requireArbiscanTxHashForCompletion": true,
    "supportedAdapters": [
      "GMX",
      "ZeroDev",
      "Dune",
      "Manual signer"
    ]
  },
  "gmx": {
    "network": {
      "name": "arbitrum-sepolia",
      "chainId": 421614
    },
    "sdkPackage": "@gmx-io/sdk",
    "sdkMethods": [
      "createSwapOrder",
      "createIncreaseOrder",
      "createDecreaseOrder"
    ],
    "liveProof": null,
    "contracts": {
      "exchangeRouter": "loading",
      "router": "loading",
      "reader": "loading",
      "dataStore": "loading",
      "eventEmitter": "loading"
    }
  },
  "contracts": {
    "registry": "0x5F5b8109c832BB6609178F0bb2e6A597387dA17E",
    "orderBook": "0x3587fd962d40433165d5f2a3dFc60636ebD11e59",
    "policy": "0x3F8bc2b46E7b71632CdADd1f00d4FD6BB11d8283",
    "reputation": "0xDdbe6aD2652BD5d0Ab4D8a6D2ab8798Cf294D9dD"
  }
}
Route: ETH -> USDCAmount: 1Slippage: 0.5% maxAdapter: GMX execution intentPolicy 0x3F8b...8283