Web3 infrastructure that disappears into your stack.
RPC, indexing, and webhooks across 14 chains behind one typed SDK. Drop it in, ship your product, and stop babysitting nodes.
No credit card · 25M compute units / month free
$npm i @nexusos/sdk+ @nexusos/sdk@4.2.0 added in 1.8s$nexus init --chains ethereum,base,solanaProject createdproj_8f2a91cRPC endpoints provisioned3 chainsWebhook signing key generated$nexus deploy indexer ./transfers.ts→ backfilling from block 19,204,551Indexer livep50 31ms$All systems operational
- Ethereum
- Base
- Arbitrum
- Optimism
- Solana
- Polygon
- zkSync
- Starknet
- Avalanche
The platform
Every primitive you need, wired together.
One account, one SDK, one bill. Each layer is usable on its own, and they compose without glue code.
Elastic RPC
Globally load-balanced endpoints with automatic failover across providers. Same JSON-RPC you already use.
eth_call · p50 31ms
Typed indexing
Write handlers in TypeScript, get a queryable Postgres-backed API. Reorg-aware by default.
backfill · 40k blocks/s
Signed webhooks
Subscribe to transfers, logs, or address activity. Every payload is HMAC-signed and retried with backoff.
delivery · at-least-once
Smart accounts
ERC-4337 bundler and paymaster APIs so users never see a gas prompt unless you want them to.
erc-4337 · v0.7
Scoped keys
Per-environment API keys with method allowlists, origin locks, and rate limits you control.
rbac · audit log
Observability
Trace every request end-to-end. Export metrics to Datadog, Grafana, or your own OTLP collector.
otlp · 30d retention
Integration
From install to mainnet in a single file.
- 1
Install the SDK
One package. Zero peer dependencies. Works in Node, Bun, Deno, and edge runtimes.
- 2
Point it at a chain
Every network shares the same interface, so adding a chain is a one-word change.
- 3
Ship
Keys, retries, and failover are handled for you. Monitor everything from the dashboard.
import { Nexus } from '@nexusos/sdk' const nexus = new Nexus({ apiKey: process.env.NEXUS_KEY }) // Typed RPC across any supported chainconst block = await nexus.base.getBlockNumber() // React to on-chain events in real timenexus.webhooks.on('erc20.transfer', async (event) => { await credit(event.to, event.amount)})Your next block is already being mined.
Generate a key, paste one line, and your app is reading the chain before the next one lands.