Endpoint Details
- Method:
POST
- URL:
/api/v0/transfers/direct-bank
- Content-Type:
application/json
Authentication
This endpoint requires API key authentication using both:x-client-key
: Your application’s client keyx-client-secret
: Your application’s client secret
Request Body
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
walletId | string | Yes | The ID of your wallet to receive the transfer |
paymentRail | string | Yes | Bank payment method (wire, ach, sepa, spei) |
currency | string | Yes | Fiat currency (usd, eur, mxn) |
amount | number | No | Transfer amount (optional for flexible amount transfers) |
Supported Payment Rails
- Wire Transfer (
wire
) - International wire transfers - ACH (
ach
) - US Automated Clearing House transfers - SEPA (
sepa
) - European Single Euro Payments Area transfers - SPEI (
spei
) - Mexican electronic payment system
Supported Currencies
- USD (
usd
) - Available with wire and ACH - EUR (
eur
) - Available with wire and SEPA - MXN (
mxn
) - Available with wire and SPEI
Response
Success Response (201 Created)
Response Fields
Field | Type | Description |
---|---|---|
id | string | Unique transfer identifier |
state | string | Transfer state (awaiting_funds, processing, completed, failed) |
amount | string | Transfer amount (if fixed) |
developer_fee | string | Developer fee amount (0.8% of transfer amount) |
source | object | Source endpoint information |
destination | object | Destination endpoint information |
source_deposit_instructions | object | Critical: Bank instructions for the sender |
receipt | object | Transfer receipt (available when completed) |
created_at | string | Transfer creation timestamp |
updated_at | string | Last update timestamp |
Understanding Bank Deposit Instructions
Thesource_deposit_instructions
object contains the exact bank information that the external sender needs to complete the wire transfer.
Wire Transfer Instructions
Key Fields for Wire Instructions
Field | Description | Usage |
---|---|---|
bank_name | Receiving bank name | For wire transfer forms |
bank_routing_number | Bank routing/SWIFT code | Required for transfers |
bank_account_number | Account number | Destination account |
bank_beneficiary_name | Account holder name | Beneficiary information |
deposit_message | Critical reference | Must be included in transfer memo |
ACH Transfer Instructions
SEPA Transfer Instructions
How Bank Deposit Instructions Work
1. Dynamic Transfer Creation
When you create a direct bank transfer, the system:- Generates a unique temporary receiving bank account
- Creates bank deposit instructions for the sender
- Sets up monitoring for incoming funds
2. Sender Instructions
You provide thesource_deposit_instructions
to the external sender, who must:
- Initiate a bank transfer using the provided bank details
- Send the exact
currency
andamount
(if specified) - Include the
deposit_message
as the transfer reference/memo
3. Automatic Processing
Once funds are received:- System detects the incoming bank deposit
- Automatically converts fiat to stablecoin
- Transfers to your destination wallet
- Updates transfer state to
completed
- Provides final receipt with all fees and amounts
Transfer States
State | Description | Next Action |
---|---|---|
awaiting_funds | Waiting for sender to initiate bank transfer | Provide bank instructions to sender |
funds_received | Bank transfer detected, processing conversion | Wait for completion |
processing | Converting fiat to crypto and transferring | Monitor for completion |
completed | Transfer successful | Check receipt for final amounts |
failed | Transfer failed | Check failure reason, may need retry |
Processing Times
Wire Transfers
Wire Transfers
- Same Day: If received before 5 PM EST
- Next Business Day: If received after 5 PM EST
- Processing: 2-4 hours after funds received
ACH Transfers
ACH Transfers
- Standard ACH: 1-3 business days
- Same Day ACH: If initiated before 4 PM EST
- Processing: 1-2 hours after funds received
SEPA Transfers
SEPA Transfers
- SEPA Instant: Within minutes
- Standard SEPA: 1 business day
- Processing: 1-2 hours after funds received
SPEI Transfers
SPEI Transfers
- SPEI: Real-time (24/7)
- Processing: 1-2 hours after funds received
Example Requests
Error Responses
Important Notes
Developer Fees
Developer Fees
- 0.8% developer fee is automatically applied to all transfers
- Fee is calculated on the total transfer amount
- Fee is deducted from the final amount received
Banking Hours
Banking Hours
- Wire transfers: Processed during business hours (9 AM - 5 PM EST)
- ACH transfers: Processed on business days
- SEPA transfers: 24/7 processing available
- Weekend processing: Limited to SEPA Instant and some wire transfers
Transfer Limits
Transfer Limits
- Minimum: $10 USD equivalent
- Maximum: $100,000 USD equivalent per transfer
- Daily limits: Vary by payment rail and verification level
Compliance & Security
Compliance & Security
- All transfers comply with AML/KYC regulations
- Bank instructions expire after 7 days
- Failed transfers are automatically refunded
- Full audit trail maintained for compliance
Use Cases
Business Payments
Receive payments from clients via traditional banking
Fiat On-Ramp
Convert traditional bank funds to cryptocurrency
International Remittances
Accept international wire transfers for conversion
Enterprise Integration
Integrate with existing accounting and ERP systems
Supplier Payments
Receive payments from suppliers and vendors
Next Steps
After creating a direct bank transfer:1
Provide Instructions
Share
source_deposit_instructions
with the sender2
Monitor Status
Poll transfer status or use webhooks for updates
3
Handle Completion
Process successful transfers in your application
4
Compliance Management
Maintain records for regulatory compliance
Related Endpoints
GET /api/v0/wallets
- List your Devdraft walletsGET /api/v0/transfers/{id}
- Check transfer statusPOST /api/v0/transfers/direct-wallet
- Create wallet-to-wallet transfer