Non-custodial · hosted

Get paid in USDT.
Hold your own keys.

We host checkout, the API, webhooks and your dashboard. Funds land on addresses only you can sweep.

your integration
$ curl -X POST $STABLERAILS_API_URL/v1/invoices
{"data":{"id":"inv_9f2c41d0","status":"pending","payAddress":"TWd4…n5pQ"}}[watcher] solid block 83 412 907 · two RPCs agreestatus: paid · receipt confirmed by BOTH providers[webhook] 200 · X-Stablerails-Signature: sha256=9f2c…

Hand it to your agent: /agents → · or pay in the live demo →

0%per-payment fee
0keys on the server
0KYC, no company needed
0ways for us to move your money
01

From sign-up to paid

1.

Create an account

Email and a password. No company, no KYB, no approval queue.

2.

Connect your wallet

Paste an xpub and a sweep address from a wallet you control. Keys never leave your machine; we physically cannot hold your funds.

3.

Grab your API key

Checkout, webhooks and the dashboard are already wired on our domain. Hand the docs to your developer or your agent.

4.

Get paid

Create invoices via the API, customers pay USDT on a hosted checkout, two independent RPCs confirm, your webhook fires.

5.

Sweep on your schedule

Funds sit on addresses only you can spend from. Pull them to your wallet with one local command and your passphrase.

sign up → first invoice: ~5 min · payment → confirmed: ~1 min · sweep: whenever you decide

PAYER sends USDT PER-INVOICE ADDRESS fresh HD address HUMAN PASSPHRASE YOUR WALLET sweep signed locally WATCH-ONLY SERVER we host it · checkout + API + dashboard · no keys

Keys never leave your machine.

02

We host the rails. You hold the keys.

Our servers cannot steal your funds. Neither can your AI agent.

The server we host is watch-only
Zero keys on it. Full compromise, worst case: an attacker reads invoice metadata. Funds untouchable.
Signing is local, human, deliberate
Sweeps are signed only via the local CLI on your machine, behind a passphrase, with optional Touch ID. No passphrase, no movement.
Destination pinned locally
The sweep destination is pinned on your machine. A fully compromised server cannot redirect a sweep to an attacker.
Two RPCs must agree
Two providers must read the same on-chain receipt at a solid block. Disagree: nothing credits, retry next tick. Never a false 'paid'.
AI agents get readonly keys
Agents can run your store: create invoices, read events, watch sweeps. They physically cannot move your money.
100% open source
Every line is public, signer included. 1,000+ offline tests: clone, run, audit.
No lock-in
Funds already sit in addresses you control; your data exports in one call. Self-host the same software and keep going.
Survives the project
AGPL-3.0 is irrevocable. The code is yours to run forever, with us or without us.
03

What it costs

0%

Free while we're in beta. There is no per-payment fee, hosted or self-hosted: the software has no fee code path. You are never billed a cut of what you collect.

If the rails earn their keep, you'll be able to support hosting directly. Either way, what your customers pay is what lands in your wallet.

04

Built for the agentic web

MCP server included. Machine-readable /llms.txt. JSON output everywhere. An AI agent can integrate your store, create invoices and watch payments, except the one thing it must never do: touch your passphrase.

You point it at the docs

/agents →

A copyable prompt and the MCP config. Your agent reads the API and gets to work.

It runs on a readonly key

/agents.md →

Everything an agent needs to operate the store, plus a hard boundary: on a readonly key, even a misled agent can't move funds.

05

What's in the box

HMAC-signed webhooks

Signed delivery with retries. Verify the signature, trust the event.

X-Stablerails-Signature: sha256=9f2c41d0…

Per-invoice HD addresses

A fresh deposit address for every invoice, derived from your xpub. No address reuse.

Hosted checkout + payment links

A ready checkout page with QR, countdown and live status. Share a link, get paid.

Merchant dashboard

Invoices, payments and API keys behind your own login, scoped to your store.

Two-RPC finality

Two independent providers must agree on a solid block before anything reads as paid. Never 0-conf.

Readonly keys for agents

Hand an AI agent a key that can run the store but physically cannot move funds.

Tron USDT today

USDT (TRC-20) shipped. Polygon, Ethereum and USDC are tracked in the open.

Self-host anytime

The exact same software runs on your own VPS, free forever. No lock-in, one export away.

$ docker compose up -d
Tron (USDT) shipped · Polygon, Ethereum, USDC → tracked in the open
06

Prefer full sovereignty?

Run the exact same software on your own VPS: your URL, your data, free forever. One Docker command, an agent prompt, or from source. Leaving hosted later is one export away, and your keys already work everywhere.

Self-host it →
08

Start accepting USDT

Hand it to your agent: /agents → · or pay in the live demo →