generated: '2026-07-15' method: generated source: openapi/wormholescan-api.json description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 74 by_action_class: connected: 72 acting: 2 by_consequence: read: 72 write: 2 human_in_the_loop_required: 0 operations: - path: /api/v1/address/:address method: get operationId: find-address-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/application-activity method: get operationId: application-activity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/global-tx/:chain_id/:emitter/:seq method: get operationId: find-global-transaction-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/config method: get operationId: governor-config x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/config/:guardian_address method: get operationId: governor-config-by-guardian-address x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/enqueued_vaas/ method: get operationId: governor-enqueued-vaas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/enqueued_vaas/:chain method: get operationId: guardians-enqueued-vaas-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/limit method: get operationId: governor-notional-limit x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/notional/available method: get operationId: governor-notional-available x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/notional/available/:chain method: get operationId: governor-notional-available-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/notional/limit method: get operationId: governor-notional-limit-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/notional/limit/:chain method: get operationId: governor-notional-limit-detail-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/notional/max_available/:chain method: get operationId: governor-max-notional-available-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/status method: get operationId: governor-status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/status/:guardian_address method: get operationId: governor-status-by-guardian-address x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/governor/vaas method: get operationId: governor-vaas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/guardian_sets/{version} method: get operationId: get-guardian-set x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/health method: get operationId: health-check x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/last-txs method: get operationId: get-last-transactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/live-tracking/subscribe method: get operationId: live-tracking-subscribe x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/native-token-transfer/activity method: get operationId: /api/v1/native-token-transfer/activity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/native-token-transfer/summary method: get operationId: /api/v1/native-token-transfer/summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/native-token-transfer/token-list method: get operationId: /api/v1/native-token-transfer/token-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/native-token-transfer/top-address method: get operationId: /api/v1/native-token-transfer/top-address x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/native-token-transfer/top-holder method: get operationId: /api/v1/native-token-transfer/top-holder x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/native-token-transfer/transfer-by-time method: get operationId: /api/v1/native-token-transfer/transfer-by-time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations method: get operationId: find-observations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/:chain method: get operationId: find-observations-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/:chain/:emitter method: get operationId: find-observations-by-emitter x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/:chain/:emitter/:sequence method: get operationId: find-observations-by-sequence x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/:chain/:emitter/:sequence/:signer/:hash method: get operationId: find-observations-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/delegate/:chain_id method: get operationId: find-delegate-observations-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/delegate/:chain_id/:emitter_address method: get operationId: find-delegate-observations-by-emitter x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/delegate/:chain_id/:emitter_address/:sequence method: get operationId: find-delegate-observations-by-sequence x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/observations/delegate/:chain_id/:emitter_address/:sequence/:guardian_address method: get operationId: find-delegate-observations-by-guardian x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/operations method: get operationId: get-operations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/operations method: post operationId: search-operations x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/operations/{chain_id}/{emitter}/{seq} method: get operationId: get-operation-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/protocols/stats method: get operationId: get-top-protocols-stats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/protocols/{protocolId}/top_network_pairs method: get operationId: get-protocol-network-pairs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/protocols/{protocolId}/trending_tokens method: get operationId: get-protocol-trending-tokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/ready method: get operationId: ready-check x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/relays/:chain/:emitter/:sequence method: get operationId: find-relay-by-vaa-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/scorecards method: get operationId: get-scorecards x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/supply method: get operationId: supply-info x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/supply/circulating method: get operationId: circulating-supply x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/supply/total method: get operationId: total-supply x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/token/:chain_id/:token_address method: get operationId: get-token-by-chain-and-address x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/top-100-corridors method: get operationId: /api/v1/top-100-corridors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/top-assets-by-volume method: get operationId: get-top-assets-by-volume x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/top-chain-pairs-by-num-transfers method: get operationId: get-top-chain-pairs-by-num-transfers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/top-symbols-by-volume method: get operationId: top-symbols-by-volume x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/transactions/ method: get operationId: list-transactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/transactions/:chain_id/:emitter/:seq method: get operationId: get-transaction-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaas/ method: get operationId: find-all-vaas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaas/:chain_id method: get operationId: find-vaas-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaas/:chain_id/:emitter method: get operationId: find-vaas-by-emitter x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaas/:chain_id/:emitter/:seq method: get operationId: find-vaa-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaas/:chain_id/:emitter/:seq/duplicated method: get operationId: find-duplicated-vaa-by-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaas/parse method: post operationId: parse-vaa x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaas/vaa-counts method: get operationId: get-vaa-counts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/version method: get operationId: get-version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/wormhole/assets/secured-tokens method: get operationId: get-secured-tokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/x-chain-activity method: get operationId: x-chain-activity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/x-chain-activity/tops method: get operationId: x-chain-activity-tops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /swagger.json method: get operationId: swagger x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/governor/available_notional_by_chain method: get operationId: governor-available-notional-by-chain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/governor/enqueued_vaas method: get operationId: guardians-enqueued-vaas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/governor/is_vaa_enqueued/:chain_id/:emitter/:seq method: get operationId: guardians-is-vaa-enqueued x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/governor/token_list method: get operationId: guardians-token-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/guardianset/current method: get operationId: guardian-set x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/heartbeats method: get operationId: guardians-hearbeats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/signed_batch_vaa/:chain_id/:emitter/sequence/:seq method: get operationId: guardians-find-signed-batch-vaa x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/signed_vaa/:chain_id/:emitter/:seq method: get operationId: guardians-find-signed-vaa x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none