BVNK · Agentic Access

BVNK Agentic Access

x-agentic-access generated

BVNK exposes 54 API operations that an AI agent could call, of which 20 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: 34 read, 17 write, and 3 physical.

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.

CompanyPaymentsStablecoinsCryptocurrencyWalletsVirtual AccountsCross-Border PaymentsFinancial ServicesCardsDigital AssetsBankingCompliance
Operations: 54 Acting: 20 Human-in-the-loop: 0 Method: generated

By consequence

read 34 write 17 physical 3

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.

MethodPathConsequenceHuman-in-loop
POST /api/v1/pay/summary physical conditional
PUT /api/v1/pay/validate physical conditional
PUT /digital/v1/screenings/action physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-08-08'
method: generated
source: openapi/bvnk-api-endpoints-openapi-original.yml, openapi/bvnk-layer1-digital-asset-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: 54
  by_action_class:
    connected: 34
    acting: 20
  by_consequence:
    read: 34
    write: 17
    physical: 3
  human_in_the_loop_required: 0
operations:
- path: /api/currency/crypto
  method: get
  operationId: listCurrenciesCrypto
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/currency/fiat
  method: get
  operationId: listCurrenciesFiat
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/currency/deposit
  method: get
  operationId: listCurrenciesDeposit
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/merchant
  method: get
  operationId: merchantIdList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/merchant
  method: post
  operationId: merchantIdCreate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - merchant
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/pay/summary
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/pay/summary
  method: post
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - merchant
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/pay/{uuid}/summary
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/pay/validate
  method: put
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/channel
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/channel
  method: post
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - merchant
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/channel/{uuid}
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/channel/payment/{uuid}
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/channel/payment
  method: get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/wallet
  method: get
  operationId: walletList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - user
    token:
      max-ttl: 3600
    audit: none
- path: /api/wallet
  method: post
  operationId: walletCreate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - user
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/wallet/{id}
  method: get
  operationId: walletRGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - user
    token:
      max-ttl: 3600
    audit: none
- path: /api/wallet/balances
  method: get
  operationId: walletBalanceList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - user
    token:
      max-ttl: 3600
    audit: none
- path: /api/transaction/report
  method: get
  operationId: transactionReport
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - user
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/quote
  method: post
  operationId: quoteCreate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - merchant
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/quote/accept/{uuid}
  method: put
  operationId: quoteAccept
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - merchant
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/quote/{uuid}
  method: get
  operationId: quoteRead
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - merchant
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/quote/{merchantId}
  method: get
  operationId: quoteList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - x-example
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/screenings/action
  method: put
  operationId: manuallyActionHeldTransfer
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - screenings:edit
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/transaction-requests
  method: get
  operationId: listTransactionRequests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - transactions:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/transaction-requests
  method: post
  operationId: createTransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transactions:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/transaction-claims
  method: post
  operationId: claimTransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transactions:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/staking-requests
  method: post
  operationId: createStakingTransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transactions:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/returns
  method: post
  operationId: createReturnTransactionRequest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - transactions:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/key-pairs
  method: get
  operationId: listKeyPairs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - keypairs:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/key-pairs
  method: post
  operationId: createKeyPair
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - keypairs:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/fee-estimate
  method: post
  operationId: estimateTransactionFee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - fee-estimate:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/exports
  method: get
  operationId: getExports
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ${exports.read-scope:exports:view}
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/exports
  method: post
  operationId: createBalanceExport
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - exports:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/asset-pools
  method: get
  operationId: listAssetPools
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - asset-pools:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/asset-pools
  method: post
  operationId: createAssetPool
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - asset-pools:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/addresses
  method: get
  operationId: listAddresses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - addresses:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/addresses
  method: post
  operationId: createAddress
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - addresses:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/addresses/validate
  method: post
  operationId: validateAddress
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - addresses:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/asset-pools/{assetPoolId}
  method: delete
  operationId: deleteAssetPool
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - asset-pools:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/asset-pools/{assetPoolId}
  method: get
  operationId: getAssetPool
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - asset-pools:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/asset-pools/{assetPoolId}
  method: patch
  operationId: updateAssetPool
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - asset-pools:edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /digital/v1/transactions
  method: get
  operationId: listTransactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - transactions:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/transactions/{transactionId}
  method: get
  operationId: getTransactionById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - transactions:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/transaction-requests/{requestId}
  method: get
  operationId: getTransactionRequestById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - transactions:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/screenings
  method: get
  operationId: listScreenings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - screenings:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/networks
  method: get
  operationId: getNetworks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - networks:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/key-pairs/{keyPairId}
  method: get
  operationId: getKeyPair
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - keypairs:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/exports/{id}
  method: get
  operationId: getExport
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ${exports.read-scope:exports:view}
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/asset-pools/{assetPoolId}/max-withdrawable-amount
  method: get
  operationId: getAssetPoolMaxWithdrawableAmount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - asset-pools:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/asset-pools/{assetPoolId}/balances
  method: get
  operationId: getAssetPoolBalance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - asset-pools:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/asset-pools/summary
  method: get
  operationId: getAssetPoolSummary
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - asset-pools:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/addresses/{addressId}
  method: get
  operationId: getAddress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - addresses:view
    token:
      max-ttl: 3600
    audit: none
- path: /digital/v1/addresses/{addressId}/tags
  method: get
  operationId: listTags
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - addresses:view
    token:
      max-ttl: 3600
    audit: none