{"ok":true,"generatedAt":"2026-09-19T18:22:41.342Z","source":"https://api.getava.xyz/v1/capabilities","schemaVersion":"ava.capabilities.response.v1","failClosed":true,"executableRule":"implemented AND apiReachable AND operatorEnabled AND executionKind=live. mainnetProven is deliberately excluded: it is a historical fact about one past transaction, never permission to execute now.","counts":{"chains":15,"routes":68,"executable":5,"notExecutable":63,"byReadiness":{"dry-run":47,"no-executor":7,"executable":5,"operator-gated":9}},"readinessRule":"executable: runs today. operator-gated: executor is live and reachable, an owner decision (and usually a funded proof) is all that remains. wired: executor exists but no public surface reaches it. dry-run: descriptor is not live. no-executor: nothing implements it.","chains":{"base":{"counts":{"total":18,"executable":1},"categories":{"bridge":[{"venue":"across","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"compute":[{"venue":"virtuals","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"data":[{"venue":"virtuals","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"identity":[{"venue":"virtuals","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"lend":[{"venue":"aave_v3","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false},{"venue":"aave","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"compound","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false},{"venue":"morpho_blue","executable":true,"readiness":"executable","executionKind":"live","mainnetProven":true},{"venue":"morpho","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"payment":[{"venue":"virtuals","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"perp":[{"venue":"virtuals","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"stake":[{"venue":"virtuals","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false},{"venue":"aerodrome","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"cow","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"uniswap_v3","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false}]}},"arbitrum":{"counts":{"total":10,"executable":1},"categories":{"bridge":[{"venue":"across","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"lend":[{"venue":"aave_v3","executable":true,"readiness":"executable","executionKind":"live","mainnetProven":false},{"venue":"aave","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"compound","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false}],"perp":[{"venue":"hyperliquid","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"cow","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"uniswap_v3","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"avalanche":{"counts":{"total":7,"executable":1},"categories":{"bridge":[{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"teleporter","executable":false,"readiness":"no-executor","nextStep":"build an adapter; nothing executes this today","executionKind":"descriptor-only","blockedBecause":"no executor implemented","mainnetProven":false}],"lend":[{"venue":"aave_v3","executable":true,"readiness":"executable","executionKind":"live","mainnetProven":true},{"venue":"aave","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"uniswap_v3","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"monad":{"counts":{"total":3,"executable":1},"categories":{"lend":[{"venue":"aave_v3","executable":true,"readiness":"executable","executionKind":"live","mainnetProven":true},{"venue":"aave","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"uniswap","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"bnb":{"counts":{"total":2,"executable":1},"categories":{"lend":[{"venue":"aave_v3","executable":true,"readiness":"executable","executionKind":"live","mainnetProven":true}],"swap":[{"venue":"lifi","executable":false,"readiness":"operator-gated","nextStep":"operator flip only: this path has already settled a mainnet transaction","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":true}]}},"ethereum":{"counts":{"total":6,"executable":0},"categories":{"bridge":[{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"stake":[{"venue":"lido","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"rocketpool","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"cow","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"optimism":{"counts":{"total":6,"executable":0},"categories":{"bridge":[{"venue":"across","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"lend":[{"venue":"aave_v3","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false},{"venue":"aave","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"sui":{"counts":{"total":4,"executable":0},"categories":{"lend":[{"venue":"suilend","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false}],"storage":[{"venue":"walrus","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"cetus","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"deepbook","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"bsc":{"counts":{"total":3,"executable":0},"categories":{"bridge":[{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"polygon":{"counts":{"total":3,"executable":0},"categories":{"bridge":[{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"0x","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false},{"venue":"kyber","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"gnosis":{"counts":{"total":2,"executable":0},"categories":{"bridge":[{"venue":"lifi","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}],"swap":[{"venue":"cow","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"hyperliquid":{"counts":{"total":1,"executable":0},"categories":{"perp":[{"venue":"hyperliquid","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"offchain":{"counts":{"total":1,"executable":0},"categories":{"memory":[{"venue":"membase","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"sepolia":{"counts":{"total":1,"executable":0},"categories":{"swap":[{"venue":"cow","executable":false,"readiness":"dry-run","nextStep":"promote the descriptor from dry-run to live, which needs a real settlement path","executionKind":"dry-run","blockedBecause":"descriptor is dry-run, not live","mainnetProven":false}]}},"solana":{"counts":{"total":1,"executable":0},"categories":{"swap":[{"venue":"jupiter","executable":false,"readiness":"operator-gated","nextStep":"a funded mainnet proof, then the operator flip","executionKind":"live","blockedBecause":"operator has not enabled it","mainnetProven":false}]}}},"seeAlso":{"flat":"https://getava.xyz/capabilities.json","spec":"https://getava.xyz/llms-full.txt","discovery":"Never infer a tool from this file. Call tools/list at https://api.getava.xyz/mcp."}}