Zerion Agentic Access
Zerion exposes 39 API operations that an AI agent could call, of which 8 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: 31 read, 7 write, and 1 safety-critical.
1 operation are classed safety-critical and should require human-in-the-loop approval at runtime.
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.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| PATCH | /v1/tx-subscriptions/{subscription_id}/disable | safety-critical | required |
Source
Agentic Access
generated: '2026-07-21'
method: generated
source: openapi/zerion-openapi-original.yml
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: 39
by_action_class:
connected: 31
acting: 8
by_consequence:
read: 31
write: 7
safety-critical: 1
human_in_the_loop_required: 1
operations:
- path: /v1/wallets/{address}/charts/{chart_period}
method: get
operationId: getWalletChart
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/pnl
method: get
operationId: getWalletPNL
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/portfolio
method: get
operationId: getWalletPortfolio
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/positions/
method: get
operationId: listWalletPositions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/transactions/
method: get
operationId: listWalletTransactions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/nft-positions/
method: get
operationId: listWalletNFTPositions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/nft-collections/
method: get
operationId: listWalletNFTCollections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallets/{address}/nft-portfolio
method: get
operationId: getWalletNftPortfolio
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallet-sets/charts/{chart_period}
method: get
operationId: getWalletSetChart
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallet-sets/pnl
method: get
operationId: getWalletSetPNL
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallet-sets/portfolio
method: get
operationId: getWalletSetPortfolio
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallet-sets/positions/
method: get
operationId: listWalletSetPositions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/wallet-sets/transactions/
method: get
operationId: listWalletSetTransactions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/fungibles/
method: get
operationId: listFungibles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/fungibles/{fungible_id}
method: get
operationId: getFungibleById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/fungibles/{fungible_id}/charts/{chart_period}
method: get
operationId: getFungibleChart
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/fungibles/by-implementation
method: get
operationId: getFungibleByImplementation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/fungibles/by-implementation/charts/{chart_period}
method: get
operationId: getFungibleChartByImplementation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/chains/
method: get
operationId: listChains
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/chains/{chain_id}
method: get
operationId: getChainById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/swap/quotes/
method: get
operationId: swapQuotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/swap/fungibles/
method: get
operationId: swapFungibles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/gas-prices/
method: get
operationId: listGasPrices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/nfts/
method: get
operationId: listNFTs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/nfts/{nft_id}
method: get
operationId: getNFTById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/dapps
method: get
operationId: listDApps
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/dapps/{dapp_id}
method: get
operationId: getDAppByID
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tx-subscriptions/
method: get
operationId: findWalletTransactionsSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tx-subscriptions/
method: post
operationId: createSubscriptionWalletTransactions
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: /v1/tx-subscriptions/{subscription_id}
method: get
operationId: GetWalletTransactionsSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tx-subscriptions/{subscription_id}
method: delete
operationId: DeleteWalletTransactionsSubscription
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: /v1/tx-subscriptions/{subscription_id}/wallets
method: get
operationId: GetSubscribedWalletsInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tx-subscriptions/{subscription_id}/wallets
method: patch
operationId: PatchSubscribedWalletsInSubscription
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: /v1/tx-subscriptions/{subscription_id}/wallets
method: put
operationId: ReplaceSubscribedWalletsInSubscription
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: /v1/tx-subscriptions/{subscription_id}/wallets/count
method: get
operationId: GetSubscribedWalletsCountInSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tx-subscriptions/{subscription_id}/callback_url
method: patch
operationId: UpdateCallbackUrlInSubscription
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: /v1/tx-subscriptions/{subscription_id}/enable
method: patch
operationId: EnableSubscription
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: /v1/tx-subscriptions/{subscription_id}/disable
method: patch
operationId: DisableSubscription
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /v1/tx-subscriptions/{subscription_id}/chain_ids
method: patch
operationId: UpdateChainIdsInSubscription
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