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.
| Provider | Rail | What it does in PAID |
|---|---|---|
| Stripe | Cards | Card authorization, capture, refunds. The only live card acquirer today — card charges are pinned to it until a second card PSP is live. |
| Circle | USDC | Real on-chain USDC disbursement (OFAC wallet-screened, fail-closed without a key). Powers the card → USDC instant-settlement path. |
| Plaid | Bank link / ACH debit | Bank account linking and ACH debit — money in. Never a payout destination. |
Real, tested code that is not yet reachable in production — published as such rather than counted as "supported":
| Provider | Rail | What exists / what is missing |
|---|---|---|
| Dwolla | ACH payouts | Adapter, KYB matrix, and registry seed complete. Production credentials missing — until then PAID cannot pay a merchant out over ACH, and says so. |
| PayPal | Wallet | Complete adapter (authorize/capture/refund/cancel) with a live webhook handler. Needs its KYB row, registry seed, and credentials. |
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.
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.