Rails and Channels
Overview
Rails define the underlying transfer networks and methods available for moving money, while channels represent specific implementations of those rails with pricing, limits, and operational parameters.
Key Concepts
Rails
A rail represents a payment network or transfer mechanism with standardized characteristics:
- Bank networks: SEPA, SWIFT, ACH, Faster Payments
- Blockchain networks: Ethereum, Tron, Polygon, Base
- Local payment systems: PIX (Brazil), SPEI (Mexico), regional networks
- Processing speed: From instant to several business days
- Schema requirements: Technical format specifications for account details
Channels
A channel is a specific implementation of a rail with operational parameters:
- Currency support: Which currency the channel processes
- Fee structure: Basis points (bps) + fixed fees
- Transaction limits: Minimum and maximum amounts
- Transfer direction: Deposits, withdrawals, or both
- KYC requirements: Identity verification levels needed
Channel Types
withdrawal
: Send money out to external accountsdeposit
: Receive money with a fixed quote (time-limited)static_deposit
: Receive money via virtual account (no quote needed)
Get Available Channels
Retrieve all enabled payment channels with their specifications and pricing.
GET /v1/channels
Response
Returns an array of available payment channels with their supported rails, currencies, fees, and capabilities.
{
"channels": [
{
"rail": "sepa",
"currency_code": "EUR",
"fee_bps": 36,
"fee_fixed": "0.90",
"type": "withdrawal",
"kyc_levels": [],
"rail_settings": {
"speed": "Instant",
"memo_config": {
"max_characters": 35,
"min_characters": 6
},
"schemas": ["bank_sepa"]
}
},
{
"rail": "ach",
"currency_code": "USD",
"fee_bps": 30,
"fee_fixed": "0.50",
"type": "withdrawal",
"kyc_levels": [],
"rail_settings": {
"speed": "1-2 days",
"memo_config": {
"max_characters": 10,
"min_characters": 0
},
"schemas": ["bank_us"]
}
},
{
"rail": "ethereum",
"currency_code": "USDC",
"fee_bps": 0,
"fee_fixed": "0.00",
"type": "withdrawal",
"kyc_levels": [],
"rail_settings": {
"speed": "Instant",
"memo_config": null,
"schemas": ["evm"]
}
}
]
}
Response Fields
Field | Type | Description |
---|---|---|
rail | string | Payment rail identifier (e.g., "sepa", "ach", "tron") |
currency_code | string | ISO 4217 currency code or crypto symbol |
fee_bps | integer | Fee in basis points (1 bps = 0.01%) |
fee_fixed | string | Fixed fee amount in the channel's currency |
type | string | Channel type: withdrawal , deposit , or static_deposit |
kyc_levels | array | Required KYC verification levels |
rail_settings | object | Rail-specific configuration and capabilities |
Rail Settings
Field | Type | Description |
---|---|---|
speed | string | Expected processing time |
memo_config | object|null | Payment reference requirements |
schemas | array | Supported account detail formats |
Memo Configuration
Field | Type | Description |
---|---|---|
max_characters | integer | Maximum memo length |
min_characters | integer | Minimum memo length |
required | boolean | Whether memo is mandatory |
Available Payment Rails
The API supports multiple payment networks including:
- Bank transfers: SEPA (Europe), ACH/Wire (US), Faster Payments (UK), SWIFT (Global)
- Local networks: PIX (Brazil), SPEI (Mexico), MENA (Middle East), various Asian/African systems
- Cryptocurrency: Ethereum-compatible networks (USDC), Tron (USDT)
Each rail has different processing speeds, geographic coverage, and currency support. Use the /channels
endpoint to see the complete list of available rails and their current specifications.
Account Detail Schemas
Different payment rails require specific account detail formats when creating quotes and transfers. The schemas
field in each channel's rail_settings
indicates which formats are accepted for that rail.
For detailed information on schema formats, please see Schema.
Updated 4 days ago