Wormhole · Agentic Access

Wormhole Agentic Access

x-agentic-access generated

Wormhole exposes 74 API operations that an AI agent could call, of which 2 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 72 read and 2 write.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

Cross-ChainBlockchainInteroperabilityDeFiToken TransfersMessagingWeb3
Operations: 74 Acting: 2 Human-in-the-loop: 0 Method: generated

By consequence

read 72 write 2

Source

Agentic Access

Raw ↑
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