Clients

Blockchains can support multiple software implementations, or clients, that connect users to a blockchain network. Clients are developed to be compatible with specific protocols and serve different purposes, for example, allowing for faster transactions or managing smart contracts in an advanced manner. Some clients can also be optimized for different consensus algorithms. You can learn which clients are available for the most popular protocols on Chainstack below.

Ethereum clients

Consensus layer

  • Nimbus ā€” the Nim implementation of the Ethereum Beacon Chain client.

Execution layer

Ethereum node can have one of the following implementations of the execution layer client:

  • Geth ā€” the Go Ethereum implementation. It's bigger in size and can be interacted with by using Geth JSON-RPC methods.
    To get the Geth client on your node, you must deploy a dedicated node in the full or archive mode.
  • Erigon ā€” the Erigon implementation. It's smaller in size and can be interacted with by using Erigon RPC methods.
    To get the Erigon client on your node, you must deploy an elastic node in the archive mode or a dedicated node in the archive mode.

Polygon clients

Polygon node can have one of the following client implementations:

  • Bor ā€” the native Polygon client. It can be interacted with by using JSON-RPC methods.
    To get the Bor client on your elastic or dedicated node, you must deploy it in the full mode.
  • Erigon ā€” the Erigon implementation. It can be interacted with by using Erigon RPC methods.
    To get the Erigon client on your elastic or dedicated node, you must deploy it in the archive mode.

BNB Smart Chain clients

BNB Smart Chain node can have one of the following client implementations:

  • Geth ā€” the Go Ethereum implementation. It's bigger in size and can be interacted with by using Geth JSON-RPC methods.
    To get the Geth client on your elastic or dedicated node, you must deploy in the full mode.
  • Erigon ā€” the Erigon implementation. It's smaller in size and can be interacted with by using Erigon RPC methods.
    To get the Erigon client on your elastic or dedicated node, you must deploy it in the archive mode.

Base client

The client is op-geth.

Avalanche client

AvalancheGo is the node implementation for the Avalanche network in Golang. You can find API documentation in the Chainstack Avalanche API reference and the official Avalanche documentation.

Arbitrum client

Nitro is the official node for the Arbitrum protocol. It is a fully integrated, complete layer 2 optimistic rollup system that includes fraud proofs, the sequencer, token bridges, advanced calldata compression, and more. For available methods, see Chainstack Arbitrum API reference and the official Arbitrum documentation.

zkSync Era

The client is zkSync Era.

Polygon zkEVM client

zkEVM Node is a Go implementation of a node that operates the Polygon zkEVM network. For available methods, see Chainstack zkEVM API reference and the official zkEVM documentation.

Optimism client

Global elastic nodes run op-erigon.

Regional elastic nodes run op-geth.

Aurora client

Aurora operates on top of NEAR. It is EVM-compatible, and all its available JSON-RPC methods can be found in the official Aurora documentation and GitHub repository.

Solana client

Solana ā€” Solana's official client is developed in Rust. JSON-RPC methods are available and can be found in the official Solana documentation. For JavaScript applications, use the @solana/web3.js library as a convenient interface for interacting with a Solana node using RPC methods.

Scroll

The client is Geth-based.

Ronin client

Go Ronin ā€” the Go Ethereum implementation that can be interacted with by using Geth JSON-RPC methods.

Aptos client

Aptos-core is the official client for the Aptos protocol. Developers can interact with Aptos via its various SDKs, including the TypeScript SDK, Python SDK, Rust SDK, and Unity SDK, or through its REST API.

Oasis Saphire client

Oasis-node is written in Go and serves as both a consensus and execution layer client. As it is EVM-compatible, it can be interacted with using the standard JSON-RPC API.

Gnosis clients

Consensus layer

Lighthouse ā€” the Rust implementation of the Beacon Chain client.

Execution layer

Nethermind ā€” the Nethermind implementation. See the JSON-RPC methods reference in the official Nethermind documentation.

Cronos client

Cronos is a fully EVM-compatible chain. Developers can connect to it through the standard JSON-RPC API or via libraries like ethers.js, web3.js, and web3.py.

Fantom client

Opera is the mainnet for Fantom and an EVM-compatible node client for Fantom's network. It can be accessed via standard JSON-RPC methods or by using libraries like Fantom ClientJS Utils.

Starknet client

Pathfinder is the node implementation for the Starknet protocol. It supports version v0.2.1 of the Starknet JSON-RPC specification with some minor differences.

Harmony

The client is Geth-based.

Tezos client

Octez is the official node implementation for Tezos. See the JSON-RPC specification for Tezos in their official documentation.

Bitcoin client

Bitcoin Core connects to the Bitcoin peer-to-peer network to download and validate blocks and transactions. See available JSON-RPC API methods in the Bitcoin Postman collection.

Hyperledger Fabric client

Hyperledger Fabric v2 ā€” Fabric is a platform for developing distributed ledger solutions. It can be developed using these SDKs.

Corda client

There are multiple versions of Corda, and currently Corda 4 is the stable release. The Corda SDK is available in Java and Kotlin, and its reference can be found here.

Quorum client

GoQuorum is an Ethereum client for enterprises. Users can interact with the network through Tessera, which is a private transaction manager for the GoQuorum client network. To learn more about Quorum's APIs, see Quorum tooling.

MultiChain client

MultiChain is a fork of Bitcoin Core that has been adapted for permissioned blockchains and is known for its speed and ease of deployment. Its API can be accessed with JSON-RPC methods or with these third-party libraries.