Chainstack Polygon Node API
Chainstack-managed Polygon mainnet (PoS) and Polygon Amoy testnet JSON-RPC nodes with debug/trace namespaces available on archive nodes.
Chainstack-managed Polygon mainnet (PoS) and Polygon Amoy testnet JSON-RPC nodes with debug/trace namespaces available on archive nodes.
openapi: 3.0.3
info:
title: Chainstack Polygon Node API
version: 1.0.0
description: Chainstack-managed RPC node API for the Polygon 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/polygon_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: Account Info
- name: Blocks Info
- name: Chain Info
- name: Client Info
- name: Debug And Trace
- name: Execute Transactions
- name: Filter Handling
- name: Gas Data
- name: Logs And Events
- name: Transaction Info
paths:
/eth_getBalance:
post:
tags:
- Account Info
summary: eth_getBalance
operationId: getBalance
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBalance
params:
type: array
items:
anyOf:
- type: string
default: '0xA507fF8a59De851134BC44063840A334A243a99E'
- type: string
default: latest
default:
- '0xA507fF8a59De851134BC44063840A334A243a99E'
- latest
responses:
'200':
description: The balance information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getCode:
post:
tags:
- Account Info
summary: eth_getCode
operationId: getCode
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getCode
params:
type: array
items:
anyOf:
- type: string
default: '0xb0897686c545045aFc77CF20eC7A532E3120E0F1'
- type: string
default: latest
default:
- '0xb0897686c545045aFc77CF20eC7A532E3120E0F1'
- latest
responses:
'200':
description: The code information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getStorageAt:
post:
tags:
- Account Info
summary: eth_getStorageAt
operationId: getStorageAt
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
method:
type: string
default: eth_getStorageAt
params:
type: array
items:
anyOf:
- type: string
default: '0xAE975071Be8F8eE67addBC1A82488F1C24858067'
- type: string
default: '0x0'
- type: string
default: latest
default:
- '0xAE975071Be8F8eE67addBC1A82488F1C24858067'
- '0x0'
- latest
responses:
'200':
description: The storage information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getTransactionCount:
post:
tags:
- Account Info
summary: eth_getTransactionCount
operationId: getTransactionCount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getTransactionCount
params:
type: array
items:
anyOf:
- type: string
default: '0xe341b2f448eb190495ed4a89c01f20078b26b0f6'
- type: string
default: latest
default:
- '0xe341b2f448eb190495ed4a89c01f20078b26b0f6'
- latest
responses:
'200':
description: The transaction count information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_blockNumber:
post:
tags:
- Blocks Info
summary: eth_blockNumber
operationId: eth_blockNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_blockNumber
params:
type: array
default: []
responses:
'200':
description: The latest block number.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getBlockByHash:
post:
tags:
- Blocks Info
summary: eth_getBlockByHash
operationId: getBlockByHash
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBlockByHash
params:
type: array
items:
anyOf:
- type: string
default: '0x633a90413361fe1889d1e5ab4cb222608d224c458b30289b8390496a3fab29d8'
- type: boolean
default: false
default:
- '0xdfa56bbff2aafaf7b0ac33ca0fd1393ca15830a608763680a563d0a7b4c083ff'
- false
responses:
'200':
description: The block information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getBlockByNumber:
post:
tags:
- Blocks Info
summary: eth_getBlockByNumber
operationId: getBlockByNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBlockByNumber
params:
type: array
items:
anyOf:
- type: string
title: Block identifier
description: The block number or tag.
- type: boolean
title: Transaction selector
description: True for the full transactions, false for only the transaction hashes.
default:
- latest
- false
responses:
'200':
description: The block information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_getBlockTransactionCountByHash:
post:
tags:
- Blocks Info
summary: eth_getBlockTransactionCountByHash
operationId: getBlockTransactionCountByHash
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBlockTransactionCountByHash
params:
type: array
items:
type: string
description: The block hash identifier.
default:
- '0x7709b7cacb9a3d647afe557d51891c00ad0c00e01d5bffdbcfe6c1730d36290c'
responses:
'200':
description: The block information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_getBlockTransactionCountByNumber:
post:
tags:
- Blocks Info
summary: eth_getBlockTransactionCountByNumber
operationId: getBlockTransactionCountByNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_getBlockTransactionCountByNumber
params:
type: array
items:
type: string
description: The block number.
default:
- '0x1F37730'
responses:
'200':
description: The block transaction count information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/eth_newBlockFilter:
post:
summary: eth_newBlockFilter
operationId: newBlockFilter
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_newBlockFilter
params:
type: array
default: []
id:
type: integer
default: 1
responses:
'200':
description: The new filter ID.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: array
items:
type: string
tags:
- Blocks Info
/eth_chainId:
post:
tags:
- Chain Info
summary: eth_chainId
operationId: chainId
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_chainId
responses:
'200':
description: The chain ID information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_syncing:
post:
tags:
- Chain Info
summary: Eth_Syncing
operationId: syncing
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_syncing
responses:
'200':
description: The syncing information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/net_listening:
post:
tags:
- Client Info
summary: Net_Listening
operationId: netListening
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: net_listening
responses:
'200':
description: The network listening status
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: boolean
/net_peerCount:
post:
tags:
- Client Info
summary: net_peerCount
operationId: peerCount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: net_peerCount
responses:
'200':
description: The peer count information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/web3_clientVersion:
post:
tags:
- Client Info
summary: web3_clientVersion
operationId: clientVersion
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: web3_clientVersion
responses:
'200':
description: The client version information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: string
/debug_traceBlockByHash:
post:
tags:
- Debug And Trace
summary: debug_traceBlockByHash
operationId: traceBlockByHash
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceBlockByHash
params:
type: array
items:
anyOf:
- type: string
title: Block Hash
description: The block hash.
- type: object
title: Tracer type
properties:
tracer:
type: string
description: The type of tracer.
default:
- '0x22507441629262af0d44bfadebe086470df5936827bc482300b5183b4b8ac8bd'
- tracer: 4byteTracer
responses:
'200':
description: The block traces.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/debug_traceBlockByNumber:
post:
tags:
- Debug And Trace
summary: debug_traceBlockByNumber
operationId: traceBlockByNumber
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceBlockByNumber
params:
type: array
items:
anyOf:
- type: string
title: Block identifier
description: The block hash.
- type: object
title: Tracer type
properties:
tracer:
type: string
description: The type of tracer.
default:
- latest
- tracer: callTracer
responses:
'200':
description: The block traces.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/debug_traceCall:
post:
tags:
- Debug And Trace
summary: debug_traceCall
operationId: traceCall
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceCall
params:
type: array
items:
anyOf:
- type: object
title: Transaction call Object
- type: string
title: Block Identifier
default:
- from: '0xe7e8569267c4a3278be75a2d86fd1a9e0a6818d8'
to: '0xc2edad668740f1aa35e4d8f227fb8e17dca888cd'
gas: '0x1E9EF'
gasPrice: '0x72AC5BA54E'
data: '0x441a3e70000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000c6c3eca729cb9e'
- latest
- tracer: callTracer
responses:
'200':
description: The call's trace.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/debug_traceTransaction:
post:
tags:
- Debug And Trace
summary: debug_traceTransaction
operationId: traceTransaction
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: debug_traceTransaction
params:
type: array
items:
anyOf:
- type: string
title: Transaction hash
description: The hash of the transaction to trace.
- type: object
title: Tracing options
default:
- '0xc41f73f75ee878d71ac9b318304bc0218b8bdde60c82f9579ab94a8faa705ed4'
- disableStorage: false
disableStack: false
disableMemory: false
disableReturnData: false
timeout: 1m
responses:
'200':
description: The transaction's trace.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/trace_block:
post:
tags:
- Debug And Trace
summary: Trace_Block
operationId: trace_block
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: trace_block
params:
type: array
items:
anyOf:
- type: string
title: Block identifier
description: The block number or tag.
default:
- latest
responses:
'200':
description: The block's trace.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/trace_transaction:
post:
tags:
- Debug And Trace
summary: Trace_Transaction
operationId: trace_transaction
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: trace_transaction
params:
type: array
items:
anyOf:
- type: string
title: Transaction hash
description: The hash of the transaction to trace.
default:
- '0xc41f73f75ee878d71ac9b318304bc0218b8bdde60c82f9579ab94a8faa705ed4'
responses:
'200':
description: The transaction's trace.
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_call:
post:
tags:
- Execute Transactions
summary: Eth_Call
operationId: ethCall
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: '0x0769fd68dFb93167989C6f7254cd0D766Fb2841F'
data:
type: string
default: '0x78ed5d1f0000000000000000000000000000000000000000000000000000000000000001'
- type: string
default: latest
default:
- to: '0x0769fd68dFb93167989C6f7254cd0D766Fb2841F'
data: '0x78ed5d1f0000000000000000000000000000000000000000000000000000000000000001'
- latest
responses:
'200':
description: The call information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_sendRawTransaction:
post:
tags:
- Execute Transactions
summary: eth_sendRawTransaction
operationId: sendRawTransaction
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
default: 1
jsonrpc:
type: string
default: '2.0'
method:
type: string
default: eth_sendRawTransaction
params:
type: array
items:
type: string
default: '0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675'
default:
- '0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675'
responses:
'200':
description: The transaction information
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
id:
type: integer
result:
type: object
/eth_sendRawTransactionSync:
post:
tags:
- Execute Transactions
summary: eth_sendRawTransactionSync
operationId: sendRawTransactionSync
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_sendRawTransactionSync
id:
type: integer
default: 1
params:
type: array
default:
- '0xf86c808504a817c80082520894ab5db0e98b8ea6b7f9d8ad8e8ed0bc8fba0d1a2f870de0b6b3a764000080821b9f'
items:
type: string
minItems: 1
maxItems: 2
examples:
example1:
summary: Submit raw transaction with hex-encoded timeout
value:
jsonrpc: '2.0'
method: eth_sendRawTransactionSync
params:
- '0xf86c808504a817c80082520894ab5db0e98b8ea6b7f9d8ad8e8ed0bc8fba0d1a2f870de0b6b3a764000080821b9f'
- '0x1388'
id: 1
responses:
'200':
description: Successful transaction submission with receipt
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
type: integer
example: 1
result:
type: object
properties:
transactionHash:
type: string
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chainstack/refs/heads/main/openapi/chainstack-polygon-node-api-openapi.yml