QuickNode Core RPC API
Multi-chain JSON-RPC, REST, and gRPC endpoints across 77+ blockchains (Ethereum, Solana, Polygon, Arbitrum, Optimism, Base, Bitcoin, Aptos, Avalanche, BNB, etc.).
Multi-chain JSON-RPC, REST, and gRPC endpoints across 77+ blockchains (Ethereum, Solana, Polygon, Arbitrum, Optimism, Base, Bitcoin, Aptos, Avalanche, BNB, etc.).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/core-rpc"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
asyncapi: '2.6.0'
info:
title: QuickNode WebSocket Subscription API
version: '1.0.0'
description: |
AsyncAPI definition for QuickNode WebSocket subscription endpoints across
Ethereum (and EVM-compatible chains) and Solana. All subscriptions use the
JSON-RPC 2.0 envelope. After a successful subscription request the server
responds with a subscription id; the server then pushes notifications via
the corresponding `*Notification` method until the client unsubscribes.
Sources:
- https://www.quicknode.com/docs/ethereum/eth_subscribe
- https://www.quicknode.com/docs/solana/accountSubscribe
- https://www.quicknode.com/docs/solana/blockSubscribe
- https://www.quicknode.com/docs/solana/logsSubscribe
- https://www.quicknode.com/docs/solana/programSubscribe
- https://www.quicknode.com/docs/solana/signatureSubscribe
- https://www.quicknode.com/docs/solana/slotSubscribe
- https://www.quicknode.com/docs/solana/slotsUpdatesSubscribe
- https://www.quicknode.com/docs/solana/voteSubscribe
- https://www.quicknode.com/docs/solana/rootSubscribe
contact:
name: QuickNode
url: https://www.quicknode.com/
license:
name: Proprietary
url: https://www.quicknode.com/terms
defaultContentType: application/json
servers:
ethereum:
url: wss://{endpointName}.quiknode.pro/{token}/
protocol: wss
description: QuickNode Ethereum (and EVM-compatible) WebSocket endpoint
variables:
endpointName:
description: Customer-specific QuickNode endpoint slug
default: your-endpoint
token:
description: Authentication token issued by QuickNode for the endpoint
default: your-token
solana:
url: wss://{endpointName}.solana-mainnet.quiknode.pro/{token}/
protocol: wss
description: QuickNode Solana WebSocket endpoint
variables:
endpointName:
description: Customer-specific QuickNode endpoint slug
default: your-endpoint
token:
description: Authentication token issued by QuickNode for the endpoint
default: your-token
channels:
###############################
# Ethereum / EVM subscriptions
###############################
ethereum/newHeads:
description: |
Subscribe to new block headers on Ethereum (or any EVM chain) via
`eth_subscribe` with the `newHeads` subscription type. The server returns
a hex-encoded subscription id and then streams a notification for every
new block header. Cancel with `eth_unsubscribe`.
servers:
- ethereum
publish:
operationId: subscribeEthNewHeads
summary: Send eth_subscribe / eth_unsubscribe for newHeads
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeNewHeadsRequest'
- $ref: '#/components/messages/EthUnsubscribeRequest'
subscribe:
operationId: receiveEthNewHeads
summary: Receive subscription id and newHeads notifications
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeResponse'
- $ref: '#/components/messages/EthUnsubscribeResponse'
- $ref: '#/components/messages/EthNewHeadsNotification'
ethereum/logs:
description: |
Subscribe to event logs matching filter criteria (addresses, topics) via
`eth_subscribe` with the `logs` subscription type.
servers:
- ethereum
publish:
operationId: subscribeEthLogs
summary: Send eth_subscribe / eth_unsubscribe for logs
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeLogsRequest'
- $ref: '#/components/messages/EthUnsubscribeRequest'
subscribe:
operationId: receiveEthLogs
summary: Receive subscription id and log notifications
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeResponse'
- $ref: '#/components/messages/EthUnsubscribeResponse'
- $ref: '#/components/messages/EthLogsNotification'
ethereum/newPendingTransactions:
description: |
Subscribe to pending transactions entering the mempool via
`eth_subscribe` with the `newPendingTransactions` subscription type. With
the optional boolean flag set to true, full transaction objects are
returned instead of hashes.
servers:
- ethereum
publish:
operationId: subscribeEthNewPendingTransactions
summary: Send eth_subscribe / eth_unsubscribe for newPendingTransactions
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeNewPendingTransactionsRequest'
- $ref: '#/components/messages/EthUnsubscribeRequest'
subscribe:
operationId: receiveEthNewPendingTransactions
summary: Receive subscription id and pending transaction notifications
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeResponse'
- $ref: '#/components/messages/EthUnsubscribeResponse'
- $ref: '#/components/messages/EthNewPendingTransactionsNotification'
ethereum/syncing:
description: |
Subscribe to node sync state changes via `eth_subscribe` with the
`syncing` subscription type. Notifications are emitted when the node
starts or stops syncing and with periodic progress reports.
servers:
- ethereum
publish:
operationId: subscribeEthSyncing
summary: Send eth_subscribe / eth_unsubscribe for syncing
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeSyncingRequest'
- $ref: '#/components/messages/EthUnsubscribeRequest'
subscribe:
operationId: receiveEthSyncing
summary: Receive subscription id and syncing notifications
message:
oneOf:
- $ref: '#/components/messages/EthSubscribeResponse'
- $ref: '#/components/messages/EthUnsubscribeResponse'
- $ref: '#/components/messages/EthSyncingNotification'
###############################
# Solana subscriptions
###############################
solana/accountSubscribe:
description: |
Subscribe to changes (lamports or data) on a specific Solana account
identified by a base-58 encoded Pubkey. Notifications use the same
shape as the `getAccountInfo` RPC response. Cancel with
`accountUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaAccount
summary: Send accountSubscribe / accountUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolAccountSubscribeRequest'
- $ref: '#/components/messages/SolAccountUnsubscribeRequest'
subscribe:
operationId: receiveSolanaAccount
summary: Receive subscription id and account notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolAccountNotification'
solana/blockSubscribe:
description: |
Subscribe to new confirmed or finalized blocks. The notification block
payload mirrors the structure returned by `getBlock`. Cancel with
`blockUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaBlock
summary: Send blockSubscribe / blockUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolBlockSubscribeRequest'
- $ref: '#/components/messages/SolBlockUnsubscribeRequest'
subscribe:
operationId: receiveSolanaBlock
summary: Receive subscription id and block notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolBlockNotification'
solana/logsSubscribe:
description: |
Subscribe to transaction logs filtered by `all`, `allWithVotes`, or an
object filter (e.g. mentioning a particular account). Cancel with
`logsUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaLogs
summary: Send logsSubscribe / logsUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolLogsSubscribeRequest'
- $ref: '#/components/messages/SolLogsUnsubscribeRequest'
subscribe:
operationId: receiveSolanaLogs
summary: Receive subscription id and log notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolLogsNotification'
solana/programSubscribe:
description: |
Subscribe to changes for any account owned by a specific program. The
notification payload mirrors `getProgramAccounts`. Cancel with
`programUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaProgram
summary: Send programSubscribe / programUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolProgramSubscribeRequest'
- $ref: '#/components/messages/SolProgramUnsubscribeRequest'
subscribe:
operationId: receiveSolanaProgram
summary: Receive subscription id and program-account notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolProgramNotification'
solana/signatureSubscribe:
description: |
Subscribe to confirmation of a specific transaction signature. The
subscription is automatically cancelled after the notification is
delivered.
servers:
- solana
publish:
operationId: subscribeSolanaSignature
summary: Send signatureSubscribe / signatureUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolSignatureSubscribeRequest'
- $ref: '#/components/messages/SolSignatureUnsubscribeRequest'
subscribe:
operationId: receiveSolanaSignature
summary: Receive subscription id and signature notification
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolSignatureNotification'
solana/slotSubscribe:
description: |
Subscribe to slot processing notifications. Cancel with `slotUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaSlot
summary: Send slotSubscribe / slotUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolSlotSubscribeRequest'
- $ref: '#/components/messages/SolSlotUnsubscribeRequest'
subscribe:
operationId: receiveSolanaSlot
summary: Receive subscription id and slot notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolSlotNotification'
solana/slotsUpdatesSubscribe:
description: |
Subscribe to detailed slot update lifecycle events (firstShredReceived,
completed, createdBank, frozen, dead, optimisticConfirmation, root).
Cancel with `slotsUpdatesUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaSlotsUpdates
summary: Send slotsUpdatesSubscribe / slotsUpdatesUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolSlotsUpdatesSubscribeRequest'
- $ref: '#/components/messages/SolSlotsUpdatesUnsubscribeRequest'
subscribe:
operationId: receiveSolanaSlotsUpdates
summary: Receive subscription id and slot-update notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolSlotsUpdatesNotification'
solana/voteSubscribe:
description: |
Subscribe to pre-consensus validator vote notifications. Cancel with
`voteUnsubscribe`. Note: votes are pre-consensus and may not enter the
ledger.
servers:
- solana
publish:
operationId: subscribeSolanaVote
summary: Send voteSubscribe / voteUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolVoteSubscribeRequest'
- $ref: '#/components/messages/SolVoteUnsubscribeRequest'
subscribe:
operationId: receiveSolanaVote
summary: Receive subscription id and vote notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolVoteNotification'
solana/rootSubscribe:
description: |
Subscribe to new root slot notifications. Cancel with `rootUnsubscribe`.
servers:
- solana
publish:
operationId: subscribeSolanaRoot
summary: Send rootSubscribe / rootUnsubscribe
message:
oneOf:
- $ref: '#/components/messages/SolRootSubscribeRequest'
- $ref: '#/components/messages/SolRootUnsubscribeRequest'
subscribe:
operationId: receiveSolanaRoot
summary: Receive subscription id and root notifications
message:
oneOf:
- $ref: '#/components/messages/SolSubscribeResponse'
- $ref: '#/components/messages/SolUnsubscribeResponse'
- $ref: '#/components/messages/SolRootNotification'
components:
messages:
# ---------- Ethereum messages ----------
EthSubscribeNewHeadsRequest:
name: EthSubscribeNewHeadsRequest
title: eth_subscribe newHeads request
summary: Subscribe to new block headers
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: eth_subscribe }
params:
type: array
minItems: 1
maxItems: 1
items:
- { type: string, const: newHeads }
example:
jsonrpc: '2.0'
id: 1
method: eth_subscribe
params: [newHeads]
EthSubscribeLogsRequest:
name: EthSubscribeLogsRequest
title: eth_subscribe logs request
summary: Subscribe to logs matching an optional address/topics filter
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: eth_subscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- { type: string, const: logs }
- $ref: '#/components/schemas/EthLogsFilter'
example:
jsonrpc: '2.0'
id: 1
method: eth_subscribe
params:
- logs
- address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
topics:
- '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
EthSubscribeNewPendingTransactionsRequest:
name: EthSubscribeNewPendingTransactionsRequest
title: eth_subscribe newPendingTransactions request
summary: Subscribe to pending transactions in the mempool
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: eth_subscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- { type: string, const: newPendingTransactions }
- { type: boolean, description: 'When true, returns full transaction objects instead of hashes' }
example:
jsonrpc: '2.0'
id: 1
method: eth_subscribe
params: [newPendingTransactions, false]
EthSubscribeSyncingRequest:
name: EthSubscribeSyncingRequest
title: eth_subscribe syncing request
summary: Subscribe to node sync state notifications
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: eth_subscribe }
params:
type: array
minItems: 1
maxItems: 1
items:
- { type: string, const: syncing }
example:
jsonrpc: '2.0'
id: 1
method: eth_subscribe
params: [syncing]
EthUnsubscribeRequest:
name: EthUnsubscribeRequest
title: eth_unsubscribe request
summary: Cancel an active eth_subscribe subscription
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: eth_unsubscribe }
params:
type: array
minItems: 1
maxItems: 1
items:
- { type: string, description: 'Hex-encoded subscription id returned from eth_subscribe' }
example:
jsonrpc: '2.0'
id: 2
method: eth_unsubscribe
params: ['0x9cef478923ff08bf67fde6c64013158d']
EthSubscribeResponse:
name: EthSubscribeResponse
title: eth_subscribe response
summary: Returned subscription id (hex string)
contentType: application/json
payload:
type: object
required: [jsonrpc, id, result]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
result:
type: string
description: Hex-encoded subscription id
example:
jsonrpc: '2.0'
id: 1
result: '0x9cef478923ff08bf67fde6c64013158d'
EthUnsubscribeResponse:
name: EthUnsubscribeResponse
title: eth_unsubscribe response
contentType: application/json
payload:
type: object
required: [jsonrpc, id, result]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
result:
type: boolean
description: True if the subscription was cancelled
example:
jsonrpc: '2.0'
id: 2
result: true
EthNewHeadsNotification:
name: EthNewHeadsNotification
title: eth_subscription newHeads notification
contentType: application/json
payload:
$ref: '#/components/schemas/EthNotificationEnvelope'
# the result is a block header
EthLogsNotification:
name: EthLogsNotification
title: eth_subscription logs notification
contentType: application/json
payload:
$ref: '#/components/schemas/EthNotificationEnvelope'
EthNewPendingTransactionsNotification:
name: EthNewPendingTransactionsNotification
title: eth_subscription newPendingTransactions notification
contentType: application/json
payload:
$ref: '#/components/schemas/EthNotificationEnvelope'
EthSyncingNotification:
name: EthSyncingNotification
title: eth_subscription syncing notification
contentType: application/json
payload:
$ref: '#/components/schemas/EthNotificationEnvelope'
# ---------- Solana shared messages ----------
SolSubscribeResponse:
name: SolSubscribeResponse
title: Solana *Subscribe response
summary: Returned subscription id (integer)
contentType: application/json
payload:
type: object
required: [jsonrpc, id, result]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
result:
type: integer
description: Subscription id used to unsubscribe
example:
jsonrpc: '2.0'
id: 1
result: 23784
SolUnsubscribeResponse:
name: SolUnsubscribeResponse
title: Solana *Unsubscribe response
contentType: application/json
payload:
type: object
required: [jsonrpc, id, result]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
result: { type: boolean }
example:
jsonrpc: '2.0'
id: 2
result: true
# ---------- Solana account ----------
SolAccountSubscribeRequest:
name: SolAccountSubscribeRequest
title: accountSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: accountSubscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- { type: string, description: 'Base-58 Pubkey of the account to monitor' }
- $ref: '#/components/schemas/SolAccountConfig'
example:
jsonrpc: '2.0'
id: 1
method: accountSubscribe
params:
- 'CM78CPUeXjn8o3yroDHxUtKsZZgoy4GPkPPXfouKNH12'
- { encoding: jsonParsed, commitment: finalized }
SolAccountUnsubscribeRequest:
name: SolAccountUnsubscribeRequest
title: accountUnsubscribe request
contentType: application/json
payload:
$ref: '#/components/schemas/SolUnsubscribeRequestBody'
SolAccountNotification:
name: SolAccountNotification
title: accountNotification
summary: Notification matching the getAccountInfo response shape
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/SolNotificationEnvelope'
- type: object
properties:
method: { const: accountNotification }
# ---------- Solana block ----------
SolBlockSubscribeRequest:
name: SolBlockSubscribeRequest
title: blockSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: blockSubscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- oneOf:
- { type: string, enum: [all] }
- type: object
properties:
mentionsAccountOrProgram: { type: string }
- $ref: '#/components/schemas/SolBlockConfig'
example:
jsonrpc: '2.0'
id: 1
method: blockSubscribe
params: [all]
SolBlockUnsubscribeRequest:
name: SolBlockUnsubscribeRequest
title: blockUnsubscribe request
contentType: application/json
payload:
$ref: '#/components/schemas/SolUnsubscribeRequestBody'
SolBlockNotification:
name: SolBlockNotification
title: blockNotification
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/SolNotificationEnvelope'
- type: object
properties:
method: { const: blockNotification }
params:
type: object
properties:
result:
type: object
properties:
context:
type: object
properties:
slot: { type: integer }
value:
type: object
properties:
slot: { type: integer }
err: { type: [object, 'null'] }
block:
type: object
description: Block object (same shape as getBlock)
# ---------- Solana logs ----------
SolLogsSubscribeRequest:
name: SolLogsSubscribeRequest
title: logsSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: logsSubscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- oneOf:
- { type: string, enum: [all, allWithVotes] }
- type: object
properties:
mentions:
type: array
items: { type: string }
- type: object
properties:
commitment: { $ref: '#/components/schemas/SolCommitment' }
encoding: { $ref: '#/components/schemas/SolEncoding' }
example:
jsonrpc: '2.0'
id: 1
method: logsSubscribe
params:
- { mentions: ['11111111111111111111111111111111'] }
- { commitment: finalized }
SolLogsUnsubscribeRequest:
name: SolLogsUnsubscribeRequest
title: logsUnsubscribe request
contentType: application/json
payload:
$ref: '#/components/schemas/SolUnsubscribeRequestBody'
SolLogsNotification:
name: SolLogsNotification
title: logsNotification
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/SolNotificationEnvelope'
- type: object
properties:
method: { const: logsNotification }
params:
type: object
properties:
result:
type: object
properties:
context:
type: object
properties:
slot: { type: integer }
value:
type: object
properties:
signature: { type: string, description: Base-58 transaction signature }
err: { type: [object, 'null'] }
logs:
type: [array, 'null']
items: { type: string }
# ---------- Solana program ----------
SolProgramSubscribeRequest:
name: SolProgramSubscribeRequest
title: programSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: programSubscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- { type: string, description: 'Base-58 program id' }
- $ref: '#/components/schemas/SolProgramConfig'
example:
jsonrpc: '2.0'
id: 1
method: programSubscribe
params:
- 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
- { encoding: jsonParsed, commitment: confirmed }
SolProgramUnsubscribeRequest:
name: SolProgramUnsubscribeRequest
title: programUnsubscribe request
contentType: application/json
payload:
$ref: '#/components/schemas/SolUnsubscribeRequestBody'
SolProgramNotification:
name: SolProgramNotification
title: programNotification
summary: Notification matching the getProgramAccounts response shape
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/SolNotificationEnvelope'
- type: object
properties:
method: { const: programNotification }
# ---------- Solana signature ----------
SolSignatureSubscribeRequest:
name: SolSignatureSubscribeRequest
title: signatureSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method, params]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: signatureSubscribe }
params:
type: array
minItems: 1
maxItems: 2
items:
- { type: string, description: 'Base-58 transaction signature' }
- type: object
properties:
commitment: { $ref: '#/components/schemas/SolCommitment' }
example:
jsonrpc: '2.0'
id: 1
method: signatureSubscribe
params:
- '5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KcEZQXKZ7G4'
- { commitment: finalized }
SolSignatureUnsubscribeRequest:
name: SolSignatureUnsubscribeRequest
title: signatureUnsubscribe request
contentType: application/json
payload:
$ref: '#/components/schemas/SolUnsubscribeRequestBody'
SolSignatureNotification:
name: SolSignatureNotification
title: signatureNotification
summary: |
Delivered once when the signature reaches the requested commitment.
The subscription is automatically cancelled after delivery.
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/SolNotificationEnvelope'
- type: object
properties:
method: { const: signatureNotification }
params:
type: object
properties:
result:
type: object
properties:
context:
type: object
properties:
slot: { type: integer }
value:
type: object
properties:
err: { type: [object, 'null'] }
# ---------- Solana slot ----------
SolSlotSubscribeRequest:
name: SolSlotSubscribeRequest
title: slotSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: slotSubscribe }
params:
type: array
maxItems: 0
example:
jsonrpc: '2.0'
id: 1
method: slotSubscribe
SolSlotUnsubscribeRequest:
name: SolSlotUnsubscribeRequest
title: slotUnsubscribe request
contentType: application/json
payload:
$ref: '#/components/schemas/SolUnsubscribeRequestBody'
SolSlotNotification:
name: SolSlotNotification
title: slotNotification
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/SolNotificationEnvelope'
- type: object
properties:
method: { const: slotNotification }
params:
type: object
properties:
result:
type: object
required: [parent, root, slot]
properties:
parent: { type: integer, description: Parent slot number }
root: { type: integer, description: Current root slot }
slot: { type: integer, description: New slot value }
# ---------- Solana slotsUpdates ----------
SolSlotsUpdatesSubscribeRequest:
name: SolSlotsUpdatesSubscribeRequest
title: slotsUpdatesSubscribe request
contentType: application/json
payload:
type: object
required: [jsonrpc, id, method]
properties:
jsonrpc: { const: '2.0' }
id: { type: [integer, string] }
method: { const: slo
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/quicknode/refs/heads/main/asyncapi/quicknode-asyncapi.yml