--- eip: 695 title: Create `eth_chainId` method for JSON-RPC author: Isaac Ardis , Wei Tang (@sorpaas), Fan Torchz (@tcz001) discussions-to: https://ethereum-magicians.org/t/eip-695-create-eth-chainid-method-for-json-rpc/1845 type: Standards Track category: Interface status: Last Call review-period-end: 2019-07-20 created: 2017-08-21 requires: 155, 1474 --- ## Simple Summary Include `eth_chainId` method in `eth_`-namespaced JSON-RPC methods. ## Abstract The `eth_chainId` method should return a single STRING result for an integer value in hexadecimal format, describing the currently configured `CHAIN_ID` value used for signing replay-protected transactions, introduced via [EIP-155](./eip-155.md). ## Motivation Currently although we can use `net_version` RPC call to get the current network ID, there's no RPC for querying the chain ID. This makes it impossible to determine the current actual blockchain using the RPC. ## Specification ### `eth_chainId` Returns the currently configured chain ID, a value used in replay-protected transaction signing as introduced by [EIP-155](./eip-155.md). #### Parameters None. #### Returns `QUANTITY` - integer of the current chain ID. #### Example ```js curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' // Result { "id": 83, "jsonrpc": "2.0", "result": "0x3d" // 61 } ``` ## Rationale An ETH/ETC client can accidentally connect to an ETC/ETH RPC endpoint without knowing it unless it tries to sign a transaction or it fetch a transaction that is known to have signed with a chain ID. This has since caused trouble for application developers, such as MetaMask, to add multi-chain support. ## Backwards Compatibility Not relevant. ## Implementation - [Parity PR](https://github.com/paritytech/parity/pull/6329) - [Geth PR](https://github.com/ethereum/go-ethereum/pull/17617) - [Geth Classic PR](https://github.com/ethereumproject/go-ethereum/pull/336) ## Reference Return value `QUANTITY` adheres to standard JSON RPC hex value encoding, as documented here: https://github.com/ethereum/wiki/wiki/JSON-RPC#hex-value-encoding. ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).