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
eth_chainId | Ethereum
curl --request POST \
--url https://nd-422-757-666.p2pify.com/0a9d79d93fb2f4a4b1e04695da2b77a7 \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": []
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}
Ethereum API method that returns the current chain ID. Chain ID is used to sign replay-protected transactions and generally verify if a network is the desired one. It was introduced in EIP-155.
Get you own node endpoint today
Start for free and get your app to production levels immediately. No credit card required.
You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
none
Response
quantity
— EIP-155 Chain ID
eth_chainId
code examples
Learn more about the ChainstackProvider
in ethers.js
: ethers ChainstackProvider Documentation.
const ethers = require("ethers");
// Create a ChainstackProvider instance for Ethereum mainnet
const chainstack = new ethers.ChainstackProvider("mainnet");
const chainId = async () => {
// This will return the value in Hex
const chainId = await chainstack.send("eth_chainId");
console.log(`Hex Chain ID: ${chainId}`);
};
chainId();
Use case
One possible use case for the eth_chainId
method in Ethereum is to determine which chain a user is connected to when using a DApp with the MetaMask browser extension. This can be useful to provide a customized user experience based on the specific chain that the user is interacting with.
Here is an example of how the eth_chainId
method might be used in this context with MetaMask. Keep in mind that the Chain ID is returned as a hexadecimal value:
// Check which network is selected on MetaMask
async function checkChain() {
// Declare the desired chain ID to match
const desiredChainId = '0x1'; // Ethereum mainnet chain ID
// Retrieve the current Chain ID selected by the user
ethereum.request({
method: 'eth_chainId'
}).then(chainId => {
// compare the actual chain ID it to the declared chain ID
if (chainId !== desiredChainId) {
console.log(`You are currently on the wrong network. Please switch to the mainnet.`);
// Call the promtSwitch function
promtSwitch()
} else {
console.log("This is the correct network")
}
})
}
// Prompt user to switch to a determined network based on the chain ID
async function promtSwitch() {
await window.ethereum.request({
method: 'wallet_switchEthereumChain',
params: [{
chainId: '0x1' // chainId must be in HEX with 0x in front
}],
});
}
In this case, the checkChain
function is called to get the current chain ID using the Ethereum object provided by MetaMask. The chain ID is then checked to determine if the user is connected to the Ethereum mainnet and calls the promtSwitch
function to prompt the user to switch chain in case the chain ID returned does not match the desiredChainId
constant.
Body
Was this page helpful?
curl --request POST \
--url https://nd-422-757-666.p2pify.com/0a9d79d93fb2f4a4b1e04695da2b77a7 \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": []
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}