Rails
Rails describe payment capabilities available to a customer.
Rails describe how funds can move for a customer. The supported rail catalog and the rails a customer can request are related, but they are not the same list.
GET /v1/meta/rails returns the broader rail catalog. Customer rail verification currently accepts qualified bank-transfer rails for ach, fedwire, sepa, swift, and pix, plus base aliases for those rails.
Rail request and status responses use cfr_* IDs. These identify customer rail status rows only. Do not pass a cfr_* ID where an account or payout destination is expected; use the returned acc_* customer account ID or racc_* recipient account ID instead.
Qualified Fiat Rails
Qualified rails use {base}_{variant}. Pooled rails use shared deposit details and support pay-ins. Named rails support dedicated virtual accounts.
| Variant | Meaning |
|---|---|
pooled | Shared deposit details, reference-based reconciliation, pay-ins. |
named | Dedicated virtual account details for a customer. |
Readiness Gates
Account creation, account import, recipient-account creation, and bank-rail quote flows require the matching customer rail to be ready_to_use. If the rail has not been requested or is still under review, the API returns 409 rail_not_ready before provider setup begins.
Use requestRailEndpoint and requiredRails to guide the customer through the missing rail request. Retry the account or quote call only after the rail returns ready_to_use.
The v2 customer rail overview can also return status: "action_required" with statusReason when a BlindPay quote-probe rail needs attention. Known customer-fixable failures use remediation messages for invalid phone number, unsupported country, invalid tax ID, or document upload failure. Other failed quote probes return We couldn't verify this rail automatically. Please reach out to support. Provider diagnostics and trace IDs stay internal.
Business Rail Applications
For business customers, use the business-specific v2 rail resources when building rail onboarding screens:
GET /v2/customers/business/{customerId}/rails returns every exposed rail for the business, including rails that have not been requested yet. Rails with status: "available" can be submitted through the rail-applications endpoint. Rails with status: "unavailable" cannot be requested for that customer.
Rail application resources are per-rail review records. Application statuses are ready_for_review, in_review, needs_information, active, and declined. The response includes reason, requirements, selected banks, submittedAt, and updatedAt.
API Reference
| Operation | Use it for |
|---|---|
GET /v1/meta/rails | Retrieve the supported rail catalog. |
POST /v1/customers/{customerId}/rails | Request fiat rail verification. |
GET /v1/customers/{customerId}/rails | List a customer's requested rails. |
GET /v1/customers/{customerId}/rails/{rail} | Check one customer rail. |
GET /v2/customers/business/{customerId}/rails | List business rail states. |
POST /v2/customers/business/{customerId}/rail-applications | Create or advance business rail applications. |