# Chainhilt Bridge Route Simulator

> Chainhilt Bridge Route Simulator is a paid API for AI agents from chainhilt.ai, paid per call via x402, $0.001/call, status unknown (last checked 2026-11-01).

Simulates and ranks cross-chain bridge routes for a given token transfer, returning estimated amounts, fees, durations, and approval requirements for each route.

## Facts

- Endpoint: POST https://chainhilt.ai/api/v1/bridge/simulate?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/chainhilt-bridge-route-simulator-4d5649fb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_R02tSwovQ3lhZraltJ_Bm

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability chainhilt-bridge-route-simulator-4d5649fb -d '<json body>'
```

Example prompt: Compare bridge routes for sending exactly 500000000 USDC (base units) from Ethereum (chain 1) to Arbitrum (chain 42161) — show me the best routes sorted by estimated received amount, including fees and how long each will take, and exclude the debridge adapter.

## When to prefer this

Use this endpoint when you need to compare multiple bridge providers side-by-side before committing to a transfer — it is a pure simulation with no side effects, so it is safe to call repeatedly to find the best route. Prefer it over a single-provider bridge quote when you want fee transparency, minimum-received guarantees, and ranked alternatives including HyperCore/HyperEVM-specific routing.

## Known failure modes

- Unsupported chain pair returns no routes or an error
- sourceAmount of zero or non-integer string causes validation failure
- Invalid token address format (not a valid 0x hex address) returns 400
- All adapters excluded via excludedAdapters leaving no valid routes
- Liquidity unavailable on requested route returns empty route list
- sourceChainId or targetChainId not supported by any adapter
- Rate limiting or payment failure due to x402 microtransaction issues

## How this service works

Compare bridge routes, best first: tokens, estimated and minimum target amounts, fees by token, duration, expiry and the approval each route needs. sourceAmount is exactly what leaves the wallet.

## Output

An ordered list of bridge routes, best-first, each containing: estimated and minimum target token amounts in base units, itemized fees per token, expected transfer duration, route expiry timestamp, required token approval details, and the adapter/provider powering that route.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "targetType": {
   "enum": [
    "hyperCore",
    "hyperEvm"
   ],
   "type": "string",
   "description": "HyperEVM targets only. hyperCore credits the recipient's HyperCore USDC balance; hyperEvm delivers the token on HyperEVM. Defaults to hyperCore for HyperEVM USDC or when hyperCoreBalance is set, otherwise hyperEvm."
  },
  "sourceToken": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "Source token; the zero address (or 0xEeee…EEeE) bridges the chain's native token."
  },
  "targetToken": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "Target token. It may differ from sourceToken, in which case the route swaps across tokens."
  },
  "sourceAmount": {
   "type": "string",
   "pattern": "^[0-9]+$",
   "maxLength": 78,
   "description": "Exact base-unit amount that leaves the wallet. Every fee except native ones comes out of it."
  },
  "senderAddress": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "Optional wallet that will send the bridge; lets providers quote for it."
  },
  "sourceChainId": {
   "type": "integer",
   "maximum": 9007199254740991,
   "exclusiveMinimum": 0
  },
  "targetChainId": {
   "type": "integer",
   "maximum": 9007199254740991,
   "exclusiveMinimum": 0
  },
  "excludedAdapters": {
   "type": "array",
   "items": {
    "enum": [
     "across",
     "circleCctp",
     "debridge",
     "layerzero",
     "relay",
     "socket"
    ],
    "type": "string"
   }
  },
  "hyperCoreBalance": {
   "enum": [
    "perps",
    "spot"
   ],
   "type": "string",
   "description": "HyperCore targets only. Defaults to perps."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "errors": [
   {
    "adapter": "debridge",
    "message": "deBridge cannot deliver to HyperCore, only to HyperEVM: set targetType to hyperEvm"
   }
  ],
  "routes": [
   {
    "fees": [
     {
      "kind": "bridge",
      "token": {
       "symbol": "USDC",
       "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
       "chainId": 8453,
       "decimals": 6
      },
      "amount": "5900",
      "paidFrom": "input"
     }
    ],
    "adapter": "across",
    "approval": {
     "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "spender": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64"
    },
    "expiresAt": 1790870627,
    "targetType": "hyperCore",
    "adapterName": "Across",
    "providerRef": "lh5r9-1790867234078-e436362840a7",
    "sourceToken": {
     "symbol": "USDC",
     "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "chainId": 8453,
     "decimals": 6
    },
    "targetToken": {
     "symbol": "USDC",
     "address": "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
     "chainId": 999,
     "decimals": 6
    },
    "sourceAmount": "10000000",
    "minTargetAmount": "9994056",
    "hyperCoreBalance": "perps",
    "estimatedTargetAmount": "9994056",
    "estimatedDurationSeconds": 2
   },
   {
    "fees": [
     {
      "kind": "forwarding",
      "token": {
       "symbol": "USDC",
       "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
       "chainId": 8453,
       "decimals": 6
      },
      "amount": "247562",
      "paidFrom": "input"
     },
     {
      "kind": "protocol",
      "token": {
       "symbol": "USDC",
       "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
       "chainId": 8453,
       "decimals": 6
      },
      "amount": "1300",
      "paidFrom": "input"
     }
    ],
    "adapter": "circleCctp",
    "approval": {
     "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "spender": "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d"
    },
    "targetType": "hyperCore",
    "adapterName": "Circle CCTP",
    "sourceToken": {
     "symbol": "USDC",
     "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "chainId": 8453,
     "decimals": 6
    },
    "targetToken": {
     "symbol": "USDC",
     "address": "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
     "chainId": 999,
     "decimals": 6
    },
    "sourceAmount": "10000000",
    "minTargetAmount": "9751138",
    "hyperCoreBalance": "perps",
    "estimatedTargetAmount": "9751138",
    "
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/chainhilt-bridge-route-simulator-4d5649fb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chainhilt.ai](https://www.zero.xyz/host/chainhilt.ai/llms.txt)
