Chainstack Base Node API
Chainstack-managed Base mainnet and Sepolia JSON-RPC nodes. 60 documented eth_/op_ methods plus Flashblocks (200 ms preconfirmations).
Chainstack-managed Base mainnet and Sepolia JSON-RPC nodes. 60 documented eth_/op_ methods plus Flashblocks (200 ms preconfirmations).
openapi: 3.0.3
info:
title: Chainstack Base Node API
version: 1.0.0
description: Chainstack-managed RPC node API for the Base blockchain. Endpoints follow the canonical JSON-RPC over HTTPS
interface for the network. Authenticate against your Chainstack node's per-node URL (e.g. https://nd-XXX-XXX-XXX.p2pify.com/<key>).
Merged from the Chainstack Developer Portal per-method fragments at https://github.com/chainstack/dev-portal/tree/main/openapi/base_node_api.
contact:
name: Chainstack API Support
email: [email protected]
license:
name: Chainstack Terms
url: https://chainstack.com/terms-of-service/
servers:
- url: https://{node_id}.p2pify.com/{api_key}
description: Chainstack-managed node endpoint
variables:
node_id:
default: nd-000-000-000
description: Your Chainstack node identifier
api_key:
default: <api-key>
description: Per-node access key
tags:
- name: General
paths:
/debug_getModifiedAccountsByHash:
post:
tags:
- General
summary: debug_getModifiedAccountsByHash
operationId: getModifiedAccountsByHash
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_getModifiedAccountsByHash
id:
type: integer
default: 1
params:
type: array
items:
type: string
default:
- '0x5208b53713adbfe3397055946b487b16c45f018dee8213df81b3f4ccb9b3142d'
responses:
'200':
description: A list of accounts modified in the specified block
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: string
description: The addresses of the modified accounts.
/debug_getModifiedAccountsByNumber:
post:
tags:
- General
summary: debug_getModifiedAccountsByNumber
operationId: getModifiedAccountsByNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_getModifiedAccountsByNumber
id:
type: string
default: '1'
params:
type: array
default:
- '0xbb54e6'
- '0xbb54e7'
items:
type: string
responses:
'200':
description: A list of accounts modified between the two block numbers
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: string
result:
type: array
items:
type: string
description: The addresses of the modified accounts.
/debug_storageRangeAt:
post:
tags:
- General
summary: debug_storageRangeAt
operationId: getStorageRangeAt
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_storageRangeAt
id:
type: integer
default: 1
params:
type: array
items:
oneOf:
- type: string
- type: integer
default:
- '0xc40b7058b5b80e565dfb986fe852c047733291291c8de1be8888ae64b5457bbd'
- 25
- '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
- '0x00000000000000000000000000000000'
- 2
responses:
'200':
description: Storage data for the specified range
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
properties:
storage:
type: object
additionalProperties: true
complete:
type: boolean
description: The storage entries and a flag indicating if the storage is complete.
/debug_traceBlockByHash:
post:
tags:
- General
summary: debug_traceBlockByHash
operationId: traceBlockByHash
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceBlockByHash
id:
type: integer
default: 1
params:
type: array
items:
type: string
default:
- '0xff9d126bda9b40194e2ac7ad069652fd2b9200c2739fdb78817da89903ce3b5d'
responses:
'200':
description: Detailed execution traces for all transactions in the specified block
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: object
description: An array of execution traces for each transaction in the block.
/debug_traceBlockByNumber:
post:
tags:
- General
summary: debug_traceBlockByNumber
operationId: traceBlockByNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceBlockByNumber
id:
type: integer
default: 1
params:
type: array
items:
type: string
default:
- '0xbb5583'
responses:
'200':
description: Detailed execution traces for all transactions in the specified block
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: object
description: An array of execution traces for each transaction in the block.
/debug_traceCall:
post:
tags:
- General
summary: Execute a call and retrieve a detailed execution trace
operationId: traceCall
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceCall
id:
type: integer
default: 1
params:
type: array
description: Parameters for the call
default:
- to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
gasPrice: '0x7896e72a'
data: '0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87'
- latest
responses:
'200':
description: Detailed execution trace of the call
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
properties:
structLogs:
type: array
items:
type: object
description: An array of execution steps (opcodes) taken by the call.
gas:
type: integer
description: The gas provided by the call.
returnValue:
type: string
description: The return value of the call, if any.
gasUsed:
type: integer
description: The total gas used by the call.
failed:
type: boolean
description: Indicates whether the call failed.
/debug_traceCallMany:
post:
tags:
- General
summary: Execute multiple calls and retrieve detailed execution traces
operationId: traceCallMany
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceCallMany
id:
type: integer
default: 1
params:
type: array
description: Parameters for the call
default:
- - transactions:
- from: '0x1985EA6E9c68E1C272d8209f3B478AC2Fdb25c87'
to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
gas: '0xf4240'
gasPrice: '0x7896e72a'
data: '0xa9059cbb000000000000000000000000bc0E63965946815d105E7591407704e6e1964E590000000000000000000000000000000000000000000000000000000005f5e100'
- to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
gasPrice: '0x7896e72a'
data: '0x70a08231000000000000000000000000bc0E63965946815d105E7591407704e6e1964E59'
blockOverride:
blockNumber: '0xbb5fe9'
- blockNumber: '0xbb5fe9'
transactionIndex: 1
- {}
responses:
'200':
description: Detailed execution traces of the calls
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: object
properties:
structLogs:
type: array
items:
type: object
properties:
pc:
type: integer
op:
type: string
gas:
type: integer
gasCost:
type: integer
depth:
type: integer
stack:
type: array
memory:
type: array
gas:
type: integer
returnValue:
type: string
gasUsed:
type: integer
failed:
type: boolean
/debug_traceTransaction:
post:
tags:
- General
summary: debug_traceTransaction
operationId: traceTransaction
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceTransaction
id:
type: integer
default: 1
params:
type: array
items:
type: string
default:
- '0x317888c89fe0914c6d11be51acf758742afbe0cf1fdac11f19d35d6ed652ac29'
responses:
'200':
description: Detailed execution trace of the specified transaction
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
properties:
structLogs:
type: array
items:
type: object
description: An array of execution steps (opcodes) taken by the transaction.
gas:
type: integer
description: The gas provided by the transaction.
returnValue:
type: string
description: The return value of the transaction, if any.
gasUsed:
type: integer
description: The total gas used by the transaction.
failed:
type: boolean
description: Indicates whether the transaction failed.
description: The detailed execution trace of the transaction.
/eth_accounts:
post:
tags:
- General
summary: Eth_Accounts
operationId: accounts
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_accounts
id:
type: integer
default: 1
responses:
'200':
description: List of addresses owned by the client
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: string
description: Array of 20 Bytes - addresses owned by the client
/eth_blockNumber:
post:
tags:
- General
summary: eth_blockNumber
operationId: blockNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_blockNumber
id:
type: integer
default: 1
responses:
'200':
description: The block number information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_call:
post:
tags:
- General
summary: Eth_Call
operationId: call
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_call
id:
type: integer
default: 1
params:
type: array
items:
anyOf:
- type: object
properties:
to:
type: string
default: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
data:
type: string
default: '0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87'
- type: string
default: latest
default:
- to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
data: '0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87'
- latest
responses:
'200':
description: The result of the call
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_callMany:
post:
tags:
- General
summary: eth_callMany
operationId: callMany
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_callMany
id:
type: integer
default: 1
params:
type: array
default:
- - transactions:
- from: '0x1985EA6E9c68E1C272d8209f3B478AC2Fdb25c87'
to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
gas: '0xf4240'
gasPrice: '0x7896e72a'
data: '0xa9059cbb000000000000000000000000bc0E63965946815d105E7591407704e6e1964E590000000000000000000000000000000000000000000000000000000005f5e100'
- to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
gasPrice: '0x7896e72a'
data: '0x70a08231000000000000000000000000bc0E63965946815d105E7591407704e6e1964E59'
blockOverride:
blockNumber: '0xbb5fe9'
- blockNumber: '0xbb5fe9'
transactionIndex: 1
- {}
items:
type: object
responses:
'200':
description: The result of the multiple calls
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: object
description: The results of the executed calls.
/eth_chainId:
post:
tags:
- General
summary: eth_chainId
operationId: chainId
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_chainId
id:
type: integer
default: 1
responses:
'200':
description: The current chain ID
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_createAccessList:
post:
tags:
- General
summary: eth_createAccessList
operationId: createAccessList
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_createAccessList
id:
type: integer
default: 1
params:
type: array
items:
anyOf:
- type: object
properties:
from:
type: string
default: '0xaeA8F8f781326bfE6A7683C2BD48Dd6AA4d3Ba63'
data:
type: string
default: '0x608060806080608155'
- type: string
default: pending
default:
- from: '0xaeA8F8f781326bfE6A7683C2BD48Dd6AA4d3Ba63'
data: '0x608060806080608155'
- pending
responses:
'200':
description: The generated access list and gas used
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
properties:
accessList:
type: array
items:
type: object
properties:
address:
type: string
storageKeys:
type: array
items:
type: string
gasUsed:
type: string
/eth_estimateGas:
post:
tags:
- General
summary: eth_estimateGas
operationId: estimateGas
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_estimateGas
id:
type: integer
default: 1
params:
type: array
items:
anyOf:
- type: object
properties:
from:
type: string
default: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
to:
type: string
default: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8'
- type: string
default: latest
default:
- from: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
to: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8'
- latest
responses:
'200':
description: The estimated gas required
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_feeHistory:
post:
tags:
- General
summary: eth_feeHistory
operationId: feeHistory
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_feeHistory
id:
type: integer
default: 1
params:
type: array
items:
anyOf:
- type: integer
- type: string
- type: array
items:
type: integer
- type: array
items:
type: string
default:
- 1024
- latest
- - 10
- 20
- 30
responses:
'200':
description: Historical gas fee data
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
properties:
oldestBlock:
type: string
baseFeePerGas:
type: array
items:
type: string
gasUsedRatio:
type: array
items:
type: number
reward:
type: array
items:
type: array
items:
type: string
/eth_gasPrice:
post:
tags:
- General
summary: eth_gasPrice
operationId: gasPrice
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_gasPrice
id:
type: integer
default: 1
responses:
'200':
description: The current gas price
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_getBalance:
post:
tags:
- General
summary: eth_getBalance
operationId: getBalance
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- method
- id
- params
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBalance
id:
type: integer
default: 1
params:
type: array
default:
- '0xF977814e90dA44bFA03b6295A0616a897441aceC'
- latest
items:
type: string
responses:
'200':
description: The balance of the account
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_getBlockByHash:
post:
tags:
- General
summary: eth_getBlockByHash
operationId: getBlockByHash
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBlockByHash
id:
type: integer
default: 1
params:
type: array
items:
anyOf:
- type: string
default: '0x07fcc7d5f86839e12afa756e979de05812b5341f936b850c9409aa0938819b30'
- type: boolean
default: true
default:
- '0x07fcc7d5f86839e12afa756e979de05812b5341f936b850c9409aa0938819b30'
- true
responses:
'200':
description: The block information by hash
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getBlockByNumber:
post:
tags:
- General
summary: eth_getBlockByNumber
operationId: getBlockByNumb
# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chainstack/refs/heads/main/openapi/chainstack-base-node-api-openapi.yml