RPC access and dedicated nodes for 16 blockchains

Every request is served by a node we run and maintain ourselves — we don’t resell other providers’ APIs. Start with shared access by API key, or get a node dedicated to your project.

Free plan: 10,000 requests a day, no card required.

Request
curl https://rpc.nodes.koshelek.ru/eth \
  -H "apikey: $API_KEY" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,
       "method":"eth_blockNumber",
       "params":[]}'

Response 200 OK

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x1821e12"
}
One host, a path per network, the key in the apikey header.
blockchains on our own nodes
16
gateway p95 latency at 1,000 requests/s — measured on a test bench
7.9 ms
requests a day for free, no card required
10,000
first support response on the Enterprise plan
2 hours

Two ways to work with nodes

Shared access lets you start in minutes and pay for what you use. A dedicated node is for when you need your own capacity, archive data and a predictable load.

RPC access

by API key

Shared endpoints for all 16 networks. One key, billing in Compute Units, limits by plan.

Networks
All 16 with one key; the key can be limited to the networks you need
Protocols
Each network’s native interface: JSON-RPC or REST
WebSocket
Ethereum, BNB Smart Chain, XRP Ledger, and Cardano; messages on an open connection are not billed
gRPC
TRON
Limits
From 10 to 1,000 requests per minute, depending on the plan

Dedicated nodes

for your project

The node serves only your traffic: no neighbors sharing the load, limits set for your workload.

Mode
Full or archive — depending on the network
Launch
From a snapshot in our storage, not a sync from scratch
Monitoring
Block height and lag behind the network, around the clock; a stalled node restarts automatically
Fault tolerance
Several nodes can run behind a load balancer: one that falls behind leaves rotation until it catches up
Price
On request: depends on the network, the mode and the number of nodes
Request a node

To request a node, open a support ticket in the dashboard.

How a request travels

There is no third-party RPC provider between your application and the node: the gateway, the routing and the nodes are ours.

  1. Application

    HTTPS, WebSocket or gRPC. The key goes in the apikey header.

  2. Gateway

    Checks the key, the plan and the allowed networks. Over the limit, it returns 429 with Retry-After.

  3. Router

    Sends the request only to a healthy node. If the connection drops, it tries the next one — up to three attempts.

  4. Node

    Ours. If it falls behind the network, it leaves rotation. If it stalls, it restarts.

16 networks

Each network is served by its own client — bitcoind, rippled, java-tron, Ogmios and others. No stripped-down wrappers: methods and formats are the same as in the network’s own documentation.

16 networks
Network Interface WebSocket gRPC
Ethereum /eth JSON-RPC 2.0 · WebSocket JSON-RPC 2.0
Bitcoin /btc JSON-RPC (bitcoind) JSON-RPC (bitcoind)
BNB Smart Chain /bsc JSON-RPC 2.0 · WebSocket JSON-RPC 2.0
TRON /tron archive node HTTP API (java-tron) · gRPC HTTP API (java-tron)
TON /ton TonCenter HTTP API TonCenter HTTP API
XRP Ledger /xrp JSON-RPC (rippled) · WebSocket JSON-RPC (rippled)
Cardano /cardano JSON-RPC (Ogmios) · WebSocket JSON-RPC (Ogmios)
Litecoin /ltc JSON-RPC (litecoind) JSON-RPC (litecoind)
Dogecoin /doge JSON-RPC (dogecoind) JSON-RPC (dogecoind)
Bitcoin Cash /bch JSON-RPC (BCHN) JSON-RPC (BCHN)
Stellar /xlm GET only REST (stellar-core) REST (stellar-core)
NEAR /near JSON-RPC 2.0 JSON-RPC 2.0
Aptos /aptos REST (API v1) REST (API v1)
Sui /sui JSON-RPC 2.0 JSON-RPC 2.0
Dash /dash JSON-RPC (dashd) JSON-RPC (dashd)
Liquid /liquid JSON-RPC (elementsd) JSON-RPC (elementsd)

Need a network that isn’t on the list? Write to support, and we’ll discuss adding it.

Methods and limits for each network

Performance and fault tolerance

There is no public uptime SLA yet: we don’t publish percentages without a history of measurements behind them. Here is what we have measured and how failure protection works.

gateway p95 latency
7.9 ms
for 60 seconds
1,000 requests/s
out of 59,980 responses
0 errors

k6 load test on a test bench, June 2026: a cached method, rate limits lifted for the test key. This is the latency of the gateway and its cache, not the response time of a node.

Node checks
The router polls nodes continuously and excludes unreachable, stalled and lagging ones.
Retry on a dropped connection
If a node fails to answer at the connection level, the request goes to the next one — up to three attempts.
Out of rotation
A node that falls behind the network tip stops receiving traffic until it catches up.
Automatic restart
If the block height stops growing, the node restarts without human involvement.
Recovery
A replacement node starts from a snapshot in our storage, not from a sync from scratch.
Your own checks
GET /healthz on the gateway answers without a key — for load balancers and monitoring.

Access security

Key and account protection is on for every plan.

Security
The key is shown once
We store only its hash. A lost key can’t be recovered — only revoked and replaced with a new one.
Immediate revocation
A revoked key stops working as soon as the revocation event arrives; every 30 seconds the list is also re-checked from scratch.
Access by network
A project key can be limited to the networks you need — the gateway rejects the rest with error -32011.
Predictable limits
Over the limit — 429 and Retry-After; the remaining quota is in the X-RateLimit-* headers.
Rotation without downtime
The new and the old key work at the same time while you switch your application over.
Account protection
Two-factor authentication (TOTP), sign-in with a passkey, and recovery codes.

Your first request in a few minutes

  1. Sign up

    Free plan, no card required.

  2. Create a project and a key

    The key is shown only once — save it.

  3. Send a request

    One host, a path per network, the key in the apikey header.

Quickstart in the docs
curl
curl https://rpc.nodes.koshelek.ru/eth \
  -H "apikey: $API_KEY" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,
       "method":"eth_chainId","params":[]}'

Moving from Infura, Alchemy or QuickNode

For Ethereum and BNB Smart Chain the interface is the same: the URL changes, and the key moves into a header.

- http("https://mainnet.infura.io/v3/PROJECT_ID")
+ http("https://rpc.nodes.koshelek.ru/eth", {
+   fetchOptions: { headers: { apikey: API_KEY } },
+ })
Migration guides

Pricing

You pay for compute: every method has a weight in Compute Units, and the bill is CU × the plan’s price. Limits and support response times are published for every plan.

  • Free

    $0 per CU
    Requests per minute
    10
    Requests per hour
    500
    Requests per day
    10,000
    Heavy methods per minute
    6
    Networks
    All 16
    First support response
    48 hours
    Ticket resolution time
    —
    Start for free
  • Standard

    $0.001 per CU
    Requests per minute
    50
    Requests per hour
    2,500
    Requests per day
    50,000
    Heavy methods per minute
    30
    Networks
    All 16
    First support response
    24 hours
    Ticket resolution time
    5 days
    Choose
  • Premium

    $0.0005 per CU
    Requests per minute
    100
    Requests per hour
    5,000
    Requests per day
    100,000
    Heavy methods per minute
    60
    Networks
    All 16
    First support response
    8 hours
    Ticket resolution time
    3 days
    Choose
  • Enterprise

    $0.0002 per CU
    Requests per minute
    1,000
    Requests per hour
    50,000
    Requests per day
    1,000,000
    Heavy methods per minute
    600
    Networks
    All 16
    First support response
    2 hours
    Ticket resolution time
    1 day
    Contact us

Pay by card via Stripe for actual usage. Invoices for companies are issued through support.

Weight of every method

Dedicated node

The price depends on the network, the mode — full or archive — and the number of nodes. Send a request, and we’ll work out the price.

Request a node

Questions

How are you different from RPC aggregators?

We don’t resell other providers’ endpoints. Every network is served by nodes we run and maintain on our own servers, so we are responsible for the whole path of a request — from the gateway to the node.

Is there an SLA?

Support response times are fixed per plan — from 48 hours on Free to 2 hours on Enterprise. There is no public uptime SLA yet: a percentage will appear once there is a history of measurements behind it.

What are Compute Units?

A unit of request cost. Simple methods cost 1 CU, heavy ones cost more: eth_getLogs, for example, costs 75 CU. The full table of weights is in the docs.

Do you support WebSocket and gRPC?

WebSocket — for Ethereum, BNB Smart Chain, XRP Ledger, and Cardano. gRPC — for TRON. The other networks work over HTTPS with their native interface.

Can I get an archive node?

Yes, if the network supports it: we run dedicated nodes in full or archive mode. TRON on shared access already runs on an archive node.

Where are the servers?

The gateway runs on three servers in different data centers, with Cloudflare in front. The nodes run at a separate site; most networks are served by two or more nodes.

How do I switch from another provider?

For Ethereum and BNB Smart Chain, change the URL and pass the key in the apikey header. For the other networks, the request format matches the network’s own documentation. The docs have migration guides from Infura, Alchemy and QuickNode.

How do I pay?

By card via Stripe, for actual usage. If you need an invoice for a company, write to support.

Start with a free key

10,000 requests a day, all 16 networks, no card required.