Products

One platform. The full life of money.

Most stacks bolt a payment gateway to a payout vendor to an FX desk to a spreadsheet. Lumina is the four of them as one system — every product reads and writes the same balance, the same ledger, the same API.

payments

Accept everything, everywhere.

Cards, bank transfers, wallets, and the local methods that decide your conversion rate in each market. One integration, one settlement currency of your choice.

request
$ curl https://api.lumina.dev/v1/charges \
  -u sk_live_…: \
  -d amount=12000 \
  -d currency=eur \
  -d method=card
response · 20138ms
{
  "id": "ch_9fKb2Lq",
  "status": "authorized",
  "net": 11964
}
visamastercardamexapple_payidealpixsepa_ddachblikusdc
Fieldnote Coffeeorder #2841
€120.00
or pay with card
4242 4242 4242 4242
12 / 28
CVC
Encrypted · PCI-DSS L1 · lumina
payouts

Pay thousands like you’d pay one.

Mass payouts to sellers, creators, and suppliers in 135 currencies. One API call carries the whole batch; each leg settles on the fastest rail available to it.

batch po_batch_4Tn2 · 1,847 payoutsprocessing
Aurelia Studiosepa_instant€4,210.00sent
Kojima Parts K.K.zengin¥812,400sent
Beira LogisticspixR$ 12,940.55sent
Hartley & Cofps£2,380.00queued
Mirko Ferrosepa_instant€640.00queued
payouts.tsnode
await lumina.payouts.createBatch({
  source: 'acct_main_eur',
  items: sellers.map(s => ({
    destination: s.iban,
    amount: s.balanceDue,
    currency: s.currency,
  })),
});
// 1,847 legs · 14 rails · one call
fx

Mid-market, plus one number.

Every conversion is priced at the live mid-market rate plus a fixed margin you can read on a single line. No spreads that widen on Fridays.

mid 1.0842 · margin 25 bpst+0
10,814.90 USD
PairMidYour rateMargin
EUR / USD1.08421.081525 bps
EUR / GBP0.85310.851025 bps
USD / JPY156.24155.8525 bps
EUR / BRL5.98065.965725 bps
EUR / PLN4.28114.270425 bps

Indicative rates. Live quotes stream over the API and hold for 30 seconds.

accounts

A ledger that closes itself.

Hold balances in 31 currencies with local account details in 12. Every charge, payout, and conversion writes a double-entry record the moment it happens.

EUR · mainDE89 3704…
€1,284,902.44
USD · operating0284 7716…
$402,118.07
GBP · payrollGB29 NWBK…
£88,340.00
ledger · acct_main_eur11 Jun 2026
EntryDescriptionDebitCreditBalance
le_2vN8xRcharge ch_9fKb2Lq settled€119.64€1,284,902.44
le_2vN8xQpayout po_5cD1mT funded€4,210.00€1,284,782.80
le_2vN8xPfx fx_2Nv8xR eur→usd€10,000.00€1,288,992.80
le_2vN8xNcharge ch_9fKb1Xw settled€1,236.28€1,298,992.80

How it fits together.

Four products as four stages of one money flow. A marketplace sale, start to finish.

01 · payments

A buyer pays

€120 arrives by iDEAL from a customer in Rotterdam. Authorized, routed, settled into your EUR balance.

charge.settled+€120.00
{
  "id": "ch_3bQv8Nm",
  "method": "ideal",
  "amount": 12000,
  "currency": "eur",
  "balance": "acct_main_eur"
}
02 · accounts

The balance holds it

The ledger splits the sale: your commission stays, the seller’s share is reserved against payout.

ledger.split2 entries
{
  "commission": {
    "amount": 1800, "to": "acct_main_eur"
  },
  "seller_share": {
    "amount": 10200, "to": "reserved"
  }
}
03 · fx

It changes currency

Your seller invoices in dollars. The reserved share converts at mid-market plus 25 bps, quoted before it moves.

fx.quote → filleur→usd
{
  "sell": "€102.00",
  "mid": 1.0842,
  "margin_bps": 25,
  "buy": "$110.31",
  "held_for": "30s"
}
04 · payouts

The seller is paid

Funds land in their account in seconds over the fastest local rail. The ledger entry references every hop.

payout.sent1.4s
{
  "id": "po_8wXc3Rd",
  "rail": "fedwire_instant",
  "amount": "$110.31",
  "trace": ["ch_3bQv8Nm", "fx_7pL2kV"]
}
charge.settled+€120.00
{
  "id": "ch_3bQv8Nm",
  "method": "ideal",
  "amount": 12000,
  "currency": "eur",
  "balance": "acct_main_eur"
}
ledger.split2 entries
{
  "commission": {
    "amount": 1800, "to": "acct_main_eur"
  },
  "seller_share": {
    "amount": 10200, "to": "reserved"
  }
}
fx.quote → filleur→usd
{
  "sell": "€102.00",
  "mid": 1.0842,
  "margin_bps": 25,
  "buy": "$110.31",
  "held_for": "30s"
}
payout.sent1.4s
{
  "id": "po_8wXc3Rd",
  "rail": "fedwire_instant",
  "amount": "$110.31",
  "trace": ["ch_3bQv8Nm", "fx_7pL2kV"]
}

What ships on each plan.

CapabilityStarterGrowthEnterprise
Card & wallet acceptance
Local payment methods
Instant payouts
FX at mid + 25 bpsmid + 40
Multi-currency accounts31231
Dedicated IBANs
SSO / SAML & audit log
Named support engineer

Plays well with your stack.

ShopifyXeroQuickBooksNetSuiteSlackZapier

Four products. One integration.

Send your first test charge today and watch it move through the whole flow.

Independently auditedGDPR-readyEU data residency