Hosted Service

ez-wallet: programmatic Solana wallet creation

ez-wallet is a REST API that generates Solana wallets. One call, one wallet, signed and ready in under 200ms. Or one call, ten thousand wallets in a single batch, returned as a streaming JSONL response if your system needs to onboard a CEX user list overnight or seed an airdrop campaign. The wallets it creates are real Solana keypairs: ed25519 secret/public pairs, optionally derived from a BIP39 mnemonic with the standard Solana derivation path (m/44'/501'/0'/0'). Nothing exotic, nothing custom-cryptographic, no surprises when you hand the resulting address to Phantom or Solflare. The differentiator is operational: rate limits sized for batches, a key-storage option if you don't want to handle private keys yourself, and HD-wallet hierarchies so you can derive a million sub-accounts under one master without making a million API calls. Pricing starts at $0.001 per wallet, with bulk discounts above 100k.

REST + SDKBIP39 + ed25519Batch generationHD derivationOptional custodyFrom $0.001 / wallet
On-chain programs

ez-wallet API endpoints

every endpoint the wallet API exposes

EventTypeDescriptionFrequencyLatency
POST /v1/walletsinstructionCreate a single Solana wallet. Returns address, secret key (or custody handle), and optional mnemonic.Very high180ms
POST /v1/wallets/batchinstructionCreate up to 10,000 wallets in one call. Streamed as JSONL or returned as a downloadable CSV.High4000ms
POST /v1/wallets/hdinstructionGenerate an HD master key and derive any range of child wallets on demand.High200ms
GET /v1/wallets/{id}instructionRetrieve a custody-managed wallet by id. Authentication required, audit-logged.Medium60ms
POST /v1/wallets/{id}/signinstructionSign a transaction with a custody-managed wallet. HSM-backed signing.Medium120ms
DELETE /v1/wallets/{id}instructionPermanently destroy a custody wallet. Irreversible. Requires two-factor confirmation.Low90ms

API performance and security posture

last reviewed 2026-04-28

Single-wallet creation latency
180ms
p50 from POST /v1/wallets to response, including mnemonic generation
Verified 2026-04-28
Batch throughput
12,000 wallets/sec
Sustained on a single API endpoint, batched ed25519 keygen on AVX2
Verified 2026-04-28
HD derivation rate
40,000/sec
SLIP-0010 derivation from one master, single client
Verified 2026-04-28
Cost per wallet (volume)
$0.0004
Above 1M wallets per month. Default rate is $0.001 per wallet.
Custody key storage
AWS KMS HSM
When you choose custody=managed, master keys live in FIPS 140-2 Level 3 HSM
API uptime SLO
99.95%
Monthly rolling, credit applied automatically on breach

What ez-wallet is, and what it isn't

ez-wallet is a wallet creation API. The product does one mechanical thing: it accepts an HTTP POST and returns a freshly generated Solana wallet, with optional bells (BIP39 mnemonic, HD derivation, HSM custody) attached. It is not a wallet frontend, it is not a custodian for end-user balances in the consumer sense, it is not a competitor to Phantom or Solflare or Backpack. It sits one layer below those.

The job it solves is unglamorous and surprisingly common. A CEX needs to mint a unique deposit address per user; that's a wallet creation event per signup. An airdrop campaign needs ten thousand fresh addresses to fund a snapshot drop; that's a batch generation. A custody product wants to give every institutional client an HD wallet hierarchy with a master rooted in an HSM; that's SLIP-0010 derivation under a managed key. These are all mechanically different requests but they share a pattern: nobody wants to write the keygen plumbing.

We wrote it. The keygen runs on AVX2-accelerated ed25519 implementations, the BIP39 entropy comes from a kernel getrandom() that we audit twice a year, the HD code follows SLIP-0010 to the byte, and the optional managed-custody mode stores secrets in AWS KMS HSMs at FIPS 140-2 Level 3. The resulting wallets are indistinguishable from anything Phantom generates, because they are the same bytes generated the same way.

What that buys you, on top of just rolling your own ed25519: 12,000 wallets per second sustained, batched JSONL streaming for million-record onboarding lists, signing as a managed service if you don't want to handle keys, and an audit trail for every operation that auditors and compliance teams like to see.

Use cases that justify the API

If your application creates more than a few wallets a week, ez-wallet is probably the right answer. The four patterns we see most:

CEX deposit addresses

Mint a unique Solana deposit address for each user at signup. Use HD derivation under a master key in custody, so the keys never live on user devices and you can re-derive on demand for incident recovery. Pair with our wallet transfers stream to detect inbound deposits in under 50ms.

Airdrop campaigns

Generate the snapshot of recipient wallets in one batch call. ez-wallet returns the addresses as a streamed JSONL response so you can pipe them straight into a signed merkle tree or a transfer batch without ever loading the full set into memory.

Custody systems

Institutional custody products use the managed mode where every master and child key sits in HSM. Signing happens behind your auth layer; we never see plaintext secrets after the keygen second. Audit logs are exposed via webhook to your SIEM.

Bot/agent fleets

Trading bots and on-chain agents that rotate wallets to avoid getting front-run. Generate a fresh hot wallet per session, fund it from the master, dispose of it after the run. ez-wallet keeps the rotation cycle frictionless.

Two patterns we explicitly don't recommend ez-wallet for: single-user personal wallets (use Phantom) and end-user-facing embedded wallet UX (use Privy or Magic, which include the login and recovery flows we don't).

Security model: where the keys actually live

The hardest question in any wallet API is “who holds the key.” ez-wallet supports two answers, you pick per-call.

custody=client (default). The API generates the keypair, returns the secret key in the response body, and immediately drops it from memory. We never persist it. We don't log it. The TLS response is the only place it ever existed on our side. If you want to verify, the Rust code sample on this page round-trips the secret to a public key and checks against the address we claimed; do that in CI on every release if your auditors care. This is the right mode when your application owns the wallet and stores keys in your own KMS.

custody=managed. The API generates the keypair, the secret key goes directly into AWS KMS using a FIPS 140-2 Level 3 HSM, and we return only an opaque wallet_id. To sign with that wallet, you call POST /v1/wallets/{id}/sign with the message bytes; we authenticate the request against your account, ask KMS to sign without ever pulling the key into our process, and return the signature. Plaintext private keys never exist outside the HSM, never appear in logs, and survive employee access reviews because nobody has the box that holds them. This is the right mode for CEX deposit wallets, custody products, and anywhere your security team would otherwise ask you to write a key-storage service from scratch.

For BIP39 mnemonic generation, the entropy source is the kernel's getrandom() pulling from a CSPRNG seeded by hardware RNG (RDSEED on AMD EPYC). We don't use any userspace PRNG for key material. The audit firm that reviewed this last is Trail of Bits; we share the report under NDA on request. If you find a weakness in the entropy chain, we have a $25,000 bug bounty for keygen-affecting issues.

API reference and code samples

The full API is six endpoints. Most teams use two of them.

EndpointWhat it doesLatency p50
POST /v1/walletsOne wallet180ms
POST /v1/wallets/batchUp to 10k wallets, JSONL stream4s for 10k
POST /v1/wallets/hdCreate HD master + derive children200ms
GET /v1/wallets/{id}Fetch managed wallet metadata60ms
POST /v1/wallets/{id}/signHSM-backed transaction signing120ms
DELETE /v1/wallets/{id}Permanently destroy a managed wallet90ms

Authentication is a bearer token in the Authorization header. Rate limits default to 1000 requests/minute on the create endpoints (the batch endpoint counts as one request regardless of size); we lift those on request for production accounts. The OpenAPI spec lives at api.nolimitnodes.com/v1/openapi.json and the SDK packages are @nolimitnodes/ez-wallet for Node and nolimitnodes-ez-wallet for Python.

Errors follow the standard HTTP convention plus a stable error-code field; an exhaustive list is in the docs. The two you'll hit in practice: 429 when you cross the rate limit (back off and retry, the Retry-After header is accurate), and 402 if your account hits its prepaid balance (top up via the dashboard or move to invoiced billing).

Pricing and how to size it

Three numbers make up the bill. Wallet creation, HD derivation, and managed signing.

OperationStandardVolume (1M+/mo)
Wallet creation$0.001 each$0.0004 each
HD child derivation$0.0005 each$0.0002 each
Managed signing$0.0001 each$0.00004 each
HD master creationFreeFree

A worked example. A mid-size CEX onboarding 50,000 users a month, using HD derivation under a custody master, with each user receiving roughly 10 deposit signatures a month. That's 50k * $0.0005 + 500k * $0.0001 = $75/month. The custody side is essentially free at that scale; what matters more is the downstream wallet-transfers stream for deposit detection.

For airdrop campaigns the math is simpler: count the wallets, multiply by the per-wallet rate. A million-wallet airdrop is $1,000 at standard rate, $400 at the volume tier. We invoice monthly above $1,000/month; smaller accounts run on prepaid balance via Stripe. Get an API key from the pricing page.

Frequently asked questions

It generates Solana wallets via API. A wallet is an ed25519 keypair, optionally derived from a BIP39 mnemonic, with a Solana base58 address. Call POST /v1/wallets and you get one back in under 200ms. Call POST /v1/wallets/batch with count=10000 and you get ten thousand back as a streamed JSONL response. The wallets are real Solana wallets, no escrow magic, no proprietary format. You can hand the address to Phantom, the mnemonic to Backpack, the secret key to anchor, and they all work.

Generate your first Solana wallets in 60 seconds

$0.001 per wallet at standard rate, $0.0004 above 1M/mo. Free HD master creation. HSM-backed managed signing optional.

Ready to get started?

Get your free API key and start building in under 30 seconds.

Talk to Sales