LedgerLite
🇪🇺 Hosted in Europe · Multilingual · Global

Stablecoin invoices,
without holding anyone's keys.

LedgerLite is a non-custodial invoicing API for BTC, ETH, USDT & USDC. Every invoice gets its own deposit address derived from your watch-only xpub. We watch the chain, you keep custody — our servers never see a private key, and a client-claimed transaction hash can never fake a "paid" status.

Read the docs Pricing

Unique address per invoice

BIP-32 derivation from your extended public key (xpub). Reconcile funds into any wallet you control.

Server-side confirmation

Payment is marked confirmed only after N on-chain confirmations, with exact contract & amount checks. Underpayments flagged, never silently accepted.

Signed webhooks + queue

HMAC-SHA256 signed events with exponential-backoff retries and a persistent outbox. Build on a status machine: created → awaiting → detected → confirmed / expired.

Anti-fraud by design

Client-submitted tx hashes are hints, not proof. Wrong address, wrong token, failed tx — ignored. Late payments after expiry are reopened, not lost.

Your money never touches us — straight answers

Do you hold my funds?

No. Payments flow from your customer's wallet directly into your own wallet. We watch the blockchain with a read-only public key (xpub) — we never receive, store or move your coins, and nobody at LedgerLite can spend them.

What if your service disappeared tomorrow?

Your money would not notice — it never sat with us. Deposit addresses belong to keys only you hold. Worst case, invoice notifications stop; your balance is untouched and fully yours.

Can anyone freeze or reverse a payment?

There is no custody layer to freeze: settlement happens peer-to-peer on the blockchain, in tokens held by your wallet. And on-chain payments cannot be reversed once confirmed.

How do I know a "paid" status is real?

We never trust what a client claims: every payment is verified against the chain itself (contract, amount, confirmation count) before status changes, and every webhook is HMAC-signed so your server can prove it came from us.

Three calls to first invoice

POST /v1/invoices
{ "chain": "tron", "token": "USDT", "amountMinor": 10000000, "customerRef": "order-42" }

→ { "invoice": { "id": "inv_…", "depositAddress": "T…", "status": "created", "expiresAt": … } }

GET /v1/invoices/inv_…            → funding_awaiting | payment_detected | confirmed
POST /v1/invoices/inv_…/claim     { "txHash": "…" }  (hint only — verified on-chain server-side)

Pricing

Open beta: everything is free right now — including the 1‰. At GA: Pay-as-you-go 1‰ / confirmed invoice — a tenth of the industry standard · Starter €1.5/mo — 300 invoices, 0% fee, €12/yr · Growth €4.5/mo — 1,500 invoices, 0% fee, priority confirmation, €36/yr. Yearly = 2 months free; early merchants keep beta pricing 6 months after GA. Full breakdown →

T3-1789570501