Endpoint Details
- Method:
POST
- URL:
/api/v0/transfers/direct-wallet
- 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 |
network | string | Yes | Source blockchain network (solana, base, ethereum, polygon, arbitrum, etc.) |
stableCoinCurrency | string | Yes | Source stablecoin currency (usdc, eurc) |
amount | number | No | Transfer amount (optional for flexible amount transfers) |
Supported Networks
- Solana (
solana
) - Base (
base
) - Ethereum (
ethereum
) - Polygon (
polygon
) - Arbitrum (
arbitrum
) - Optimism (
optimism
) - Avalanche C-Chain (
avalanche_c_chain
)
Supported Stablecoin Currencies
- USDC (
usdc
) - Available on all networks - EURC (
eurc
) - Currently only available on Solana
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: Instructions for the sender |
receipt | object | Transfer receipt (available when completed) |
created_at | string | Transfer creation timestamp |
updated_at | string | Last update timestamp |
Understanding Source Deposit Instructions
Thesource_deposit_instructions
object is the most important part of the response. It contains the exact information that the external sender needs to complete the transfer.
For Blockchain Networks (Solana, Base, Ethereum, etc.)
Key Fields for Blockchain Instructions
Field | Description | Usage |
---|---|---|
to_address | Destination address | Sender must send funds TO this address |
currency | Token to send | Sender must send this specific stablecoin |
amount | Amount to send | Exact amount required (if fixed amount) |
deposit_message | Transfer reference | Include as memo/note if supported by network |
For Bank/Wire Transfers (ACH, WIRE, SEPA)
Key Fields for Bank 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 |
How Source Deposit Instructions Work
1. Dynamic Transfer Creation
When you create a direct wallet transfer, the system:- Generates a unique temporary receiving address/account
- Creates 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:
- Send the exact
currency
andamount
(specified) - Send TO the provided
to_address
(blockchain) or bank details - Include the
deposit_message
as memo/reference
3. Automatic Processing
Once funds are received:- System detects the incoming deposit
- Automatically converts and 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 deposit funds | Provide deposit instructions to sender |
funds_received | Funds detected, processing conversion | Wait for completion |
processing | Converting and transferring to destination | Monitor for completion |
completed | Transfer successful | Check receipt for final amounts |
failed | Transfer failed | Check failure reason, may need retry |
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
Flexible vs Fixed Amount
Flexible vs Fixed Amount
- With amount: Creates fixed amount transfer with specific deposit instructions
- Without amount: Creates flexible amount transfer allowing variable amounts
Network Compatibility
Network Compatibility
- EURC is currently only supported on Solana network
- USDC is supported on all networks
- Cross-network transfers are automatically handled
Security & Monitoring
Security & Monitoring
- All transfers are monitored in real-time
- Deposit instructions expire after a set period
- Failed transfers can be retried or refunded
Use Cases
Customer Deposits
Allow customers to deposit from their external wallets
Cross-Platform Integration
Accept funds from other platforms/exchanges
B2B Payments
Receive payments from business partners
Remittances
International money transfers via stablecoins
DeFi Integration
Receive funds from DeFi protocols
Next Steps
After creating a direct wallet 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
Error Handling
Implement retry logic for failed transfers
Related Endpoints
GET /api/v0/wallets
- List your Devdraft walletsGET /api/v0/transfers/{id}
- Check transfer statusPOST /api/v0/transfers/direct-bank
- Create bank-to-wallet transfer