> For the complete documentation index, see [llms.txt](https://docs.v2.pod.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.v2.pod.network/guides-references/references/json-rpc/network-and-consensus-pod.md).

# Network & Consensus (pod )

Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide visibility into the network’s validator set and consensus process. These APIs surface data that is not available through standard Ethereum JSON-RPC methods, such as validator committees and aggregated voting information.

This interface is intended for infrastructure providers, validators, and light clients that need to inspect, monitor, or verify the state of the Pod network.

📝 This is a JSON-RPC 2.0 API. The request path is not important; the method to execute is defined by the method field in the request body. You can send all requests to /, and any path after / is optional and used only for documentation clarity.

&#x20;   &#x20;

## Send Raw Transaction (With Attestation Feedback)

> Submits a signed EIP-1559 transaction and waits for validator attestations, returning\
> tx\_hash, success count, and any rejection errors from validators.\
> \
> \*\*Parameters:\*\*\
> \- \`signed\_tx\` (string): Signed RLP-encoded transaction data\
> \- \`timeout\_secs\` (integer, optional): Max seconds to wait for attestations. Default 10.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_sendRawTransaction":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Send Raw Transaction (With Attestation Feedback)","operationId":"pod_sendRawTransaction","description":"Submits a signed EIP-1559 transaction and waits for validator attestations, returning\ntx_hash, success count, and any rejection errors from validators.\n\n**Parameters:**\n- `signed_tx` (string): Signed RLP-encoded transaction data\n- `timeout_secs` (integer, optional): Max seconds to wait for attestations. Default 10.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_sendRawTransaction"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `signed_tx` (string): Signed RLP-encoded transaction data\n2. `timeout_secs` (integer, optional): Max seconds to wait for attestations\n"}}}}}},"responses":{"200":{"description":"Object with tx_hash, successes count, and errors array","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"object","properties":{"tx_hash":{"$ref":"#/components/schemas/Bytes32"},"successes":{"type":"integer","description":"Number of successful attestations"},"errors":{"type":"array","items":{"type":"object"}}}},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."}}}}
```

## Get Validator Committee

> Returns information about the current validator committee.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getCommittee":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Validator Committee","operationId":"pod_getCommittee","description":"Returns information about the current validator committee.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getCommittee"},"id":{"type":"integer","default":1},"params":{"type":"array","default":[]}}}}}},"responses":{"200":{"description":"Committee information","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"object"},"id":{"type":"integer"}}}}}}}}}}}
```

## Get Vote Batches

> Retrieves vote batches from validators within a specified range.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getVoteBatches":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Vote Batches","operationId":"pod_getVoteBatches","description":"Retrieves vote batches from validators within a specified range.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getVoteBatches"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `from_sequence` (integer, nullable): Starting sequence number. None = start from 0\n2. `to_sequence` (integer, nullable): Ending sequence number. None = up to latest\n","items":{"type":"integer","nullable":true}}}}}}},"responses":{"200":{"description":"Array of vote batch objects","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"array","items":{"type":"object"}},"id":{"type":"integer"}}}}}}}}}}}
```

## Get Bridge Claim Proof

> Returns a proof for claiming bridged assets on an external chain. Use this after a\
> deposit transaction has been executed on Pod to obtain the committee attestations\
> and proof data needed to call \`claim\` on the external bridge contract.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getBridgeClaimProof":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Bridge Claim Proof","operationId":"pod_getBridgeClaimProof","description":"Returns a proof for claiming bridged assets on an external chain. Use this after a\ndeposit transaction has been executed on Pod to obtain the committee attestations\nand proof data needed to call `claim` on the external bridge contract.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getBridgeClaimProof"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `tx_hash` (bytes32): Transaction hash of the deposit transaction\n","items":{"$ref":"#/components/schemas/Bytes32"}}}}}}},"responses":{"200":{"description":"Bridge claim proof for the external chain `claim` call","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/BridgeClaimProof"},"id":{"type":"integer"}}}}}},"400":{"description":"Receipt not found or insufficient attestations","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."},"BridgeClaimProof":{"type":"object","description":"Proof data for claiming bridged assets on an external chain via the bridge contract's `claim` function.","required":["signatures","committee_epoch","proof"],"properties":{"signatures":{"$ref":"#/components/schemas/HexBytes","description":"Aggregated 65-byte ECDSA signatures (r, s, v) from validators, concatenated"},"committee_epoch":{"type":"integer","format":"uint64","description":"Committee epoch for signature verification"},"proof":{"$ref":"#/components/schemas/Bytes32","description":"Transaction hash (proof data for the claim)"}}},"HexBytes":{"type":"string","pattern":"^0x[a-fA-F0-9]*$","description":"Variable-length bytes (hex-encoded with 0x prefix). Length must be even."}}}}
```

## Get Account Info

> Returns an account's finalized/expected nonces and last finalized transaction as this node\
> sees them. Public and unauthenticated diagnostic info. Returns null when the account has\
> never finalized a transaction.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getAccountInfo":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Account Info","operationId":"pod_getAccountInfo","description":"Returns an account's finalized/expected nonces and last finalized transaction as this node\nsees them. Public and unauthenticated diagnostic info. Returns null when the account has\nnever finalized a transaction.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getAccountInfo"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `account` (address): The account to look up.\n","items":{"$ref":"#/components/schemas/Address"}}}}}}},"responses":{"200":{"description":"Account nonce info, or null if the account has never finalized a tx","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/AccountInfoResponse","nullable":true},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"AccountInfoResponse":{"type":"object","description":"An account's finalized/expected nonces and last finalized tx, as this node sees them.","required":["next_finalized_nonce","expected_nonce","last_finalized_tx"],"properties":{"next_finalized_nonce":{"type":"integer","format":"int64","description":"The next nonce to finalize; every lower nonce is already finalized."},"expected_nonce":{"type":"integer","format":"int64","description":"The next nonce the account is expected to submit."},"last_finalized_tx":{"$ref":"#/components/schemas/Bytes32"}}},"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."}}}}
```

## Get Last Finalized Nonce

> Returns the account's last finalized nonce, or null when the account has never finalized a tx.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getLastFinalizedNonce":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Last Finalized Nonce","operationId":"pod_getLastFinalizedNonce","description":"Returns the account's last finalized nonce, or null when the account has never finalized a tx.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getLastFinalizedNonce"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `account` (address): The account to look up.\n","items":{"$ref":"#/components/schemas/Address"}}}}}}},"responses":{"200":{"description":"The account's last finalized nonce, or null","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"integer","format":"int64","nullable":true},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"}}}}
```

## Get Transaction Status

> Returns the full pipeline status of a transaction: \`pending\` (with live vote counts),\
> \`finalized\` (with execution result), or \`not\_found\` for an unknown tx hash.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getTxStatus":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Transaction Status","operationId":"pod_getTxStatus","description":"Returns the full pipeline status of a transaction: `pending` (with live vote counts),\n`finalized` (with execution result), or `not_found` for an unknown tx hash.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getTxStatus"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `tx_hash` (bytes32): The transaction hash to look up.\n","items":{"$ref":"#/components/schemas/Bytes32"}}}}}}},"responses":{"200":{"description":"Transaction status","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/TxStatusResponse"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."},"TxStatusResponse":{"type":"object","description":"Full pipeline status of a transaction, returned by `pod_getTxStatus`. It is a `status`-tagged\nunion; the fields present depend on `status`:\n- `not_found`: unknown to this node (no cached tx and no receipt) — only `status` is present.\n- `pending`: in-flight — the `PendingTxStatus` fields are inlined alongside `status`.\n- `finalized`: executed — the `FinalizedTxStatus` fields are inlined alongside `status`.\n","required":["status"],"properties":{"status":{"type":"string","enum":["not_found","pending","finalized"],"description":"Discriminator selecting the variant."},"tx_hash":{"$ref":"#/components/schemas/Bytes32","description":"Present for `pending` and `finalized`."},"account":{"$ref":"#/components/schemas/Address","description":"Present for `pending` and `finalized`."},"nonce":{"type":"integer","format":"int64","description":"Present for `pending` and `finalized`."},"account_next_finalized_nonce":{"type":"integer","format":"int64","description":"`pending` only."},"account_expected_nonce":{"type":"integer","format":"int64","description":"`pending` only."},"quorum":{"type":"integer","description":"`pending` only: votes needed for a certificate (n − f)."},"votes":{"$ref":"#/components/schemas/AccountNonceVotesResponse","description":"`pending` only: the votes observed at this (account, nonce)."},"success":{"type":"boolean","description":"`finalized` only: whether execution succeeded."},"gas_used":{"type":"integer","format":"int64","description":"`finalized` only."}}},"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"AccountNonceVotesResponse":{"type":"object","description":"Votes observed for a given (account, nonce), as tracked by this node's vote accounting. Returned by `pod_getVotes` and embedded in a pending `pod_getTxStatus`.","required":["account","nonce","txs","bot_voters","total_tx_votes","quorum"],"properties":{"account":{"$ref":"#/components/schemas/Address"},"nonce":{"type":"integer","format":"int64"},"txs":{"type":"array","items":{"$ref":"#/components/schemas/TxVotesResponse"},"description":"Voter sets per transaction hash seen at this (account, nonce)."},"bot_voters":{"type":"array","items":{"$ref":"#/components/schemas/VoterResponse"},"description":"Validators that voted BOT (bottom / no-op) at this (account, nonce)."},"total_tx_votes":{"type":"integer","description":"Distinct validators that voted for any tx (each counted once even when equivocating)."},"quorum":{"type":"integer","description":"Votes required for a certificate (n − f)."}}},"TxVotesResponse":{"type":"object","description":"The set of validators that voted for one specific transaction hash at a given (account, nonce).","required":["tx_hash","voters"],"properties":{"tx_hash":{"$ref":"#/components/schemas/Bytes32"},"voters":{"type":"array","items":{"$ref":"#/components/schemas/VoterResponse"}}}},"VoterResponse":{"type":"object","description":"A validator that cast a vote, resolved from the committee vote bitmap.","required":["validator_index","validator_address"],"properties":{"validator_index":{"type":"integer","description":"Index of the validator within the committee."},"validator_address":{"$ref":"#/components/schemas/Address"}}}}}}
```

## Get Votes at a Nonce

> Returns the votes observed for a given (account, nonce): the voter set per transaction hash\
> plus the BOT voters. Returns null when no votes are pending at that nonce (never seen, or\
> already finalized).<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getVotes":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Votes at a Nonce","operationId":"pod_getVotes","description":"Returns the votes observed for a given (account, nonce): the voter set per transaction hash\nplus the BOT voters. Returns null when no votes are pending at that nonce (never seen, or\nalready finalized).\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getVotes"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `account` (address): The account whose votes to inspect.\n2. `nonce` (integer): The nonce to inspect.\n"}}}}}},"responses":{"200":{"description":"Votes at the (account, nonce), or null if none are pending","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/AccountNonceVotesResponse","nullable":true},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"AccountNonceVotesResponse":{"type":"object","description":"Votes observed for a given (account, nonce), as tracked by this node's vote accounting. Returned by `pod_getVotes` and embedded in a pending `pod_getTxStatus`.","required":["account","nonce","txs","bot_voters","total_tx_votes","quorum"],"properties":{"account":{"$ref":"#/components/schemas/Address"},"nonce":{"type":"integer","format":"int64"},"txs":{"type":"array","items":{"$ref":"#/components/schemas/TxVotesResponse"},"description":"Voter sets per transaction hash seen at this (account, nonce)."},"bot_voters":{"type":"array","items":{"$ref":"#/components/schemas/VoterResponse"},"description":"Validators that voted BOT (bottom / no-op) at this (account, nonce)."},"total_tx_votes":{"type":"integer","description":"Distinct validators that voted for any tx (each counted once even when equivocating)."},"quorum":{"type":"integer","description":"Votes required for a certificate (n − f)."}}},"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"TxVotesResponse":{"type":"object","description":"The set of validators that voted for one specific transaction hash at a given (account, nonce).","required":["tx_hash","voters"],"properties":{"tx_hash":{"$ref":"#/components/schemas/Bytes32"},"voters":{"type":"array","items":{"$ref":"#/components/schemas/VoterResponse"}}}},"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."},"VoterResponse":{"type":"object","description":"A validator that cast a vote, resolved from the committee vote bitmap.","required":["validator_index","validator_address"],"properties":{"validator_index":{"type":"integer","description":"Index of the validator within the committee."},"validator_address":{"$ref":"#/components/schemas/Address"}}}}}}
```

## Get Transactions by Hash

> Fetches full signed transactions by hash. The request hash list is capped server-side, and\
> the response is additionally truncated to the node's max response body size — a transaction\
> that does not fit is omitted (re-request whatever is missing). Each returned item is a signed\
> Pod transaction (EIP-1559 envelope plus signature); decode with the Pod SDK.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getTransactions":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Transactions by Hash","operationId":"pod_getTransactions","description":"Fetches full signed transactions by hash. The request hash list is capped server-side, and\nthe response is additionally truncated to the node's max response body size — a transaction\nthat does not fit is omitted (re-request whatever is missing). Each returned item is a signed\nPod transaction (EIP-1559 envelope plus signature); decode with the Pod SDK.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getTransactions"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `tx_hashes` (array of bytes32): Transaction hashes to fetch.\n","items":{"type":"array","items":{"$ref":"#/components/schemas/Bytes32"}}}}}}}},"responses":{"200":{"description":"Array of signed transaction objects (possibly truncated to the body-size budget)","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"array","items":{"type":"object","description":"A signed Pod transaction."}},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."}}}}
```

## List Transactions

> Lists signed transactions, optionally filtered by sender and/or recipient, up to an optional limit.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_listTransactions":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"List Transactions","operationId":"pod_listTransactions","description":"Lists signed transactions, optionally filtered by sender and/or recipient, up to an optional limit.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_listTransactions"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters (all optional, positional):\n1. `from_account` (address, nullable): filter by sender.\n2. `to_account` (address, nullable): filter by recipient.\n3. `limit` (integer, nullable): maximum number of transactions to return.\n"}}}}}},"responses":{"200":{"description":"Array of signed transaction objects","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"array","items":{"type":"object","description":"A signed Pod transaction."}},"id":{"type":"integer"}}}}}}}}}}}
```

## Get Recovery Target Transaction

> Returns the transaction an account must recover past to make progress, or null if the account does not need recovery.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getRecoveryTargetTx":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Recovery Target Transaction","operationId":"pod_getRecoveryTargetTx","description":"Returns the transaction an account must recover past to make progress, or null if the account does not need recovery.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getRecoveryTargetTx"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `account` (address): The account to inspect.\n","items":{"$ref":"#/components/schemas/Address"}}}}}}},"responses":{"200":{"description":"The recovery target, or null if none","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/TargetTx","nullable":true},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"TargetTx":{"type":"object","description":"A transaction an account must recover past before it can make progress again.","required":["hash","nonce"],"properties":{"hash":{"$ref":"#/components/schemas/Bytes32"},"nonce":{"type":"integer","format":"int64"}}},"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."}}}}
```

## Get Processed Deposits

> Returns the bridge deposit replay-protection set (a \`watermark\` plus the processed ids at or\
> above it). The relayer queries this to drop already-processed deposits from a batch.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getProcessedDeposits":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Processed Deposits","operationId":"pod_getProcessedDeposits","description":"Returns the bridge deposit replay-protection set (a `watermark` plus the processed ids at or\nabove it). The relayer queries this to drop already-processed deposits from a batch.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getProcessedDeposits"},"id":{"type":"integer","default":1},"params":{"type":"array","default":[]}}}}}},"responses":{"200":{"description":"The processed-deposit set","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/ProcessedDepositsResponse"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"ProcessedDepositsResponse":{"type":"object","description":"The bridge deposit replay-protection set. Every deposit id strictly below `watermark` has\nbeen processed; `above_watermark` lists the processed ids at or above it. The relayer uses\nthis to drop already-processed deposits from a batch before (re)submitting it.\n","required":["watermark","above_watermark"],"properties":{"watermark":{"$ref":"#/components/schemas/HexUint256"},"above_watermark":{"type":"array","items":{"$ref":"#/components/schemas/HexUint256"},"description":"Processed deposit ids `>= watermark`, sorted ascending."}}},"HexUint256":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","description":"Unsigned 256-bit integer (hex-encoded with 0x prefix)"}}}}
```

## Get Precompiles

> Returns the list of enshrined precompile contracts (bridge, CLOB, recovery, ...) with their addresses and names.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getPrecompiles":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Precompiles","operationId":"pod_getPrecompiles","description":"Returns the list of enshrined precompile contracts (bridge, CLOB, recovery, ...) with their addresses and names.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getPrecompiles"},"id":{"type":"integer","default":1},"params":{"type":"array","default":[]}}}}}},"responses":{"200":{"description":"Array of precompiles","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Precompile"}},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Precompile":{"type":"object","description":"An enshrined precompile contract (bridge, CLOB, recovery, ...).","required":["address","name"],"properties":{"address":{"$ref":"#/components/schemas/Address"},"name":{"type":"string"}}},"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"}}}}
```

## Get Precompile Info

> Returns a single precompile's address, name, and callable interface.

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getPrecompileInfo":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Precompile Info","operationId":"pod_getPrecompileInfo","description":"Returns a single precompile's address, name, and callable interface.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getPrecompileInfo"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `address` (address): The precompile address.\n","items":{"$ref":"#/components/schemas/Address"}}}}}}},"responses":{"200":{"description":"Precompile info","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/PrecompileInfo"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"PrecompileInfo":{"type":"object","description":"A precompile plus its callable interface. The `Precompile` fields (`address`, `name`) are flattened to the top level alongside `interface`.","required":["address","name","interface"],"properties":{"address":{"$ref":"#/components/schemas/Address"},"name":{"type":"string"},"interface":{"type":"string","description":"The precompile's callable interface (human-readable descriptor)."}}}}}}
```

## Get Solver State

> Returns the solver node's current state: its address and public key, next finalized nonce,\
> last executed and last generated solution batches, and the votes seen for the next solution.\
> Only meaningful when queried against the solver node.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getSolverState":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Solver State","operationId":"pod_getSolverState","description":"Returns the solver node's current state: its address and public key, next finalized nonce,\nlast executed and last generated solution batches, and the votes seen for the next solution.\nOnly meaningful when queried against the solver node.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getSolverState"},"id":{"type":"integer","default":1},"params":{"type":"array","default":[]}}}}}},"responses":{"200":{"description":"Solver state","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/SolverStateResponse"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"SolverStateResponse":{"type":"object","description":"The solver node's current state. Only meaningful when queried against the solver node.","required":["solver_address","solver_pub_key","next_finalized_nonce","next_solution_votes"],"properties":{"solver_address":{"$ref":"#/components/schemas/Address"},"solver_pub_key":{"$ref":"#/components/schemas/Secp256k1PublicKey"},"next_finalized_nonce":{"type":"integer","format":"int64"},"last_executed_batch":{"$ref":"#/components/schemas/SolverBatchInfo","nullable":true,"description":"The most recently executed solution batch, or null if none."},"last_generated_batch":{"$ref":"#/components/schemas/SolverBatchInfo","nullable":true,"description":"The most recently generated (proposed) solution batch, or null if none."},"next_solution_votes":{"type":"object","additionalProperties":{"type":"array","items":{"type":"integer"}},"description":"Votes for the next solution: an object mapping each candidate solution tx hash (bytes32, hex string key) to the list of validator indices that voted for it."}}},"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"Secp256k1PublicKey":{"type":"string","pattern":"^[0-9a-fA-F]{66}$","description":"A 33-byte compressed secp256k1 public key, lowercase hex, with **no** `0x` prefix (66 hex characters)."},"SolverBatchInfo":{"type":"object","description":"Identifies a solver solution batch by its auction deadline and transaction hash.","required":["deadline","tx_hash"],"properties":{"deadline":{"$ref":"#/components/schemas/Timestamp"},"tx_hash":{"$ref":"#/components/schemas/Bytes32"}}},"Timestamp":{"type":"integer","format":"int64","description":"Unix timestamp in microseconds (not milliseconds or seconds)"},"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."}}}}
```

## Get Validator Status

> Returns this node's own validator state: append-log sequence number, local past-perfect\
> time, last executed batch deadline, and derived next-solution deadline. Values reflect the\
> queried node's in-memory state, not a consensus view.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getValidatorStatus":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Validator Status","operationId":"pod_getValidatorStatus","description":"Returns this node's own validator state: append-log sequence number, local past-perfect\ntime, last executed batch deadline, and derived next-solution deadline. Values reflect the\nqueried node's in-memory state, not a consensus view.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getValidatorStatus"},"id":{"type":"integer","default":1},"params":{"type":"array","default":[]}}}}}},"responses":{"200":{"description":"Validator status","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/ValidatorStatusResponse"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"ValidatorStatusResponse":{"type":"object","description":"This node's own in-memory validator state. `validator_index` / `validator_address` are\npresent on a validator node and null on a full node. Values reflect the queried node's local\nstate, not a consensus view.\n","required":["append_log_sequence","current_ppt","quorum","committee_size"],"properties":{"validator_index":{"type":"integer","nullable":true},"validator_address":{"$ref":"#/components/schemas/Address","nullable":true},"append_log_sequence":{"type":"integer","format":"int64","description":"The node's current append-log sequence number."},"current_ppt":{"$ref":"#/components/schemas/Timestamp","description":"This node's local past-perfect time (microseconds)."},"last_executed_batch":{"$ref":"#/components/schemas/Timestamp","nullable":true,"description":"Deadline of the last executed solution batch (microseconds), or null if none."},"next_solution_deadline":{"$ref":"#/components/schemas/Timestamp","nullable":true,"description":"`last_executed_batch + auction_interval`, or null if no batch has executed yet."},"quorum":{"type":"integer","description":"Votes required for a certificate (n − f)."},"committee_size":{"type":"integer"}}},"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"Timestamp":{"type":"integer","format":"int64","description":"Unix timestamp in microseconds (not milliseconds or seconds)"}}}}
```

## Get Validator Account Status

> Returns how a specific validator has voted with respect to a specific account: what it has\
> (or hasn't) voted at each pending nonce, as seen by this node. Returns null when the\
> validator address is not in the current committee.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getValidatorAccountStatus":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Validator Account Status","operationId":"pod_getValidatorAccountStatus","description":"Returns how a specific validator has voted with respect to a specific account: what it has\n(or hasn't) voted at each pending nonce, as seen by this node. Returns null when the\nvalidator address is not in the current committee.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getValidatorAccountStatus"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `validator` (address): The validator to inspect.\n2. `account` (address): The account to inspect.\n","items":{"$ref":"#/components/schemas/Address"}}}}}}},"responses":{"200":{"description":"Validator's per-nonce vote state for the account, or null if the validator is not in the committee","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/ValidatorAccountStatusResponse","nullable":true},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"ValidatorAccountStatusResponse":{"type":"object","description":"How one validator has voted for one account across its pending nonces, as seen by this node.","required":["validator_index","validator_address","account","account_next_finalized_nonce","account_expected_nonce","quorum","pending_nonces"],"properties":{"validator_index":{"type":"integer"},"validator_address":{"$ref":"#/components/schemas/Address"},"account":{"$ref":"#/components/schemas/Address"},"account_next_finalized_nonce":{"type":"integer","format":"int64","description":"This node's `next_finalized_nonce` for the account (votes at lower nonces are already gone)."},"account_expected_nonce":{"type":"integer","format":"int64","description":"This node's `expected_nonce` for the account."},"quorum":{"type":"integer","description":"Votes required for a certificate (n − f)."},"pending_nonces":{"type":"array","items":{"$ref":"#/components/schemas/ValidatorNonceVote"},"description":"One entry per pending nonce in `[next_finalized_nonce, expected_nonce)`. Capped at 256 entries; if the gap is larger the oldest nonces are omitted."}}},"ValidatorNonceVote":{"type":"object","description":"A single validator's vote at one pending nonce.","required":["nonce","vote"],"properties":{"nonce":{"type":"integer","format":"int64"},"vote":{"$ref":"#/components/schemas/ValidatorVoteKind"}}},"ValidatorVoteKind":{"type":"object","description":"A validator's vote at a single nonce. Tagged union on `kind`:\n- `tx`: voted for a specific transaction hash — `tx_hash` is present.\n- `bot`: cast a BOT (bottom / no-op) vote — only `kind` is present.\n- `not_seen`: no vote observed from this validator at this nonce — only `kind` is present.\n","required":["kind"],"properties":{"kind":{"type":"string","enum":["tx","bot","not_seen"]},"tx_hash":{"$ref":"#/components/schemas/Bytes32","description":"Present only when `kind` is `tx`."}}},"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."}}}}
```

## Get Account Diagnostics

> Returns a full diagnostic snapshot of a single account across all committee validators:\
> per-validator vote state, recovery status, CLOB pending-solution presence, and equivocation\
> detection — all in one call.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_getAccountDiagnostics":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Account Diagnostics","operationId":"pod_getAccountDiagnostics","description":"Returns a full diagnostic snapshot of a single account across all committee validators:\nper-validator vote state, recovery status, CLOB pending-solution presence, and equivocation\ndetection — all in one call.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_getAccountDiagnostics"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `account` (address): The account to diagnose.\n","items":{"$ref":"#/components/schemas/Address"}}}}}}},"responses":{"200":{"description":"Account diagnostics","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/AccountDiagnosticsResponse"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address (20 bytes, hex-encoded with 0x prefix)"},"AccountDiagnosticsResponse":{"type":"object","description":"Full diagnostic snapshot of a single account across all committee validators, returned by `pod_getAccountDiagnostics`.","required":["account","next_finalized_nonce","expected_nonce","last_finalized_tx","is_locked","quorum","validators","needs_recovery","has_clob_order_pending_solution","equivocating"],"properties":{"account":{"$ref":"#/components/schemas/Address"},"next_finalized_nonce":{"type":"integer","format":"int64"},"expected_nonce":{"type":"integer","format":"int64"},"last_finalized_tx":{"$ref":"#/components/schemas/Bytes32"},"is_locked":{"type":"boolean","description":"True when the account is locked (a tx is pending decision)."},"quorum":{"type":"integer","description":"Votes required for a certificate (n − f)."},"validators":{"type":"array","items":{"$ref":"#/components/schemas/ValidatorDiagnostics"},"description":"Per-validator vote state."},"needs_recovery":{"type":"boolean"},"recovery_target":{"$ref":"#/components/schemas/TargetTx","nullable":true,"description":"The tx the account needs to recover past, if any."},"has_clob_order_pending_solution":{"type":"boolean","description":"True if this account has at least one order in the CLOB's pending-solution window."},"equivocating":{"type":"boolean","description":"True if two competing tx hashes at the same nonce both reached the certificate threshold (n − 3f)."}}},"Bytes32":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","description":"32-byte value (hex-encoded with 0x prefix). Used for transaction hashes, orderbook IDs, etc."},"ValidatorDiagnostics":{"type":"object","description":"Per-validator vote state for a single account, as seen by the queried node. Part of `AccountDiagnosticsResponse`.","required":["validator_index","validator_address","current_vote","equivocating"],"properties":{"validator_index":{"type":"integer"},"validator_address":{"$ref":"#/components/schemas/Address"},"highest_attested_nonce":{"type":"integer","format":"int64","nullable":true,"description":"Highest nonce in the current pending window where this validator has voted. Null when there are no pending nonces or the validator has not voted."},"current_vote":{"$ref":"#/components/schemas/ValidatorVoteKind","description":"Vote cast at the latest pending nonce (`expected_nonce − 1`); `not_seen` if none."},"equivocating":{"type":"boolean","description":"True if this validator voted for two different tx hashes at the same nonce."}}},"ValidatorVoteKind":{"type":"object","description":"A validator's vote at a single nonce. Tagged union on `kind`:\n- `tx`: voted for a specific transaction hash — `tx_hash` is present.\n- `bot`: cast a BOT (bottom / no-op) vote — only `kind` is present.\n- `not_seen`: no vote observed from this validator at this nonce — only `kind` is present.\n","required":["kind"],"properties":{"kind":{"type":"string","enum":["tx","bot","not_seen"]},"tx_hash":{"$ref":"#/components/schemas/Bytes32","description":"Present only when `kind` is `tx`."}}},"TargetTx":{"type":"object","description":"A transaction an account must recover past before it can make progress again.","required":["hash","nonce"],"properties":{"hash":{"$ref":"#/components/schemas/Bytes32"},"nonce":{"type":"integer","format":"int64"}}}}}}
```

## Get Node Status

> Returns the operational status of the node. Currently exposes \`read\_only\` — when true, the\
> node rejects \`sendRawTransaction\` submissions. Public and unauthenticated.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_status":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Get Node Status","operationId":"pod_status","description":"Returns the operational status of the node. Currently exposes `read_only` — when true, the\nnode rejects `sendRawTransaction` submissions. Public and unauthenticated.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_status"},"id":{"type":"integer","default":1},"params":{"type":"array","default":[]}}}}}},"responses":{"200":{"description":"Node status","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"$ref":"#/components/schemas/PodStatus"},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"PodStatus":{"type":"object","description":"Operational status of the node.","required":["read_only"],"properties":{"read_only":{"type":"boolean","description":"When true, the node rejects `sendRawTransaction` submissions (both `eth_` and `pod_`)."}}}}}}
```

## Wait Past Perfect Time

> Long-poll that resolves once this node's past-perfect time (PPT) reaches the given\
> timestamp, then returns a null result. The target must be within \~500 ms of now; a target\
> too far in the future is rejected with an invalid-params error.<br>

```json
{"openapi":"3.0.0","info":{"title":"JSON-RPC API","version":"1.0.0"},"tags":[{"name":"Network & Consensus (pod_)","description":"Network & Consensus (`pod_`) exposes Pod-specific endpoints that provide\nvisibility into the network’s validator set and consensus process. These\nAPIs surface data that is not available through standard Ethereum JSON-RPC\nmethods, such as validator committees and aggregated voting information.\n\nThis interface is intended for infrastructure providers, validators, and\nlight clients that need to inspect, monitor, or verify the state of the\nPod network.\n\n📝 This is a JSON-RPC 2.0 API. The request path is not important; the\nmethod to execute is defined by the method field in the request body. You\ncan send all requests to /, and any path after / is optional and used only\nfor documentation clarity.\n\n&nbsp; &nbsp; &nbsp;\n"}],"servers":[{"url":"https://rpc.podtestnet.dev/","description":"Pod testnet"}],"paths":{"/pod_waitPastPerfectTime":{"post":{"tags":["Network & Consensus (pod_)"],"summary":"Wait Past Perfect Time","operationId":"pod_waitPastPerfectTime","description":"Long-poll that resolves once this node's past-perfect time (PPT) reaches the given\ntimestamp, then returns a null result. The target must be within ~500 ms of now; a target\ntoo far in the future is rejected with an invalid-params error.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","params","id"],"properties":{"jsonrpc":{"type":"string","default":"2.0"},"method":{"type":"string","default":"pod_waitPastPerfectTime"},"id":{"type":"integer","default":1},"params":{"type":"array","description":"Parameters:\n1. `timestamp` (integer): Target past-perfect time, in microseconds since the Unix epoch.\n","items":{"$ref":"#/components/schemas/Timestamp"}}}}}}},"responses":{"200":{"description":"Resolves once PPT reaches the target; result is always null","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"nullable":true,"description":"Always null on success."},"id":{"type":"integer"}}}}}},"400":{"description":"Requested PPT is too far in the future, or the timestamp does not fit in a u64","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"id":{"type":"integer"}}}}}}}}}},"components":{"schemas":{"Timestamp":{"type":"integer","format":"int64","description":"Unix timestamp in microseconds (not milliseconds or seconds)"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.v2.pod.network/guides-references/references/json-rpc/network-and-consensus-pod.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
