Financial infrastructure in one API.
Lumina is one API for the full life of a transaction — accept payments, send payouts in 135 currencies, convert currencies, and hold multi-currency balances.
One transaction, end to end.
Follow a €120 charge from request to closed books. Every stage is one object, one webhook, zero spreadsheets.
Created
One POST request. The charge exists — idempotent, versioned, yours to query forever.

Authorized
Risk scoring and network authorization in a single round trip — 38 ms on this charge, against a 47 ms global median.

Routed
Lumina picks the cheapest rail that meets your settlement window — and shows you the cost before the money moves.

Settled
Funds land in your Lumina balance, net of one transparent fee. No T+2. No mystery holds.

Reconciled
The ledger entry writes itself and maps to the payout that carries it. Your books match the money, always.






Four products. One balance.
The whole operation, one screen.
Balances, flows, and exceptions in real time. Built for the person who closes the month, not just the one who ships the code.
| pay_8Kc2vQ | Checkout · card_visa | settled | €1,240.00 |
| po_7Ru4kD | Payout · sepa_instant | sent | −£12,400.00 |
| fx_2Nv8xR | FX · eur→usd | filled | €4,902.10 |
| pay_6Tb1pW | Checkout · ideal | settled | €310.25 |
| pay_2Wd5nM | Checkout · card_amex | authorized | €96.00 |
Ship in an afternoon.
Typed SDKs in five languages, webhooks with at-least-once delivery, and a CLI that replays production events locally.
import Lumina from '@lumina/node';
const lumina = new Lumina(process.env.LUMINA_KEY);
const charge = await lumina.charges.create({
amount: 12000,
currency: 'eur',
method: 'card',
});
// → settled in 1.2s“We replaced four payment vendors with one API. Our finance team noticed before our engineers did.”
Maya Lindqvist · CFO, Mosaic
−83% time spent on reconciliation
Latest from the blog.

Changelog: payout schedules, smarter retries
Everything we shipped this quarter, including EU data residency for all plans.

Inside the instant settlement rail
How a charge becomes spendable balance in 1.2 seconds — the pre-funding model, the risk math, and what we gave up to get there.

An FX engine that never sleeps
Streaming mid-market rates, one fixed margin, and the math of never being the worst price.

Webhooks you can actually trust
Exactly-once delivery is a lie. Here is the contract we offer instead, and why it holds.

The long tail of local payment methods
Pix, iDEAL, BLIK — why conversion lives and dies on the second checkout button.

Lumina is now a licensed EMI in the EEA
What our e-money license means for your funds, and what changes (nothing, for you).
Get started in minutes.
Create an account and send your first test charge in minutes. No contracts, no minimums.