For solo founders · Vibe coders · Indie hackers · Pet projects
AI-agent-ready crypto billing.For indie hackers and AI-first startups.
For the new wave of solo founders, vibe coders, indie hackers, and pet projects — the people for whom Stripe and classic billing aren't an option. Funds settle straight to your wallet on-chain. No chargebacks, no payout holds, no account freezes — non-custodial by construction. No registered company. No documents. No KYC from us. Hand the integration to Claude Code, Cursor, or Codex; most projects ship in under an hour.
Test in 30 seconds with sandbox — no wallet, no faucet, no hardware device
Why TxNod
Funds settle to your wallet
Money lands directly in your wallet on-chain. We never hold it, never see a private key, never see your seed. Connect a Ledger or Trezor over WebHID/WebUSB — Ledger covers all 7 chains; Trezor covers BTC, ETH, Polygon, BSC, and Cardano (Model T or newer).
Every address, independently verified
The SDK re-derives every payment address from your own xpubs locally — before your customer sees it. If the derivation doesn’t match, the SDK refuses to proceed. Funds can only flow to addresses you control.
No chargebacks, no holds, no freezes
Crypto is final. We can’t reverse a payment, freeze your funds, or hold a payout — structurally impossible because the money never passes through us.
No company, no documents, no KYC
Solo founders, indie hackers, vibe coders, private individuals — anyone with a website. Invite-only after a one-paragraph form. No registered company, no document checks from us.
Seven chains, one API
BTC, ETH + ERC-20, Polygon + POL, BNB + BEP-20, TRON + TRC-20, Cardano, TON + jetton USDT. Stables on every chain that has them — fifteen assets, one integration.
Ship in under an hour
Typed TypeScript SDK, an MCP server, and llms.txt-style docs built for AI coding agents. Drop the prompt into Claude Code, Cursor, or Codex and the integration writes itself.
How it works · Three steps · Under an hour
From invite to first crypto payment, in three steps.
The path designed for solo founders, indie hackers, and AI-coding-agent workflows. No Stripe-style document checks, no waiting on approval, no payout delays.
Request access
Tell us what you’re building in one paragraph at /apply. Approval typically within hours. No registered company, no documents, no KYC from us — solo founders, indie hackers, and pet projects all welcome.
Apply →Hand the prompt to your AI agent
Copy the agent prompt below into Claude Code, Cursor, Codex, or any coding agent. It reads our llms.txt-style docs, picks the right integration surface (typed SDK or REST), and wires HMAC verification + idempotency on the first try.
See the agent prompt ↓Receive payments in your own wallet
Connect a Ledger or Trezor hardware wallet over WebHID/WebUSB, register a webhook URL, and you’re live. Funds land directly in your wallet on-chain — no holdback, no chargebacks, no payout delays, no account freezes. Ever.
Read the quickstart
How TxNod compares · Three categories · Honest
Pick the right billing for your project.
Point-by-point against custodial crypto billing and Stripe-class fiat platforms. Where TxNod wins, where it doesn't — honest. We name no specific providers; columns describe categories of provider.
| Aspect | TxNod | Custodial crypto billing | Fiat & card billing platforms |
|---|---|---|---|
| Where your private keys live | Your Ledger or Trezor hardware wallet | N/A — the provider holds funds | N/A — fiat, no keys |
| Chargebacks | None — crypto is final | Depends on provider | Yes — frequent for new merchants |
| Account freezes | None — money never touches us | Possible | Common for high-risk verticals |
| Payout delays | Instant on-chain settlement | Days to weeks typical | T+2 to T+14 typical |
| Take-rate on volume | 0% — flat operator subscription | 0.5%–2% typical | 1.5%–3.5% + fixed per tx |
| Registered company required | No | Often | Almost always |
| KYC / document checks | None from us | Often required | Always required |
| Fiat & card support | No — crypto only | No — crypto only | Yes — broad coverage |
| AI coding agent integration | First-class — typed SDK, MCP, llms.txt | Rare or absent | Mature SDKs, agent tooling generic |
Fee, payout, and KYC ranges describe typical practice in each category, not specific providers. TxNod itself doesn't take a percentage of payments — our pricing is a flat operator subscription paid separately.
Verifiable · Idempotent · Replayable
Verify on-chain payments and ship with confidence.
TxNod monitors the chain and sends you a signed webhook the moment a payment confirms. You decide when to credit your user.
Read the webhook reference →{
"event_id": "01JS8K3R9V2E5W4XQH8M1NDPC0",
"event_type": "invoice.paid",
"created_at": 1776869538,
"created_at_iso": "2026-04-22T14:52:18Z",
"project_id": "01HZZABCDEFGHJKMNPQRSTVWXY",
"data": {
"invoice_id": "01HZY4QX8ZJ6V8T0YJ2E3K9M1N",
"project_id": "01HZZABCDEFGHJKMNPQRSTVWXY",
"chain": "eth",
"coin": "eth",
"tx_hash": "0x9b3e1c4a5f2d8a7e0b6c3f9a2e8d1b4c7e0a8d3b5f1c9a2e4d6b8c0f3a7e1d5b",
"to_address": "0x9858EfFD232B4033E47d90003D41EC34EcaEda94",
"amount_units": "24500000000000000",
"confirmations": 12,
"block_height": 21456789,
"payment_token": "a3f2b9c1",
"matched_payment_token": "a3f2b9c1",
"chain_specific": null
},
"attempt": 1
}Agent-ready · llms.txt · MCP
Hand the integration to your AI coding agent.
Our docs follow the llms.txt convention — every page is reachable as raw Markdown, and the full corpus is one fetch away. Drop the prompt into Claude Code, Cursor, or any agent and it has the map of every page it needs.
- docs.txnod.com/llms.txt— index of every doc page
- docs.txnod.com/llms-full.txt— full corpus bundled
- docs.txnod.com/guides/mcp-claude-code— MCP server, OAuth + PAT-scoped
You are integrating TxNod, a non-custodial crypto payment gateway, into this project. Your job is to study the docs, wire the integration surface that fits this project, and produce an integration PLAN — do not write integration code yet. ## 1. Read the docs first Start at https://docs.txnod.com/llms.txt — every linked page has a sibling .md raw form, and https://docs.txnod.com/llms-full.txt is the same corpus bundled in one file. Always check the npm registry for the current SDK version (`npm view @txnod/sdk version`); never rely on a memorized version number. ## 2. Pick the integration surface for THIS project - **TypeScript / JavaScript / Node.js project:** install the typed SDK with `npm install @txnod/sdk@latest`. The SDK ships its own version-matched docs locally — read these before the website once installed: - node_modules/@txnod/sdk/AGENTS.md — entry point with read-order and non-negotiable invariants - node_modules/@txnod/sdk/docs/ — full markdown reference, frozen at the installed version The SDK's dist/index.d.ts is the source-of-truth for types — when markdown and .d.ts disagree, trust the .d.ts. - **Any other language (Python / Go / Ruby / PHP / Rust / Java / .NET / etc.):** there is no language SDK. Use the REST API directly. Read https://docs.txnod.com/api for the OpenAPI surface, sign every outbound request with HMAC, and verify every inbound webhook yourself with a constant-time HMAC compare plus a ±300s timestamp tolerance — BEFORE parsing the body. ## 3. Sandbox-first integration path **Default to sandbox.** If the human owner has a sandbox project (any operator can create one in 30 seconds at https://txnod.com/projects/new-sandbox), they hand you four credentials: TXNOD_PROJECT_ID, TXNOD_API_SECRET (sk_sandbox_*), TXNOD_WEBHOOK_SECRET, plus a sandbox PAT. Sandbox projects auto-provision testnet xpubs — no wallet wizard, no hardware device, no faucet. You drive the entire integration loop with sandbox-simulate calls and the webhook handler observes real signed events with mode: 'sandbox'. **If they have a sandbox project, paste those credentials and proceed; otherwise read § 4 below for the mainnet flow.** ## 4. Human-only prerequisites (mainnet only) The following must be done by the human owner of this project — an agent cannot perform them: - Sign in at https://txnod.com (invite-only — request access at https://txnod.com/apply if needed). - Add a hardware-wallet xpub via the Wallets wizard. **Connect Ledger over WebHID or Trezor over WebUSB is the recommended onboarding path. Ledger covers every chain TxNod supports (BTC, ETH + ERC-20 stables, Polygon PoS, BNB Smart Chain, TRON + TRC-20 USDT, Cardano, TON). Trezor covers BTC, ETH, Polygon, BSC, and Cardano (Model T or newer required for Cardano — Trezor One is unsupported); for TRON, use Ledger; for TON, use Ledger or TON Connect.** The dashboard reads the account-level extended key from the device and rewraps it to the exact format TxNod's per-chain validator expects — no copy-paste, no manual conversion. Do not copy values out of Ledger Live or Trezor Suite "Advanced logs" panels; the wizard will reject them. - Create a project, enable the coins to accept, set a webhook URL. - Generate an API secret pair and copy the webhook signing secret (shown exactly once). You will need these values before writing code: TXNOD_PROJECT_ID, TXNOD_API_SECRET, TXNOD_WEBHOOK_SECRET, plus the webhook URL the human registered (your route must match). ## 5. Produce a plan, do not implement yet Output a written plan covering: - Files to create or modify, with one-line role descriptions - Env vars the project reads, and where (server-side only) - Webhook route shape: path, runtime, signature verification, idempotency strategy - Open questions and any missing values, listed by name Wait for explicit user approval and the missing values before writing code. If a required value is unknown, ask — do not invent placeholders, do not stub. ## 6. Constraints (non-negotiable) - Non-custodial: never store, log, or transmit a private key, mnemonic, or seed. Only public xpubs / stake addresses ever enter the system. - Verify every inbound webhook with verifyWebhookSignature from @txnod/sdk (TypeScript) or your own constant-time HMAC + ±300s timestamp check (any other language) BEFORE parsing the body. - Treat event_id as the idempotency key when crediting users — webhooks may be retried. - API secret is server-side only; never bundle it into client code. - Default to sandbox mode (no on-chain interaction); fall back to testnet only when the integrator explicitly asks; mainnet only after explicit human approval. ## 7. Stop when the plan is implemented After the plan is approved AND missing values are supplied, implement only what's in the approved plan, run the project's existing tests, and stop. Do not deploy, do not push, do not modify wallet/binding config in the dashboard — those changes belong to the human.