Every rail, one model
Connect PSPs and banks behind a single API. Normalize payments, balances, and payouts into one consistent data model.
Ingest millions of payments in real time.
Captures, refunds and payouts from 120+ connectors stream into one normalized feed — reconciled, deduplicated and ledgered as they land. Watch throughput, success rate and latency across every provider, live.
Browse connectorsDozens of connectors, ready to go
Cards, banks, FX and wallets.
Plug into the providers you already use. Each connector maps native events into the same payment, balance and payout primitives.
One capability surface, every connector
Accounts, balances, payments, payouts and webhooks.
Every connector — open-source (CE) or licensed (EE) — resolves to the same normalized payments-v3 surface. You know exactly what a PSP exposes before you build, and switching providers never changes your contract.
every connector implements the same surface, ce (open-source) or ee (licensed)
One model across providers
Stop writing per-provider glue.
Stripe, Adyen, Wise and dozens of banks collapse into a single normalized schema. Write your logic once; switch or add providers without rewrites.
One payment shape, every provider.
Stripe, Adyen, Wise or a bank — every payment comes back in the same normalized shape: id, provider, type, amount, asset, status. Query once, paginate with standard headers, and stop branching on provider-specific quirks.
API referenceone normalized payment model · across connectors
Pick a provider, set the cadence, drop in a key.
Payments, balances and payouts stream in continuously.
Every provider collapses into one consistent model.
Each resource stays in sync on its own cadence.
Payments & payouts in sync
Internal orders matched to provider refs.
Every internal order is linked to its provider reference and kept in sync as statuses change — so your ledger and your PSPs always agree.
| orders | sync | exchange |
|---|---|---|
| orders:1042EUR 59.00 | pi_3Qa…7x SYNCED | |
| orders:1043EUR 120.00 | ch_2Bd…9k SYNCED | |
| orders:1044EUR 18.50 | tr_8Wz…1m SYNCING | |
| orders:1045EUR 240.00 | po_5Ny…4p SYNCED | |
| orders:1046USD 310.00 | pi_1Kc…3v SYNCED | |
| orders:1047GBP 42.00 | ch_9Lm…2w SYNCED | |
| orders:1048EUR 85.00 | tr_4Hp…6y SYNCED | |
| orders:1049EUR 12.75 | po_7Nx…1z SYNCED |
One normalized stream
Inbound and outbound, unified.
Captures, refunds, payouts and credits from every provider land as one typed event stream — already mapped onto your ledger accounts.
IN | stripe.payment EUR 59.00 → ledger |
IN | adyen.capture EUR 120.00 → ledger |
OUT | wise.payout EUR 240.00 ← ledger |
IN | modulr.credit EUR 1,000.00 → ledger |
OUT | banking-circle.sepa EUR 480.00 ← ledger |
IN | checkout.payment EUR 18.50 → ledger |
Questions, answered
01 / PROVIDER COVERAGE
Cards, banks, FX and wallets map to the same payment, balance and payout primitives. Adding a provider does not change your application logic.
02 / NORMALIZATION
Each connector translates native provider events into one typed schema. You read captures, refunds and payouts the same way regardless of the source.
03 / SYNC GUARANTEES
Every internal order is linked to its provider reference and updated as statuses change, so your ledger and your PSPs never silently disagree.
04 / ADDING A PROVIDER
New connectors plug into the existing model. Switching or adding a provider is a configuration change, not a rewrite.
05 / FAILURE HANDLING
Connector errors surface as typed events with the original provider payload attached, so you can replay or reconcile without guessing.
Connect every rail behind one model
Normalize PSPs and banks into one consistent payment, balance and payout model.