Integrations

REST API

The ArbiSim API is a standard HTTPS JSON API. You can call it from any language, any framework, or directly from curl. No SDK required.

Base URL

https://arbisim-proxy.rahulpandey-creates.workers.dev

Authentication

Pass your API key in every request using the X-API-Key header:

bash
curl -H "X-API-Key: ask_free_a1b2_..." https://arbisim-proxy.rahulpandey-creates.workers.dev/api/v1/simulate

POST /api/v1/simulate

Run a simulation. Returns a job ID immediately. Poll for the result.

bash
curl -X POST https://arbisim-proxy.rahulpandey-creates.workers.dev/api/v1/simulate   -H "Content-Type: application/json"   -H "X-API-Key: ask_free_a1b2_..."   -H "Idempotency-Key: my-unique-op-id"   -d '{
    "network": "avalanche-fuji",
    "agent_address": "0x0000000000000000000000000000000000000001",
    "transactions": [
      {
        "to":    "0x60aE616a2155Ee3d9A68541Ba4544862310933d4",
        "data":  "0x38ed1739...",
        "value": "0"
      }
    ],
    "max_slippage_tolerance": 2.0
  }'

Request body

FieldTypeRequiredDescription
networkstringChain to simulate on. See supported values below.
agent_addressstringThe wallet address sending the transactions.
transactionsarrayArray of {to, data, value} objects.
max_slippage_tolerancenumberPrice impact limit in %. Default: 2.0
block_numbernumberFork at a specific block (for backtesting). Default: latest.

Supported network values

"avalanche-mainnet""avalanche-fuji""arbitrum-one""arbitrum-sepolia"

GET /api/v1/simulate/:jobId

Poll for simulation results. Recommended: every 2 seconds, up to 30 attempts.

json
{
  "job_id": "8f4a...",
  "status": "APPROVED",
  "checks": {
    "would_revert": false,
    "price_impact_too_high": false,
    "frontrun_detected": false,
    "risky_allowance": false,
    "signature_invalid": false,
    "permission_expired": false,
    "use_priority_lane": false,
    "compute_limit_exceeded": false,
    "untrusted_counterparty": false,
    "payment_unverified": false
  },
  "gas_cost": "0.00021 AVAX",
  "gas_breakdown": { "l2_gas_used": 185420, "total_wei": "213000000000000" },
  "verdict": "SAFE — proceed"
}

Status values

StatusMeaning
PENDINGJob is in the queue, not yet started.
RUNNINGSimulation is executing in the fork.
APPROVEDAll checks passed. Safe to broadcast.
REJECTEDOne or more checks fired. Read checks object.
FAILEDSimulation itself could not run. Read error field.
TIMED_OUTTook too long. Usually an RPC issue. Retry.
REST API — ArbiSim Guard Docs