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.devAuthentication
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
| Field | Type | Required | Description |
|---|---|---|---|
| network | string | ✓ | Chain to simulate on. See supported values below. |
| agent_address | string | ✓ | The wallet address sending the transactions. |
| transactions | array | ✓ | Array of {to, data, value} objects. |
| max_slippage_tolerance | number | — | Price impact limit in %. Default: 2.0 |
| block_number | number | — | Fork 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
| Status | Meaning |
|---|---|
| PENDING | Job is in the queue, not yet started. |
| RUNNING | Simulation is executing in the fork. |
| APPROVED | All checks passed. Safe to broadcast. |
| REJECTED | One or more checks fired. Read checks object. |
| FAILED | Simulation itself could not run. Read error field. |
| TIMED_OUT | Took too long. Usually an RPC issue. Retry. |