ChainOS
Start free
Non-custodial by architecture

Accept, hold and move stablecoins with keys only you control.

ChainOS gives your business on-chain accounts on ten blockchains through one API. Issue an address for every customer, know the moment money lands, collect it into one treasury and take payments on your own checkout. The recovery phrase that signs every transaction never leaves your infrastructure.

10
chains, one API
0
private keys held by Ziklag
1
container on your side
deposit_confirmed
1,000.00 USDT
TRON · 20/20 conf · cust_88213
Whose keys are these? Pick yours.
See how it works for fintechs
Ten networks. The stablecoins your customers already hold.
BitcoinUSDTEthereumUSDCBNB Smart ChainEURCPolygonPYUSDAvalancheRLUSDBasecNGNTRONDAISolanaFDUSDXRP LedgerUSDDStellarBitcoinUSDTEthereumUSDCBNB Smart ChainEURCPolygonPYUSDAvalancheRLUSDBasecNGNTRONDAISolanaFDUSDXRP LedgerUSDDStellar

Crypto infrastructure usually makes you choose between control and speed.

ChainOS removes the trade-off. Here's what it fixes.

01

Custodians hold your money, and your risk.

When a provider holds the keys, their breach is your loss and their outage is your downtime.

With ChainOS — a breach of Ziklag cannot move your funds. We hold only public keys.
02

Every chain is a new integration.

Different address formats, fee models, confirmation rules and token quirks, chain by chain.

With ChainOS — one API and one webhook format across all ten.
03

Crypto payments are irreversible and easy to get wrong.

Underpayments, late payments and rewritten addresses turn into lost money and angry customers.

With ChainOS — the checkout handles the edge cases, and your server settles only on what actually arrived.
What you can do

Everything a core banking system does for fiat, now for on-chain accounts.

01 · ACCOUNTS

An account number for every customer

Issue a unique deposit address per customer, per chain, in one call. Ethereum, BNB Chain, Polygon, Avalanche and Base share one address, so one customer is one address across five networks.

Isometric illustration of deposit boxes piping funds into one treasury vault
02 · PAYMENTS

Take payments on your own site

A payment button for your checkout, hosted payment links, donation pages, and invoices that issue themselves on confirmation.

Isometric illustration of a phone showing a QR payment with stablecoins orbiting it
03 · NOTIFICATIONS

Know the moment money lands

Signed webhooks for every deposit, confirmation and withdrawal, delivered at-least-once with retries and a replayable dead-letter queue.

04 · WITHDRAWALS

Withdrawals you sign, not us

Build, sign and broadcast payouts through your own Edge, with idempotency keys and spend caps per chain and time window.

05 · TREASURY

One treasury, not ten thousand addresses

Sweep policies collect deposits into your treasury automatically. Gas tanks per chain pay the fees. Sweeps are never billed.

06 · CROSS-CHAIN

Move stablecoins between chains

Bridge USDC, EURC, USDT, RLUSD and cNGN through their issuers’ own rails. Pipelines chain a sweep and a bridge into one flow.

07 · MIGRATION

Bring your existing book

Adopt the addresses you already issued without telling one customer their address changed: assess, dry run, parallel run, cutover.

08 · SANDBOX

A sandbox that signs for real

Simulate deposits, confirmations and bridge failures, free and unmetered. Signing stays real, so what passes in sandbox passes live.

Live in three steps. Your keys stay home the whole way.

Every connection is dialled outbound by the Edge. No inbound port, no public ingress, no DNS record.

Isometric illustration of the ChainOS Edge: a sealed machine holding a violet key, sending azure data streams to floating stablecoin tokens
1

Run the Edge

One small container on your own server or cloud. The console generates the Compose file with your key filled in.

2

Register public keys

The Edge sends ChainOS your extended public keys. From those we derive every receive address, and never a private key.

3

Integrate once

One REST API, signed webhooks, or the payment SDK. The same shapes on every chain.

YOUR PREMISES Edge signs · verifies Recovery phrase never leaves Your app localhost:8787 outbound mTLS ZIKLAG CLOUD Public keys only Derives addresses · watches chains Builds transactions · sends webhooks Ledger · invoices · audit log Cannot sign 10 BLOCKCHAINS Bitcoin · Ethereum · BNB Polygon · Avalanche · Base TRON · Solana XRP Ledger · Stellar
Swipe to follow the flow
Two sides, and only one of them can spend.
Isometric illustration: a violet key kept in a locked house on your side, while the cloud holds only an outline key
Security and custody

We orchestrate every movement. We can't make one.

Ziklag holds only public keys. That's a property of the cryptography (BIP-32), not a policy we could quietly change.

Ziklag Cloud can
  • Derive and issue deposit addresses
  • Watch every chain and notify you
  • Build transactions for your Edge to check
  • Keep your ledger, invoices and audit trail
Ziklag Cloud cannot
  • Sign a transaction
  • Move your funds, or your customers'
  • See or recover your recovery phrase
  • Change a payout destination your Edge hasn't verified
HSM · AWS KMS · Azure Key Vault2FA to mint API keysSSO / SAMLAudit log + export

Honest by design: because we never hold your recovery phrase, nobody at Ziklag can recover it for you. Back it up before you issue your first address.

One platform. Four ways in.

FOR FINTECHS AND EXCHANGES

Offer stablecoin accounts without becoming a custody company.

  • An account per customer, per chain. Addresses map to your own customer references, so deposits land in your ledger already attributed.
  • Treasury that runs itself. Sweep policies collect deposits into one wallet per chain; bridges consolidate USDC into one balance.
  • Switch without disruption. Migrate an existing book through a parallel run and cutover. Customers keep their addresses.
Talk to us about your book
Built for regulated teams: HSM or cloud KMS keystores, SSO, a full audit log and nightly reconciliation against the chain.
Customer walletsSweepsMigrationGateway for shops
Guides: Customer wallets · One asset, many chains · Migrating a book
Zandy's CoutureOrder #4418
Pay exactly
120.00 USDC
on Base · 0x3fC9…7FAD
  1. Awaiting payment awaiting_payment
  2. Payment detected detected
  3. Confirmed on chain confirmed
  4. Completed · invoice sent completed

A checkout that gets the hard parts of crypto right.

Add a payment button in a few lines of JavaScript, or send a link and write no code at all.

Underpaid? We ask for the rest.
If an exchange skims a fee, the page requests the remainder at the same address and extends the window once.
Late payments are still your payments.
A payment after the countdown is credited, not lost. We keep watching for 30 days.
The address can’t be swapped.
The checkout runs in a cross-origin frame, so a malicious script on your site can’t rewrite where money goes.
Invoices issue themselves.
A numbered invoice is emailed on the first confirmation.

QR and copyable address on every chain, plus WalletConnect on the five EVM chains. Checkout accepts Bitcoin, Ethereum, BNB Chain, Polygon, Avalanche, Base and TRON.

Treasury · Cross-chain · Migration

Collect on six chains. Spend from one balance.

Sweep deposits into a treasury per chain, then bridge USDC, EURC, USDT, RLUSD and cNGN through their issuers' own rails. Pipelines join the two into one flow, and sweeps are never billed.

CCTP
USDC · EURC
LayerZero
USDT
Wormhole
RLUSD
Issuer API
cNGN
Bring your existing book. Adopt the addresses you already issued through a dry run, a parallel run and cutover, with rollback. Customers keep their addresses.
Isometric illustration of two chain islands joined by a glowing bridge carrying stablecoins

One API. Every chain behaves the same.

Consistent JSON envelopes, idempotency keys on every write, amounts as exact decimal strings, and a published OpenAPI spec.

Issue a deposit address
curl -X POST http://localhost:8787/v1/addresses \
  -H "X-API-Key: $CHAINOS_EDGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chain":   "eth",
    "userRef": "cust_88213",
    "tag":     "deposit"
  }'
201 · derivationPath m/44'/60'/0'/0/4211 · environment live
Webhook · deposit_confirmed
{
  "event": "deposit_confirmed",
  "confirmations": 12,
  "data": {
    "chain": "eth",
    "amount": "1000000",
    "amountFormatted": "1.00",
    "tokenSymbol": "USDT",
    "userRef": "cust_88213"
  }
}
deposit_detecteddeposit_confirmedwithdrawal_broadcastwithdrawal_confirmedwithdrawal_failedaddress_activatededge_offlineedge_onlinepayment.*

Start free. Pay for capacity, not for API calls.

See pricing
Free
2 chains, 100 addresses, 100 settled tx a month and the full sandbox. No card.
$0
for sweeps, failed tx, balance checks, address generation, webhook retries and sandbox.
$99/mo
Paid bands start here. Upgrades apply instantly, no surprise repricing.

Questions teams ask first

No. Funds sit at addresses derived from your own recovery phrase, and only your Edge can sign. A breach of Ziklag cannot move them.

Your customers want stablecoins. Your auditors want you to hold the keys.

Give them both. Start free today, or talk to us about migrating an existing book.