Integrations

This is the honest provider table. "Live" here means all four requirements are satisfied — adapter, KYB matrix, registry seed, credentials — verified against the production provider registry, not a logo wall.

Live today

ProviderRailWhat it does in PAID
StripeCardsCard authorization, capture, refunds. The only live card acquirer today — card charges are pinned to it until a second card PSP is live.
CircleUSDCReal on-chain USDC disbursement (OFAC wallet-screened, fail-closed without a key). Powers the card → USDC instant-settlement path.
PlaidBank link / ACH debitBank account linking and ACH debit — money in. Never a payout destination.

Built but dark

Real, tested code that is not yet reachable in production — published as such rather than counted as "supported":

ProviderRailWhat exists / what is missing
DwollaACH payoutsAdapter, KYB matrix, and registry seed complete. Production credentials missing — until then PAID cannot pay a merchant out over ACH, and says so.
PayPalWalletComplete adapter (authorize/capture/refund/cancel) with a live webhook handler. Needs its KYB row, registry seed, and credentials.

What "live" means — the four requirements

A provider only counts as live when its adapter, its KYB requirements matrix, its registry seed, and real credentials all exist. The full model — and why the KYB matrix is what makes automatic provisioning honest — is on multi-PSP.

Connecting a provider

Merchants connect providers through the self-serve connect flow; PAID can also pull already-verified business data from a rail you already use and provision every rail whose KYB requirements that data satisfies. When a gap is open, onboarding refuses rather than fabricating an enrollment. Wiring details: developer docs.

Related