Endpoint Details
POST
/api/v0/payment-intents/bank
Idempotency: Supported (recommended for all payment operations)
Authentication
All requests require API key authentication using the following headers:x-client-key
: Your application’s client keyx-client-secret
: Your application’s client secret
Idempotency
The endpoint supports idempotency to prevent duplicate payments:idempotency-key
: Include a unique UUID v4 in the header- Subsequent requests with the same key return the original response
- Keys expire after 24 hours
Supported Payment Rails
Payment Rail | Description | Processing Time | Currencies |
---|---|---|---|
ACH Push | US bank transfers | 1-2 business days | USD |
Wire | International wire transfers | Same day | USD, EUR |
SEPA | European bank transfers | Same day / next day | EUR |
Supported Currencies
Fiat Currencies (Source)
Currency | Code | Payment Rails |
---|---|---|
US Dollar | usd | ACH Push, Wire |
Euro | eur | SEPA, Wire |
Stablecoins (Destination)
Currency | Code | Description |
---|---|---|
USDC | usdc | USD Coin |
EURC | eurc | Euro Coin |
Request Parameters
Required Parameters
The banking payment method to use for the transfer
Values:
Example:
Values:
"ach_push"
, "wire"
, "sepa"
Example:
"ach_push"
The stablecoin currency to convert TO
Values:
Example:
Values:
"usdc"
, "eurc"
Example:
"usdc"
The blockchain network where the stablecoin will be delivered
Values:
Example:
Values:
"ethereum"
, "polygon"
, "solana"
, "base"
, "arbitrum"
, "optimism"
, "avalanche_c_chain"
, "stellar"
, "tron"
Example:
"ethereum"
Optional Parameters
The fiat currency to convert FROM (defaults based on payment rail)
Values:
Example:
Values:
"usd"
, "eur"
Example:
"usd"
Destination wallet address (Ethereum 0x… or Solana format)
Example:
Example:
"0x742d35Cc6634C0532925a3b8D4C9db96c4b4d8e1"
Payment amount (omit for flexible amount)
Example:
Example:
"1000.00"
Customer’s first name (max 100 chars)
Example:
Example:
"John"
Customer’s last name (max 100 chars)
Example:
Example:
"Doe"
Customer’s email address (max 255 chars)
Example:
Example:
"john.doe@example.com"
Customer’s physical address (max 500 chars)
Example:
Example:
"123 Main St, New York, NY 10001"
Customer’s country (max 100 chars)
Example:
Example:
"United States"
Customer’s country ISO code (2 letters)
Example:
Example:
"US"
Customer’s province/state (max 100 chars)
Example:
Example:
"New York"
Customer’s province/state ISO code (max 10 chars)
Example:
Example:
"NY"
Customer’s phone number with country code (max 20 chars)
Example:
Example:
"+1-555-123-4567"
Payment-Specific Parameters
Wire transfer message (for WIRE transfers, max 256 chars)
Example:
Example:
"Payment for invoice #12345"
SEPA reference (for SEPA transfers, 6-140 chars)
Example:
Pattern:
Example:
"REF-123456789"
Pattern:
^[a-zA-Z0-9&\-.\/ ]+$
ACH reference (for ACH transfers, max 10 chars)
Example:
Pattern:
Example:
"ACH123456"
Pattern:
^[a-zA-Z0-9 ]+$
Request Examples
Response Format
Success Response (201 Created)
Response Fields
Unique transaction identifier in our database
External bridge service transfer ID
Current state: pending, processing, completed, failed, cancelled
Payment amount (null for flexible amounts until user specifies)
Source payment details including payment rail and currency
Destination payment details including network, currency, and address
Customer information (if provided)
Payment-specific reference information (ACH, SEPA, Wire)
Creation timestamp (ISO 8601)
Last update timestamp (ISO 8601)
Error Responses
Payment Rail Specifications
ACH Push
- Processing Time: 1-2 business days
- Cut-off Time: 1:00 PM ET daily
- Currency: USD only
- Reference: Max 10 alphanumeric characters + spaces
- Best For: Domestic US payments under $25,000
Wire Transfer
- Processing Time: Same day (if submitted before 4:45 PM ET)
- Currency: USD, EUR
- Reference: Custom message up to 256 characters
- Best For: Large amounts, international transfers, urgent payments
SEPA
- Processing Time: Same day or next business day
- Availability: 24/7/365 (SEPA Instant where supported)
- Currency: EUR only
- Reference: 6-140 characters with specific format requirements
- Best For: European domestic and cross-border EUR payments
Use Cases
1. Fiat Onboarding
Help traditional banking users enter the crypto ecosystem by converting their fiat holdings to stablecoins.2. DeFi Participation
Enable users to participate in DeFi protocols by converting bank deposits directly to stablecoins on their preferred networks.3. Cross-Border Payments
Facilitate international money transfers by converting local fiat to stablecoins and leveraging blockchain networks.4. Treasury Management
Allow businesses to efficiently move funds from traditional bank accounts to crypto treasuries.5. Recurring Conversions
Set up regular conversions from fiat salaries or business income to stablecoin holdings.Best Practices
Compliance and KYC
- Collect required customer information for amounts over $1,000
- Implement proper AML checks for large transactions
- Maintain transaction records for regulatory compliance
- Verify customer identity for high-value transfers
Reference Management
- Use descriptive references that help with reconciliation
- Follow format requirements for each payment rail
- Include invoice or order numbers in references
- Keep references consistent across related transactions
Error Handling
- Implement retry logic for transient network failures
- Handle payment rail-specific validation errors
- Provide clear error messages to users
- Monitor payment status and notify users of changes
Security
- Always use HTTPS for API communications
- Implement proper API key management
- Use idempotency keys to prevent duplicate payments
- Validate all input parameters before processing
Payment Processing Times
Payment Rail | Typical Processing | Cut-off Times | Availability |
---|---|---|---|
ACH Push | 1-2 business days | 1:00 PM ET | Business days only |
Wire (Domestic) | Same day | 4:45 PM ET | Business days only |
Wire (International) | 1-2 business days | 4:45 PM ET | Business days only |
SEPA Standard | Next business day | 9:00 AM CET | Business days only |
SEPA Instant | Under 30 seconds | N/A | 24/7/365 |
Integration Examples
Payment Status Monitoring
Multi-Rail Optimization
Support
For additional support or questions about the Create Bank Payment Intent API:- Check our API status page for known issues
- Review the error codes and messages in your responses
- Contact our support team with your
bridge_transfer_id
for specific transaction issues - Use our testing environment to validate integrations before going live
For more information, see: