What is Onramp?
Onramp lets your customers convert fiat currency (AUD, EUR, GBP, SGD ,USD and Other currencies) into cryptocurrency (USDT, USDC ). The flow works like this:- Customer sends fiat to a virtual account
- Coinut detects the deposit
- Coinut executes the trade
- Crypto arrives at the customer’s wallet or your designated wallet address
Architecture
Step-by-Step Implementation
1
Create Customer
Call Store the returned
POST /customer/create with name, email, type="DEPOSITOR", and isIndividual=true.customerId. The customer receives a KYC link via email to complete identity verification.2
Wait for KYC Approval
Listen for the
CUSTOMER_APPROVED webhook event. You can also poll GET /customer/detail to check status.Customer status transitions: CREATED → PENDING → APPROVED | REJECTED3
Create Virtual Account
Call
POST /virtual-account/create with customerId and currency (AUD, EUR, GBP).For AUD accounts, optionally include a whitelist to pre-register allowed senders.Store all returned VA banking details (PayID, BSB, account number, IBAN, etc.).4
Add Crypto Address
Call
POST /crypto-address/add with:customerIdcurrency="USDT"address— the customer’s wallet addresslabel— a display labelnetwork—ETHfor ERC-20 orTRXfor TRC-20
5
Create Autoramp Flow
Call This links the virtual account deposits to automatic crypto conversion.
POST /autoramp-flow/onramp with the fiat source and crypto destination:6
Display VA to Customer
Show the virtual account details in your UI:
- AUD: Display PayID (e.g.,
john.doe@example.com) and BSB + Account Number - EUR: Display IBAN and SWIFT/BIC
- GBP: Display IBAN and Sort Code
- USD: Display IBAN and Sort Code
- SGD: Display IBAN and Sort Code
- other currencies : Contact Coinut support for the exact banking fields
7
Monitor Deposits
Listen for webhooks:
DEPOSIT_RECEIVED— funds detectedDEPOSIT_APPROVED— funds cleared
GET /deposit/list with the customer ID.8
Track Trade
After deposit approval, listen for:
TRADE_CREATED— trade initiatedTRADE_SETTLED— trade complete, crypto sent
GET /trade/list.9
Confirm Settlement
The
TRADE_SETTLED webhook includes txHash. Use it to verify the crypto transaction on-chain:- ERC-20: https://etherscan.io/tx/
- TRC-20: https://tronscan.org/#/transaction/
10
Confirm Settlement
The
TRADE_SETTLED webhook includes txHash. Use it to verify the crypto transaction on-chain:- ERC-20: https://etherscan.io/tx/
- TRC-20: https://tronscan.org/#/transaction/
Complete Code Example
Environment
Use small amounts for testing (e.g., 10-50 AUD equivalent). Set up webhook testing with a local tunnel:
Go-Live Checklist
- KYC flow tested end-to-end
- All webhook events handled (
CUSTOMER_APPROVED,DEPOSIT_RECEIVED,DEPOSIT_APPROVED,TRADE_SETTLED) - Error handling implemented for API failures and timeouts
- Retry logic with exponential backoff for idempotent requests
- Monitoring dashboards set up for deposit and trade volumes
- IP whitelist configured in Partner Dashboard
- Webhook signature verification implemented
- Sandbox testing completed with multiple currencies

