How to get an Ethereum RPC endpoint for RWA (2026 guide)

TL;DR
ERC-3643 compliance checks run as synchronous eth_call requests — and when a public endpoint throttles mid-distribution event, that call either returns stale compliance state or drops entirely, with no error your monitoring stack will catch until an auditor asks for the records. With over $16.3B in tokenized real-world assets now settled on Ethereum, the RPC layer is not a backend detail — it is the compliance layer. This guide covers what RWA protocols actually need from their Ethereum endpoint: archive access from day one, data residency controls, and compliance event indexing that never silently drops records.
What is an Ethereum RPC endpoint
An Ethereum RPC endpoint for RWA protocols is your platform’s gateway to the chain’s JSON-RPC interface, a stateless request/response protocol served over HTTPS or a persistent WebSocket connection. Every on-chain action your RWA platform takes routes through this interface: checking an investor’s compliance status on an ERC-3643 identity registry, broadcasting a permissioned token transfer, or reconstructing the complete distribution history of a tokenized Treasury fund for a regulatory audit.
The operations your RWA protocol depends on the endpoint to execute:
eth_callfor pre-transfer compliance checks against ERC-3643 compliance modules and identity registrieseth_getLogsto index transfer restriction events, KYC status updates, and oracle price feed updates across token contractseth_getTransactionReceiptto confirm settlement finality and extract emitted compliance events post-transfereth_getStorageAtfor historical state reads at specific block heights, required for NAV verification and regulatory reportingdebug_traceTransactionfor post-trade audit reconstruction (archive node required)eth_blockNumberfor oracle freshness validation and settlement confirmation timing
You can review the full list of supported JSON-RPC methods in the Ethereum developer documentation.
For a regulated issuer, an endpoint that returns incomplete event logs because it is throttling under load is more than an uptime problem; it is a compliance record gap that a BaFin or SEC auditor will surface months after the fact.
Ethereum L1 vs L2 RPC for RWA protocols
Most institutional RWA protocols deploy on Ethereum mainnet L1 by design: primary regulatory frameworks (MiCA, GENIUS Act, Reg D) reference the authoritative settlement layer, and institutional custody providers integrate against L1 state. But as Arbitrum and Base have matured, some protocols are running lower-cost secondary market operations on L2 while keeping issuance registries on L1.
The differences at the RPC layer are significant for RWA workloads:
| Dimension | Ethereum L1 | L2 (e.g. Arbitrum, Base) |
|---|---|---|
| Block time | ~12 seconds | ~0.25 seconds |
| Finality | ~12 minutes (2 epochs) | Sequencer-fast; L1-final in ~7 days |
| JSON-RPC API | Standard EVM JSON-RPC | Mostly EVM-compatible + custom namespaces |
| Compliance event indexing | Full eth_getLogs support | Full eth_getLogs support |
| Settlement authority | Authoritative | Derived from L1 |
| Archive support | Full (Chainstack) | Varies by L2 provider |
| Regulatory clarity | Established | Emerging |
For RWA protocols running compliance modules on L1 with secondary trading on L2, the RPC architecture must track both chains. A compliance event that fires on L2 against a registry that is authoritative on L1 requires ordered processing across both endpoints, and that ordering assumption breaks if either endpoint lags.
Tokenized asset operations that depend on RPC reliability
Ethereum holds more tokenized real-world assets than any other chain — over $16.3B in TVL as of May 2026, representing roughly 60% of the entire on-chain RWA market. BlackRock’s BUIDL fund holds approximately $1.7B in assets issued through Securitize on Ethereum. Ondo Finance has crossed $2.5B in total TVL with products like USDY and OUSG live on nine networks, with Ethereum as the primary settlement chain. Franklin Templeton‘s FOBXX fund operates on Ethereum, as does WisdomTree‘s WTGXX, which received SEC approval for 24/7 secondary market trading in 2026.
Behind each of these products is a set of high-frequency RPC operations that generic infrastructure guides never address:
- Transfer compliance pre-checks: Every ERC-3643 transfer calls
canTransferFrom()on the compliance module before the transaction is submitted. This is a synchronouseth_callthat blocks the user-facing flow. If the endpoint returns stale compliance state under load, the call either allows a non-compliant transfer through or blocks a valid one with no error returned to the caller. - Identity registry event monitoring: KYC verification status lives in on-chain identity registries. Investors who complete KYC off-chain need their on-chain identity claim registered before they can receive tokens. Missing a
ClaimAddedorIdentityRegistryUpdatedevent means an investor who completed verification is blocked from a distribution with no obvious error trace. - Oracle price update indexing: NAV oracle contracts emit update events that protocols consume to calculate yield accruals and redemption prices. Chainlink price feeds anchored to off-chain T-Bill yields are the standard pattern. A missed oracle event causes stale pricing that becomes an audit finding if a distribution was calculated against an outdated NAV.
- Dividend and yield distribution batch monitoring: BUIDL distributes yield through daily accruals across all holder balances. Monitoring a full distribution requires event indexing across potentially thousands of wallet addresses in a single block range — this is the pattern that most reliably exhausts a public endpoint’s
eth_getLogscapacity. - Regulatory data pulls: Compliance teams run scheduled queries that reconstruct the full transfer history of a token from deployment block to current head. This requires an archive node; a pruned full node cannot answer “what was this investor’s balance at block 19,500,000?”
Ethereum RPC endpoint options
Public vs private Ethereum RPC endpoints
The public vs private decision for Ethereum RWA infrastructure is not about performance — it is about compliance event continuity. A throttled public endpoint does not return a clean error when it drops eth_getLogs results under load; it returns a truncated response that looks like success. That truncation becomes a gap in your compliance audit trail.
Official public endpoints:
- Mainnet:
https://cloudflare-eth.com - Sepolia testnet:
https://rpc.sepolia.org
⚠️ Public Ethereum endpoints have no SLA, apply aggressive rate limits during high-traffic periods, and provide zero data residency guarantees. For RWA platforms operating under MiCA, DORA, or SEC oversight, using a public endpoint in production means your compliance event logs route through infrastructure with no jurisdictional controls and no obligation to deliver complete records. The Ethereum network documentation recommends connecting via a dedicated node provider rather than relying on community-maintained public endpoints for anything beyond local testing.
| Feature | Public endpoint | Private managed endpoint |
|---|---|---|
| Access | Free and open | Restricted access |
| Resources | Shared infrastructure | Dedicated resources |
| Best use case | Local development and testing | Production RWA protocols |
| Rate limiting | Aggressive — drops under oracle load | No hard throttling |
| Archive access | Not available | Available via Chainstack |
| Data residency | None | Configurable region |
📖 For a detailed provider comparison, see Best Ethereum RPC providers in 2026.
For regulated asset protocols, managed infrastructure is not optional when compliance event completeness is a legal requirement rather than a reliability preference.
Full node vs archive Ethereum node
For Ethereum RWA protocols, the archive decision is regulatory before it is technical. Full nodes serve real-time operations efficiently but prune historical state beyond a configurable window. Archive nodes retain every state transition since genesis: every balance, every storage slot, every emitted event at every block height.
| Full node access | Archive node access |
|---|---|
| Current token balances and NAV reads | Historical token balance at any block height |
Real-time compliance pre-checks (eth_call) | Full transfer history replay for regulatory audit trails |
| Live oracle price monitoring | debug_traceTransaction for post-trade audit reconstruction |
| Real-time KYC event indexing | Historical eth_getLogs for complete compliance event history |
| Active distribution monitoring | NAV verification at specific historic block heights |
| Settlement confirmation for current transfers | Annual report backfills and regulator-requested history exports |
Chainstack supports archive nodes for Ethereum, including full archive with debug and trace methods enabled. For RWA protocols operating under MiCA’s record-keeping mandates or responding to SEC data requests, archive access is the baseline infrastructure requirement. When a fund administrator needs to prove distribution state at a specific historic block to satisfy a regulatory inquiry, a full node cannot answer that question.
HTTPS vs WebSockets
For compliance-intensive Ethereum workloads, the right transport depends on the operation pattern. Batch compliance report generation is naturally request/response; live compliance event monitoring requires persistent connections.
| Feature | HTTPS | WebSocket |
|---|---|---|
| Model | Request/response | Persistent connection |
| Complexity | Simple operationally | Requires reconnect/heartbeat logic |
| Best for | Scheduled NAV pulls, batch eth_getLogs queries, compliance history reports | Live oracle event subscriptions, real-time KYC registry monitoring, transfer event streams |
| Latency | Standard | Lower for frequent updates |
| Connection overhead | Per request | One-time handshake |
For RWA protocols, the practical architecture uses both: HTTPS for scheduled compliance queries and batch reporting, WebSocket for live subscriptions feeding the compliance monitoring pipeline. A WebSocket subscription that drops a TransferRestrictionUpdated event because the connection closed without reconnect logic is an audit gap, and should be treated as one.
Audit trail and historical data requirements for regulated assets
The regulatory requirements for tokenized securities are now explicit about what the data infrastructure must deliver. MiCA Article 83 requires regulated DLT financial instruments to maintain complete records of all transactions, transfers, and ownership changes accessible to competent authorities. DORA adds ICT risk continuity requirements that include uninterrupted data access, meaning your archive RPC cannot be a single point of failure in the audit trail chain.
What this translates to at the RPC layer:
Transfer history completeness: Every ERC-1400 and ERC-3643 transfer event must be captured without gaps. eth_getLogs queries over the full contract history must return identical results whether run today or when a regulator requests them eighteen months from now. This requires an archive node; a full node that has pruned blocks before a certain height cannot serve as an authoritative audit source.
Historical state reconstruction: Regulators ask for token distribution state at specific historic dates: end of quarter, as of a settlement date, at the time of a specific corporate action. eth_getStorageAt and eth_call against past block numbers are archive-only operations. If your provider cannot answer a historical state query, your audit trail has a structural gap.
Third-party ICT risk register: Under DORA, regulated entities must maintain a register of all ICT third-party providers, including concentration risk documentation. Your RPC provider belongs in this register. The provider must have demonstrable redundancy, documented disaster recovery procedures, and SLA terms that go beyond uptime marketing claims.
Data residency: EU-regulated issuers face jurisdictional requirements about where data is processed and stored. Chainstack’s enterprise infrastructure supports region-specific node deployment to address these requirements.
Compliance infrastructure
The compliance requirements for Ethereum RWA protocols extend beyond endpoint reliability to the provider’s own security posture and your operational controls.
SOC 2 Type II: This is now the baseline institutional expectation. Chainstack’s SOC 2 Type II certification covers security, availability, and confidentiality controls, audited annually. When your legal team assembles the ICT third-party risk register required by DORA, this certification covers the RPC provider entry.
SSO and RBAC: Institutional operations have multiple roles interacting with blockchain infrastructure: developers deploying contracts, operations teams monitoring nodes, compliance teams pulling audit data, finance teams accessing billing. Chainstack’s enterprise plan supports SSO integration (Okta, Azure AD) and granular role-based access controls so your compliance team can run archive queries without holding production deployment credentials.
MiCA and DORA compliance path: MiCA Article 83’s record-keeping requirements effectively mandate archive access for any protocol issuing regulated tokens to EU investors. DORA’s ICT third-party risk framework requires documented resilience from providers, including backup and recovery procedures and concentration risk disclosure. For RWA platforms building under these frameworks, Chainstack’s blockchain infrastructure for fintech provides the documentation and certifications needed to complete the regulatory vendor assessment.
Key management: RPC credentials should live in a secrets manager: GCP Secret Manager, AWS Secrets Manager, HashiCorp Vault, or Kubernetes Secrets. Never in .env files committed to version control, and never hardcoded in application code.
How to get a private Ethereum RPC endpoint with Chainstack

Deploy a private Ethereum RPC node on Chainstack in five minutes:
- Log in to the Chainstack console (or create an account)
- Create a new project
- Select Ethereum as your blockchain protocol
- Choose network: Ethereum Mainnet, Sepolia, or Hoodi testnet
- Deploy the node. Global Nodes deploy in seconds; Dedicated Nodes use Bolt sync technology for faster archive initialization
- Open Access/Credentials and copy your HTTPS and WebSocket endpoints
- Run a quick connectivity check before wiring it into production code
import { ethers } from 'ethers';
// HTTP provider — use for batch compliance reports and scheduled NAV queries
const httpProvider = new ethers.JsonRpcProvider("YOUR_CHAINSTACK_ENDPOINT");
httpProvider.getBlockNumber().then(console.log);
// WebSocket provider — use for live compliance event subscriptions
const wsProvider = new ethers.WebSocketProvider("YOUR_CHAINSTACK_ENDPOINT");
wsProvider.getBlockNumber().then((blockNumber) => {
console.log(blockNumber);
wsProvider.destroy();
});
📖 For the full integration guide, see the Chainstack Ethereum tooling documentation.
You can also access Chainstack Ethereum RPC directly from Claude, Cursor, Codex, Gemini, or Windsurf using Chainstack MCP. Learn more about Chainstack MCP.
Using Chainlist
Ethereum (chain ID 1) is listed on Chainlist, which lets developers add the mainnet to MetaMask or other wallets in one click. For RWA protocol development, Chainlist is useful for configuring a local wallet during smart contract testing — but any RPC URL pulled from Chainlist aggregates community-run endpoints with no SLA and should be replaced with a managed endpoint before any production deployment.
Chainstack pricing for Ethereum RPC
Chainstack bills on a request-unit model where costs scale with actual consumption rather than compute units priced differently per method, making monthly spend easier to forecast for compliance teams that need predictable infrastructure budgets. See the full Chainstack pricing page for plan details and overage rates. For RWA protocols running archive queries, archive requests consume 2 RU each versus 1 RU for full-node requests — factor this multiplier into capacity planning before launch.
| Plan | Cost | Requests/Month | RPS | Overage (per 1M extra) |
|---|---|---|---|---|
| Developer | $0 | 3M | 25 | $20/1M RU |
| Growth | $49 | 20M | 250 | $15/1M RU |
| Pro | $199 | 80M | 400 | $12.50/1M RU |
| Business | $499 | 200M | 600 | $10/1M RU |
| Enterprise | $990+ | 400M+ | Unlimited | $5/1M RU |
Advanced options relevant to RWA platforms:
- Archive Node add-on: required for audit trail integrity and regulatory data reconstruction
- Unlimited Node add-on: flat-fee pricing from $149/month (25 RPS tier), suited for protocols with predictable sustained compliance query load
- Dedicated Nodes: from $0.50/hour per node + $0.01 per 20 GB/hour storage, recommended for large issuers running continuous event indexing against multiple token contracts
How to estimate monthly cost
- Count daily compliance event queries:
eth_getLogsscans per oracle cycle, identity registry checks, and distribution monitoring batch size - Add scheduled reporting load — daily NAV pulls, weekly distribution history queries, monthly regulator data exports
- Multiply archive query volume by 2 RU per request
- Add WebSocket subscription overhead for live compliance monitoring streams
- RWA protocols with active secondary market trading see load spikes of 5–10x baseline during distribution events, oracle update windows, and secondary market trading sessions — provision for peak, not average
Production readiness checklist
- Primary + fallback RPC provider configured
- Request timeout policy set (10 seconds for archive queries, 5 seconds for real-time calls)
- Retry logic with exponential backoff implemented
- Credentials stored in secrets manager, never hardcoded, never in committed
.envfiles - Monitoring for latency, error rate, and throttling (429 rate is the first signal of capacity pressure)
- Alerts for sustained degradation
- Archive access confirmed and tested before production launch; run
eth_getBalance(contract, "earliest")to verify full archive depth - WebSocket reconnect logic with missed-event backfill implemented for all compliance event subscriptions
eth_getLogsdepth verified; confirm your node returns complete event history from your contract’s deployment block- Data residency requirement documented and node deployment region configured for EU/US regulated issuers
Troubleshooting common Ethereum RPC issues
| Issue | Symptom | How to Fix |
|---|---|---|
429 Too Many Requests | Requests fail during distribution events or oracle update windows | Move to a managed endpoint with higher RPS; implement exponential backoff with jitter in retry logic |
| WebSocket disconnects | Missed compliance events, stale KYC registry state | Implement reconnect logic; on reconnect, backfill missed events with eth_getLogs from the last indexed block |
eth_getLogs returns empty for known events | Compliance event index gaps, missing audit trail records | Confirm node type; full nodes with aggressive pruning will not return logs for older blocks, switch to archive node |
debug_traceTransaction returns method not found | Post-trade audit reconstruction fails | Requires archive node with debug methods enabled; confirm your provider and plan support it |
Stale eth_call compliance result | Transfer blocked unexpectedly after KYC approval | KYC event may have been emitted but not yet indexed by a lagging node; add a block-confirmation delay before re-querying compliance state |
High latency on large eth_getLogs block ranges | Batch compliance reports timing out | Split queries into windows of 10,000 blocks maximum; use archive node for historical ranges beyond the last 128 blocks |
| Chain ID mismatch on Sepolia | Transactions rejected on testnet | Sepolia chain ID is 11155111; verify your ethers.js configuration and contract deployment network match |
Conclusion
An eth_getLogs call that returns a truncated result on an overloaded public endpoint does not fail with a 429 — it returns an empty array that looks like success. For ERC-3643 protocols, that empty array is not a missed notification; it is a gap in the transfer restriction history that a regulator will eventually ask you to explain. The silent nature of the failure is what makes it dangerous: your application continues running, your monitoring shows no errors, and the compliance record quietly develops holes that surface during audits rather than incidents.
Deploy a dedicated archive node on a provider with SOC 2 Type II certification and confirmed data residency controls. Configure WebSocket subscriptions with reconnect logic and missed-event backfill. Use HTTPS for scheduled batch reporting. These three decisions eliminate the entire class of unreported compliance failures that shared public infrastructure creates. Do not run your production compliance indexing on the same node as development or staging environments; the availability profiles differ, and the failure modes are not symmetric.
FAQ
Do I need an archive node for an Ethereum RWA protocol? Yes, for any protocol with regulatory obligations this is a hard requirement. MiCA Article 83, DORA ICT requirements, and SEC record-keeping rules all require complete transaction history that cannot be reconstructed from a full node that has pruned historical state. A full node that has discarded events before block X cannot confirm that no transfers occurred in that range. Archive access is not an upgrade for RWA protocols — it is the infrastructure baseline.
Why do ERC-3643 compliance checks return incorrect results on throttled endpoints? ERC-3643’s canTransferFrom() is an eth_call against the compliance module. When a public endpoint is under load, it may return a cached or slightly stale compliance state rather than the current registry value. The result is a false true that lets a non-compliant transfer proceed, or a false false that blocks a valid one. Neither produces a 429; they manifest as application logic failures with no clear cause. Dedicated infrastructure serving live state eliminates this failure mode entirely.
Can I use an Ethereum L2 for my RWA token issuance? Some protocols deploy secondary market contracts on Arbitrum or Base for cost efficiency, but authoritative issuance registries and compliance modules stay on Ethereum L1 in most institutional deployments. If you run L2 auxiliary contracts, your RPC architecture needs dedicated endpoints for both chains, and you need to account for optimistic rollup L1-finality lag (~7 days for Arbitrum) in your settlement confirmation flow. L2 sequencer finality is not the same as L1 finality for regulated settlement purposes.
What Ethereum RPC methods does an oracle-driven RWA protocol use most? The highest-frequency methods are eth_getLogs for oracle update and compliance events, eth_call for compliance pre-checks and NAV reads, eth_blockNumber for oracle freshness validation, and eth_getTransactionReceipt for settlement confirmation. For regulatory audit reconstruction, debug_traceTransaction and eth_getStorageAt at historical block numbers are archive-only requirements that must be verified with your provider before production launch — not after an audit request arrives.
How should I handle WebSocket reconnects in a compliance event monitoring pipeline? On disconnect, record the last successfully processed block number before attempting to reconnect. On reconnect, run an eth_getLogs backfill from that block to the current head before resuming the live subscription. Any gap in event coverage, even a few blocks during a reconnect window, is a potential audit trail gap. Treat missed events as a critical alerting condition, not a background recovery task.
How does Chainstack pricing work for protocols running heavy archive queries? Archive requests consume 2 RU per call versus 1 RU for full-node requests. For protocols running daily compliance reports and responding to ad-hoc regulator history requests, the Unlimited Node add-on at a fixed monthly rate removes per-query cost uncertainty, particularly useful when compliance teams run unscheduled archive queries in response to regulatory data requests that cannot be planned in advance.
Additional resources
- Ethereum: Asset tokenization with Embark — deploy ERC-20 asset tokenization contracts on Ethereum Sepolia with Chainstack
- Chainstack Ethereum tooling documentation — ethers.js, web3.js, viem, and Python integration guides
- RPC infrastructure for RWA: EVM node requirements — ERC-1400/ERC-3643 infrastructure patterns across Ethereum, BNB Chain, and Arbitrum
- Chainstack RPC for RWA infrastructure
- More Ethereum tutorials and articles on the Chainstack Blog
- Ethereum JSON-RPC API reference — official method documentation