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.

  1. 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 →
  2. 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 ↓
  3. 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.

Comparison of TxNod vs custodial crypto billing vs Stripe-class fiat & card billing platforms across nine practical dimensions: custody, chargebacks, account freezes, payout delays, fees, company registration, KYC, fiat support, and AI coding agent integration.
AspectTxNodCustodial crypto billingFiat & 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 →
POST /your-webhook-url — invoice.paid
{
  "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.

Paste into your AI coding agent
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.