APIs introduction
Ethereum node API
- Getting started | Ethereum
- Enable Debug & Trace APIs for your Ethereum Node
- Ethereum API Postman Collection
- Blocks info | Ethereum
- Transactions info | Ethereum
- Executing transactions | Ethereum
- Debug and Trace | Ethereum
- Chain info | Ethereum
- Gas data | Ethereum
- Accounts info | Ethereum
- Logs & events | Ethereum
- Client information | Ethereum
- Filter handling | Ethereum
- Subscriptions | Ethereum
Ethereum Beacon Chain API
- Getting tarted | Beacon Chain
- Beacon Chain configuration info
- Beacon Chain events
- Beacon Chain validators info
- Beacon Chain state
Polygon node API
- Getting started | Polygon
- Blocks Info | Polygon
- Transactions info | Polygon
- Executing transactions | Polygon
- Debug & Trace | Polygon
- Chain info | Polygon
- Gas data | Polygon
- Accounts info | Polygon
- Logs & events | Polygon
- Filter handling | Polygon
- Client information | Polygon
- Subscriptions | Polygon
BNB node API
- Getting started | BNB Chain
- Endpoints
Base node API
- Getting started | Base
- Endpoints
Avalanche node API
- Getting started | Avalanche
- Blocks Info | Avalanche
- Transactions info | Avalanche
- Executing transactions | Avalanche
- Debug & Trace | Avalanche
- Chain info | Avalanche
- Gas data | Avalanche
- Accounts info | Avalanche
- Logs & events | Avalanche
- Filter handling | Avalanche
- Client information | Avalanche
- Subscriptions | Avalanche
TON node API
- Getting started | TON
- Getting started | TON
- GETgetAddressInformation | TON v2
- GETgetExtendedAddressInformation | TON v2
- GETgetWalletInformation | TON v2
- GETgetTransactions | TON v2
- GETgetAddressBalance | TON v2
- GETgetAddressState | TON v2
- GETpackAddress | TON v2
- GETunpackAddress | TON v2
- GETgetTokenData | TON v2
- GETdetectAddress | TON v2
- GETgetMasterchainInfo | TON v2
- GETgetMasterchainBlockSignatures | TON v2
- GETgetShardBlockProof | TON v2
- GETgetConsensusBlock | TON v2
- GETlookupBlock | TON v2
- GETshards | TON v2
- GETgetBlockTransactions | TON v2
- GETgetBlockTransactionsExt | TON v2
- GETgetBlockHeader | TON v2
- GETtryLocateTx | TON v2
- GETtryLocateResultTx | TON v2
- GETtryLocateSourceTx | TON v2
- GETgetConfigParam | TON v2
- POSTrunGetMethod | TON v2
- GETmasterchainInfo | TON v3
- GETblocks | TON v3
- GETmasterchainBlockShardState | TON v3
- GETaddressBook | TON v3
- GETmasterchainBlockShards | TON v3
- GETtransactions | TON v3
- GETtransactionsByMasterchainBlock | TON v3
- GETtransactionsByMessage | TON v3
- GETadjacentTransactions | TON v3
- GETmessages | TON v3
- GETnft/collections | TON v3
- GETnft/items | TON v3
- GETnft/transfers | TON v3
- GETjetton/masters | TON v3
- GETjetton/wallets | TON v3
- GETjetton/transfers | TON v3
- GETjetton/burns | TON v3
- POSTrunGetMethod | TON v3
- POSTestimateFee | TON v3
- GETaccount | TON v3
- GETwallet | TON v3
Arbitrum node API
- Getting Started | Arbitrum
- Blocks info | Arbitrum
- Transactions info | Arbitrum
- Executing transactions | Arbitrum
- Debug & Trace | Arbitrum
- Chain info | Arbitrum
- Gas data | Arbitrum
- Accounts info | Arbitrum
- Logs & events | Arbitrum
- Filter handling | Arbitrum
- Client information | Arbitrum
- Subscriptions | Arbitrum
Zksync node API
- Getting started | ZKsync
- Getting started | ZKsync
- POSTzks_L1ChainId | zkSync Era
- POSTzks_estimateFee | zkSync Era
- POSTzks_estimateGasL1ToL2 | zkSync Era
- POSTzks_getAllAccountBalances | zkSync Era
- POSTzks_getBlockDetails | zkSync Era
- POSTzks_getBridgeContracts | zkSync Era
- POSTzks_getBytecodeByHash | zkSync Era
- POSTzks_getL1BatchBlockRange | zkSync Era
- POSTzks_getL1BatchDetails | zkSync Era
- POSTzks_getL2ToL1LogProof | zkSync Era
- POSTzks_getMainContract | zkSync Era
- POSTzks_getRawBlockTransactions | zkSync Era
- POSTzks_getTestnetPaymaster | zkSync Era
- POSTzks_getTransactionDetails | zkSync Era
- POSTzks_L1BatchNumber | zkSync Era
Polygon zkEVM node API
- Getting started
- zkEVM methods | Polygon zkEVM
- POSTeth_blockNumber | zkEVM
- POSTeth_getBlockByNumber | zkEVM
- POSTeth_getBlockByHash | zkEVM
- POSTeth_getBlockTransactionCountByNumber | zkEVM
- POSTeth_getBlockTransactionCountByHash | zkEVM
- POSTeth_newBlockFilter | zkEVM
- POSTeth_getTransactionByHash | zkEVM
- POSTeth_getTransactionReceipt | zkEVM
- POSTeth_getTransactionByBlockNumberAndIndex | zkEVM
- POSTeth_getTransactionByBlockHashAndIndex | zkEVM
- POSTeth_newPendingTransactionFilter | zkEVM
- POSTeth_call | zkEVM
- POSTeth_sendRawTransaction | zkEVM
- POSTeth_getBalance | zkEVM
- POSTeth_getCode | zkEVM
- POSTeth_getStorageAt | zkEVM
- POSTeth_getTransactionCount | zkEVM
- POSTeth_chainId | zkEVM
- POSTeth_syncing | zkEVM
- POSTweb3_clientVersion | zkEVM
- POSTeth_estimateGas | zkEVM
- POSTeth_gasPrice | zkEVM
- POSTeth_getLogs | zkEVM
- POSTeth_newFilter | zkEVM
- POSTeth_getFilterChanges | zkEVM
- POSTeth_uninstallFilter | zkEVM
Optimism node API
- Getting started | Optimism
- POSTeth_blockNumber | Optimism
- POSTeth_getBlockByHash | Optimism
- POSTeth_getBlockByNumber | Optimism
- POSTeth_getBlockTransactionCountByHash | Optimism
- POSTeth_getBlockTransactionCountByNumber | Optimism
- POSTeth_getUncleCountByBlockHash | Optimism
- POSTeth_getUncleCountByBlockNumber | Optimism
- POSTeth_getBlockReceipts | Optimism
- POSTeth_chainId | Optimism
- POSTeth_syncing | Optimism
- POSTeth_call | Optimism
- POSTeth_estimateGas | Optimism
- POSTeth_createAccessList | Optimism
- POSTeth_gasPrice | Optimism
- POSTeth_feeHistory | Optimism
- POSTeth_newFilter | Optimism
- POSTeth_newBlockFilter | Optimism
- POSTeth_uninstallFilter | Optimism
- POSTeth_getFilterChanges | Optimism
- POSTeth_getFilterLogs | Optimism
- POSTeth_getLogs | Optimism
- POSTeth_getBalance | Optimism
- POSTeth_getStorageAt | Optimism
- POSTeth_getTransactionCount | Optimism
- POSTeth_getCode | Optimism
- POSTeth_getProof | Optimism
- POSTeth_getTransactionByHash | Optimism
- POSTeth_getRawTransactionByHash | Optimism
- POSTeth_getTransactionByBlockHashAndIndex | Optimism
- POSTeth_getRawTransactionByBlockHashAndIndex | Optimism
- POSTeth_getTransactionByBlockNumberAndIndex | Optimism
- POSTeth_getRawTransactionByBlockNumberAndIndex | Optimism
- POSTeth_getTransactionReceipt | Optimism
- eth_subscribe newHeads | Optimism
- eth_subscribe logs | Optimism
- eth_unsubscribe | Optimism
- POSTeth_maxPriorityFeePerGas | Optimism
- POSTeth_sendRawTransaction | Optimism
- POSTweb3_clientVersion | Optimism
- POSTweb3_sha3 | Optimism
- POSTnet_listening | Optimism
- POSTeth_callMany | Optimism
- POSTdebug_getModifiedAccountsByNumber | Optimism
- POSTdebug_getModifiedAccountsByHash | Optimism
- POSTdebug_storageRangeAt | Optimism
- POSTdebug_traceBlockByHash | Optimism
- POSTdebug_traceBlockByNumber | Optimism
- POSTdebug_traceTransaction | Optimism
- POSTdebug_traceCall | Optimism
- POSTdebug_traceCallMany | Optimism
Aurora node API
- Getting started | Aurora
- POSTeth_blockNumber | Aurora
- POSTeth_getBlockByNumber | Aurora
- POSTeth_getBlockByHash | Aurora
- POSTeth_getBlockTransactionCountByNumber | Aurora
- POSTeth_getBlockTransactionCountByHash | Aurora
- POSTeth_newBlockFilter | Aurora
- POSTeth_getTransactionByHash | Aurora
- POSTeth_getTransactionReceipt | Aurora
- POSTeth_getTransactionByBlockNumberAndIndex | Aurora
- POSTeth_getTransactionByBlockHashAndIndex | Aurora
- POSTeth_newPendingTransactionFilter | Aurora
- POSTeth_call | Aurora
- POSTeth_sendRawTransaction | Aurora
- POSTeth_getBalance | Aurora
- POSTeth_getCode | Aurora
- POSTeth_getStorageAt | Aurora
- POSTeth_getTransactionCount | Aurora
- POSTeth_chainId | Aurora
- POSTeth_syncing | Aurora
- POSTweb3_clientVersion | Aurora
- POSTnet_listening | Aurora
- POSTnet_peerCount | Aurora
- POSTeth_estimateGas | Aurora
- POSTeth_gasPrice | Aurora
- POSTeth_getLogs | Aurora
- POSTeth_newFilter | Aurora
- POSTeth_getFilterChanges | Aurora
- POSTeth_uninstallFilter | Aurora
Solana node API
- Getting started | Solana
- POSTgetAccountInfo | Solana
- POSTgetBalance | Solana
- POSTgetBlockHeight | Solana
- POSTgetBlock | Solana
- POSTgetBlockProduction | Solana
- POSTgetBlockCommitment | Solana
- POSTgetBlocks | Solana
- POSTgetBlocksWithLimit | Solana
- POSTgetBlockTime | Solana
- POSTgetClusterNodes | Solana
- POSTgetEpochInfo | Solana
- POSTgetEpochSchedule | Solana
- POSTgetFeeForMessage | Solana
- POSTgetFirstAvailableBlock | Solana
- POSTgetGenesisHash | Solana
- POSTgetHighestSnapshotSlot | Solana
- POSTgetIdentity | Solana
- POSTgetInflationGovernor | Solana
- POSTgetInflationRate | Solana
- POSTgetInflationReward | Solana
- POSTgetLatestBlockhash | Solana
- POSTgetLeaderSchedule | Solana
- POSTgetMaxRetransmitSlot | Solana
- POSTgetMaxShredInsertSlot | Solana
- POSTgetMinimumBalanceForRentExemption | Solana
- POSTgetMultipleAccounts | Solana
- POSTgetProgramAccounts | Solana
- POSTgetRecentBlockhash | Solana
- POSTgetRecentPerformanceSamples | Solana
- POSTgetRecentPrioritizationFees | Solana
- POSTgetSignaturesForAddress | Solana
- POSTgetSignatureStatuses | Solana
- POSTgetSlot | Solana
- POSTgetSlotLeader | Solana
- POSTgetStakeActivation | Solana
- POSTgetStakeMinimumDelegation | Solana
- POSTgetSupply | Solana
- POSTgetTokenAccountBalance | Solana
- POSTgetTokenAccountsByOwner | Solana
- POSTgetTokenLargestAccounts | Solana
- POSTgetLargestAccounts | Solana
- POSTgetTransaction | Solana
- POSTisBlockhashValid | Solana
- POSTsimulateTransaction | Solana
- logsSubscribe | Solana
- logsUnsubscribe | Solana
- blockSubscribe | Solana
- blockUnsubscribe | Solana
- accountSubscribe | Solana
- accountUnsubscribe | Solana
- programSubscribe | Solana
- programUnsubscribe | Solana
- rootSubscribe | Solana
- rootUnsubscribe | Solana
- signatureSubscribe | Solana
- signatureUnsubscribe | Solana
- slotSubscribe | Solana
- slotUnsubscribe | Solana
- slotsUpdatesSubscribe | Solana
- slotsUpdatesUnsubscribe | Solana
Ronin node API
- Getting started | Ronin
- POSTeth_blockNumber | Ronin
- POSTeth_getBlockByHash | Ronin
- POSTeth_getBlockByNumber | Ronin
- POSTeth_getBlockTransactionCountByHash | Ronin
- POSTeth_getBlockTransactionCountByNumber | Ronin
- POSTeth_newBlockFilter | Ronin
- POSTeth_getTransactionByHash | Ronin
- POSTeth_getTransactionReceipt | Ronin
- POSTeth_getTransactionByBlockHashAndIndex | Ronin
- POSTeth_getTransactionByBlockNumberAndIndex | Ronin
- POSTeth_getFilterChanges | Ronin
- POSTeth_call | Ronin
- POSTeth_sendRawTransaction | Ronin
- POSTdebug_traceBlockByHash | Ronin
- POSTdebug_traceBlockByNumber | Ronin
- POSTdebug_traceTransaction | Ronin
- POSTdebug_traceCall | Ronin
- POSTeth_chainId | Ronin
- POSTeth_syncing | Ronin
- POSTeth_estimateGas | Ronin
- POSTeth_gasPrice | Ronin
- POSTeth_maxPriorityFeePerGas | Ronin
- POSTeth_getTransactionCount | Ronin
- POSTeth_getBalance | Ronin
- POSTeth_getCode | Ronin
- POSTeth_getStorageAt | Ronin
- POSTeth_getLogs | Ronin
- POSTeth_newFilter | Ronin
- POSTweb3_clientVersion | Ronin
- POSTnet_listening | Ronin
- POSTnet_peerCount | Ronin
- POSTeth_getFilterChanges | Ronin
- POSTeth_uninstallFilter | Ronin
- eth_subscribe ("newHeads") | Ronin
- eth_subscribe("newPendingTransactions") | Ronin
- eth_subscribe ("logs") | Ronin
- eth_unsubscribe | Ronin
Gnosis Chain node API
- Getting started | Gnosis
- Beacon Chain | Gnosis
- Blocks info | Gnosis
- Transactions info | Gnosis
- Executing transactions | Gnosis
- Chain info | Gnosis
- Gas data | Gnosis
- Accounts info | Gnosis
- Logs & events | Gnosis
- Filter handling | Gnosis
- Client information | Gnosis
- Subscriptions | Gnosis
Cronos node API
- Getting started | Cronos
- POSTeth_blockNumber | Cronos
- POSTeth_getBlockByNumber | Cronos
- POSTeth_getBlockByHash | Cronos
- POSTeth_getBlockTransactionCountByNumber | Cronos
- POSTeth_getBlockTransactionCountByHash | Cronos
- POSTeth_newBlockFilter | Cronos
- POSTeth_getTransactionByHash | Cronos
- POSTeth_getTransactionReceipt | Cronos
- POSTeth_getTransactionByBlockNumberAndIndex | Cronos
- POSTeth_getTransactionByBlockHashAndIndex | Cronos
- POSTeth_newPendingTransactionFilter | Cronos
- POSTeth_call | Cronos
- POSTeth_sendRawTransaction | Cronos
- POSTeth_getBalance | Cronos
- POSTeth_getCode | Cronos
- POSTeth_getStorageAt | Cronos
- POSTeth_getProof | Cronos
- POSTeth_getTransactionCount | Cronos
- POSTeth_chainId | Cronos
- POSTeth_syncing | Cronos
- POSTweb3_clientVersion | Cronos
- POSTnet_listening | Cronos
- POSTnet_peerCount | Cronos
- POSTeth_estimateGas | Cronos
- POSTeth_gasPrice | Cronos
- POSTeth_maxPriorityFeePerGas | Cronos
- POSTeth_getLogs | Cronos
- POSTeth_newFilter | Cronos
- POSTeth_getFilterChanges | Cronos
- POSTeth_uninstallFilter | Cronos
Fantom node API
- Getting started | Fantom
- POSTeth_blockNumber | Fantom
- POSTeth_getBlockByNumber | Fantom
- POSTeth_getBlockByHash | Fantom
- POSTeth_getBlockTransactionCountByNumber | Fantom
- POSTeth_getBlockTransactionCountByHash | Fantom
- POSTeth_newBlockFilter | Fantom
- POSTeth_getTransactionByHash | Fantom
- POSTeth_getTransactionReceipt | Fantom
- POSTeth_getTransactionByBlockNumberAndIndex | Fantom
- POSTeth_getTransactionByBlockHashAndIndex | Fantom
- POSTeth_newPendingTransactionFilter | Fantom
- POSTeth_call | Fantom
- POSTeth_sendRawTransaction | Fantom
- POSTeth_getBalance | Fantom
- POSTeth_getCode | Fantom
- POSTeth_getStorageAt | Fantom
- POSTeth_getProof | Fantom
- POSTeth_getTransactionCount | Fantom
- POSTeth_chainId | Fantom
- POSTeth_syncing | Fantom
- POSTweb3_clientVersion | Fantom
- POSTnet_listening | Fantom
- POSTnet_peerCount | Fantom
- POSTeth_estimateGas | Fantom
- POSTeth_gasPrice | Fantom
- POSTeth_maxPriorityFeePerGas | Fantom
- POSTeth_getLogs | Fantom
- POSTeth_newFilter | Fantom
- POSTeth_getFilterChanges | Fantom
- POSTeth_uninstallFilter | Fantom
- Custom JS tracer | Fantom
- debug traceBlockByHash | Fantom Chain
- debug traceBlockByNumber | Fantom
- debug traceTransaction | Fantom
- trace block | Fantom
- trace transaction | Fantom
- trace filter | Fantom
- trace get | Fantom
Bitcoin node API
- Bitcoin API reference
- Bitcoin API Postman collection
- POSTgetbestblockhash | Bitcoin
- POSTgetblock | Bitcoin
- POSTgetblockchaininfo | Bitcoin
- POSTgetblockfilter | Bitcoin
- POSTgetblockhash | Bitcoin
- POSTgetblockheader | Bitcoin
- POSTgetblockstats | Bitcoin
- POSTgetchaintips | Bitcoin
- POSTgetchaintxstats | Bitcoin
- POSTgetdifficulty | Bitcoin
- POSTgetmempoolancestors | Bitcoin
- POSTgetmempooldescendants | Bitcoin
- POSTgetmempoolentry | Bitcoin
- POSTgetmempoolinfo | Bitcoin
- POSTgetrawmempool | Bitcoin
- POSTgettxoutsetinfo | Bitcoin
- POSTgettxout | Bitcoin
- POSTverifychain | Bitcoin
- POSTgettxoutproof | Bitcoin
- POSTpreciousblock | Bitcoin
- POSTverifytxoutproof | Bitcoin
- POSTuptime | Bitcoin
- POSTgetmemoryinfo | Bitcoin
- POSTgetrpcinfo | Bitcoin
- POSTgetblocktemplate | Bitcoin
- POSTgetmininginfo | Bitcoin
- POSTgetnetworkhashps | Bitcoin
- POSTprioritisetransaction | Bitcoin
- POSTgetpeerinfo | Bitcoin
- POSTgetnetworkinfo | Bitcoin
- POSTgetconnectioncount | Bitcoin
- POSTgetnettotals | Bitcoin
- POSTlistbanned | Bitcoin
- POSTping | Bitcoin
- POSTgetnodeaddresses | Bitcoin
- POSTdecodescript | Bitcoin
- POSTdecoderawtransaction | Bitcoin
- POSTgetrawtransaction | Bitcoin
- POSTestimatesmartfee | Bitcoin
- POSTvalidateaddress | Bitcoin
Starknet node API
- Getting started | Starknet
- POSTstarknet_call | Starknet
- POSTstarknet_estimateFee | Starknet
- POSTstarknet_estimateMessageFee | Starknet
- POSTstarknet_simulateTransactions | Starknet
- POSTstarknet_traceBlockTransactions | Starknet
- POSTstarknet_getClassHashAt | Starknet
- POSTstarknet_getNonce | Starknet
- POSTstarknet_getStorageAt | Starknet
- POSTstarknet_getTransactionByBlockIdAndIndex | Starknet
- POSTstarknet_getTransactionByHash | Starknet
- POSTstarknet_getClassAt | Starknet
Chainstack platform API
- Getting started
- Quick tutorial
- Organization
- Project
- Network
- Node
- Marketplace
- IPFS storage
- Faucet
zks_getL2ToL1LogProof | zkSync Era
curl --request POST \
--url https://nd-995-911-243.p2pify.com/afb8312f3710a5bc469f4c87cad3a2e4 \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "zks_getL2ToL1LogProof",
"params": [
"0xf8a7e5649718e84649a4caa93f5e537704a6a0e8769a7dbbe4de967ba14fc748"
]
}'
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"logProof": {
"blockNumber": 123,
"logIndex": 123,
"transactionHash": "<string>",
"logEntries": [
"<string>"
]
}
}
}
The zks_getL2ToL1LogProof
API method facilitates the retrieval of proofs for logs generated from Layer 2 (L2) to Layer 1 (L1) transactions within the zkSync network. It’s especially valuable for developers and applications that require verifiable cross-layer communication for operations like withdrawals or contract interactions.
Get your own node endpoint today
Start for free and elevate your app to production levels immediately. No credit card required.
Sign up with your GitHub, X, Google, or Microsoft account for immediate access.
Parameters
tx_hash
— abytes32
hash of the L2 transaction within which the L2 to L1 log was produced. This hash uniquely identifies the transaction across the network.l2_to_l1_log_index
— (optional) a numeric index specifying the position of the L2 to L1 log within the transaction. This optional parameter is used to pinpoint the exact log for which the proof is requested.
Response
The response includes the proof for the specified L2 to L1 log, if available:
id
— the position of the log’s leaf in the Merkle tree of L2 to L1 messages for the associated block, providing a unique identifier for the log within the tree.proof
— an array of hexadecimal strings representing the Merkle proof for the log. This proof is essential for verifying the log’s presence and integrity within the block’s Merkle tree.root
— the root hash of the Merkle tree of L2 to L1 messages for the block, serving as the cryptographic summary of all L2 to L1 logs within the block. The Merkle tree uses SHA-256, ensuring robust and secure hashing.
Use case
The zks_getL2ToL1LogProof
method can be used to verify the legitimacy of withdrawal transactions from Layer 2 (zkSync) to Layer 1 (Ethereum). By obtaining and validating the Merkle proofs for these transactions, they ensure that each withdrawal is accurately recorded and immutable, reinforcing regulatory compliance and enhancing trust among exchange users in the security of cross-layer transactions.
Body
"2.0"
1
"zks_getL2ToL1LogProof"
Response
"2.0"
curl --request POST \
--url https://nd-995-911-243.p2pify.com/afb8312f3710a5bc469f4c87cad3a2e4 \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "zks_getL2ToL1LogProof",
"params": [
"0xf8a7e5649718e84649a4caa93f5e537704a6a0e8769a7dbbe4de967ba14fc748"
]
}'
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"logProof": {
"blockNumber": 123,
"logIndex": 123,
"transactionHash": "<string>",
"logEntries": [
"<string>"
]
}
}
}