generated: '2026-07-15' method: generated source: openapi/blockscout-openapi.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: 57 by_action_class: connected: 56 acting: 1 by_consequence: read: 56 write: 1 human_in_the_loop_required: 0 operations: - path: /search method: get operationId: search x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /search/check-redirect method: get operationId: search redirect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions method: get operationId: get_txs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /blocks method: get operationId: get_blocks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /token-transfers method: get operationId: get_token_transfers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /internal-transactions method: get operationId: get_internal_transactions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /main-page/transactions method: get operationId: get_main_page_txs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /main-page/blocks method: get operationId: get_main_page_tokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /main-page/indexing-status method: get operationId: get_indexing_status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats method: get operationId: get_stats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/charts/transactions method: get operationId: get_txs_chart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/charts/market method: get operationId: get_market_chart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash} method: get operationId: get_tx x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash}/token-transfers method: get operationId: get_transaction_token_transfers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash}/internal-transactions method: get operationId: get_transaction_internal_txs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash}/logs method: get operationId: get_transaction_logs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash}/raw-trace method: get operationId: get_transaction_raw_trace x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash}/state-changes method: get operationId: get_transaction_state_changes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transactions/{transaction_hash}/summary method: get operationId: get_transaction_summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /blocks/{block_number_or_hash} method: get operationId: get_block x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /blocks/{block_number_or_hash}/transactions method: get operationId: get_block_txs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /blocks/{block_number_or_hash}/withdrawals method: get operationId: get_block_withdrawals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses method: get operationId: get_addresses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash} method: get operationId: get_address x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/counters method: get operationId: get_address_counters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/transactions method: get operationId: get_address_txs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/token-transfers method: get operationId: get_address_token_transfers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/internal-transactions method: get operationId: get_address_internal_txs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/logs method: get operationId: get_address_logs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/blocks-validated method: get operationId: get_address_blocks_validated x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/token-balances method: get operationId: get_address_token_balances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/tokens method: get operationId: get_address_tokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/coin-balance-history method: get operationId: get_address_coin_balance_history x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/coin-balance-history-by-day method: get operationId: get_address_coin_balance_history_by_day x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/withdrawals method: get operationId: get_address_withdrawals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/nft method: get operationId: get_address_nft x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /addresses/{address_hash}/nft/collections method: get operationId: get_address_nft_collections x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens method: get operationId: get_tokens_list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash} method: get operationId: get_token x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/transfers method: get operationId: get_token_token_transfers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/holders method: get operationId: get_token_holders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/counters method: get operationId: get_token_counters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/instances method: get operationId: get_nft_instances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/instances/{id} method: get operationId: get_nft_instance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/instances/{id}/transfers method: get operationId: get_nft_instance_transfers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/instances/{id}/holders method: get operationId: get_token_instance_holders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/instances/{id}/transfers-count method: get operationId: get_nft_instance_transfers_count x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tokens/{address_hash}/instances/{id}/refetch-metadata method: patch operationId: refetch_token_instance_metadata 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: /smart-contracts method: get operationId: get_smart_contracts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /smart-contracts/counters method: get operationId: get_smart_contracts_counters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /smart-contracts/{address_hash} method: get operationId: get_smart_contract x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /config/json-rpc-url method: get operationId: get_json_rpc_url x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /withdrawals method: get operationId: get_withdrawals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /proxy/account-abstraction/status method: get operationId: get_account_abstraction_status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/celestia/blob method: get operationId: CelestiaService_GetBlob x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/celestia/l2BatchMetadata method: get operationId: CelestiaService_GetL2BatchMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /health method: get operationId: Health_Check x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none