GET
/
rails
/
{rail}
Get rail details
curl --request GET \
  --url https://sandbox.api.openfx.com/v1/rails/{rail} \
  --header 'Authorization: Bearer <token>' \
  --header 'X-Signature: <api-key>' \
  --header 'X-Timestamp: <api-key>'
{
  "id": "ach",
  "name": "ACH",
  "description": "US Automated Clearing House for domestic USD payments.",
  "status": "active",
  "supportedCurrencies": [
    "USD"
  ],
  "supportedCountries": [
    "US"
  ],
  "typicalSettlementTime": "1-2 business days",
  "cutoffTime": "21:00 UTC",
  "capabilities": [
    "inbound",
    "outbound",
    "return",
    "same_day"
  ],
  "requiredFields": [
    "routingNumber",
    "accountNumber",
    "bankAccountType"
  ]
}

Authorizations

Authorization
string
header
required

API key issued at onboarding. Passed as a Bearer token in the Authorization header: Authorization: Bearer <api-key>. Identifies the caller and determines organization scope. Invalid or revoked keys return 401 with error type authentication_error.

X-Signature
string
header
required

Ed25519 or RSA-SHA256 asymmetric signature over the request payload (ADR-0015). Provides request integrity and non-repudiation. The signature covers the HTTP method, path, query string, request body, and timestamp. Invalid signatures return 401 with error type authentication_error.

X-Timestamp
string
header
required

Unix timestamp (seconds) of when the request was signed. Server rejects requests where the timestamp drifts beyond +/-60 seconds from server time to prevent replay attacks. Must match the timestamp used in the signature computation.

Path Parameters

rail
enum<string>
required

Payment rail used for delivery.

Available options:
ach,
fedwire,
swift,
crypto,
open

Response

Rail details.

Details about a payment rail including capabilities and requirements.

id
enum<string>
required

Payment rail used for delivery.

Available options:
ach,
fedwire,
swift,
crypto,
open
name
string
required

Human-readable name of the payment rail.

Example:

"ACH"

status
enum<string>
required

Current operational status. 'active' means fully operational, 'limited' means reduced capacity or restricted corridors, 'maintenance' means temporarily unavailable.

Available options:
active,
limited,
maintenance
supportedCurrencies
string[]
required

Currencies supported on this rail.

ISO 4217 currency code for fiat (USD, EUR, GBP) or crypto asset ticker (USDC, BTC, ETH). Uppercase, 2-10 characters. Use this type in contexts where both fiat currencies and crypto assets are accepted.

Pattern: ^[A-Z]{2,10}$
Example:
["USD"]
supportedCountries
string[]
required

Countries where this rail is available.

ISO 3166-1 alpha-2 country code.

Pattern: ^[A-Z]{2}$
Example:
["US"]
capabilities
enum<string>[]
required

Rail capabilities. 'inbound' supports receiving payments, 'outbound' supports sending, 'instant' provides real-time settlement, 'cop' supports UK Confirmation of Payee, 'vop' supports EU Verification of Payee, 'return' supports payment returns, 'same_day' supports same-day processing.

Available options:
inbound,
outbound,
instant,
cop,
vop,
return,
same_day
description
string

Detailed description of the rail and its typical use cases.

typicalSettlementTime
string

Human-readable typical settlement time (e.g., '1-2 business days', 'instant', 'same day').

Example:

"1-2 business days"

cutoffTime
string

Daily cutoff time in UTC after which payments are processed on the next business day (e.g., '21:00 UTC'). Null for instant rails.

Example:

"21:00 UTC"

requiredFields
string[]

Field names required when creating a payment on this rail (e.g., 'routingNumber', 'accountNumber', 'iban', 'sortCode').

Example:
[
"routingNumber",
"accountNumber",
"bankAccountType"
]