Cardano Module
The cardano module provides comprehensive Cardano blockchain integration including USDC operations, balance checking, and transaction history.
Import
const cardano = await brdzSDK.cardano;
Methods Overview
| Method | Description | Auth Required | HTTP Endpoint |
|---|---|---|---|
getBalance | Get ADA and USDC balance | ❌ | GET /cardano/balance/:address |
getHistory | Get user transaction history | ✅ | GET /cardano/history/:user_id |
getVolume | Get user daily volume | ✅ | GET /cardano/volume/:user_id |
getUsdcBalance | Get USDC balance only | ❌ | GET /cardano/usdc-balance/:address |
getAddressByUser | Get user's Cardano address | ✅ | GET /cardano/address/:user_id |
onramp | Simple onramp (fiat to USDC) | ✅ | POST /cardano/onramp |
offramp | Simple offramp (USDC to fiat) | ✅ | POST /cardano/offramp |
onrampBankOfframpWallet | Bank to wallet transfer | ✅ | POST /cardano/onramp-bank-offramp-wallet |
getUsdcHistoryByUser | Get user's USDC history | ✅ | GET /cardano/history-usdc/:user_id |
getBalance
Get ADA native token and USDC token balance for a Cardano address.
Syntax
const result = await cardano.getBalance(address);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | ✅ | Cardano wallet address |
Returns
Promise<{
success: boolean;
data: {
address: string;
balances: {
ada: {
amount: string;
lovelace: string;
usd_value: string;
};
usdc: {
amount: string;
policy_id: string;
asset_name: string;
asset_id: string;
usd_value: string;
};
total_usd_value: string;
};
network: string;
last_updated: string;
};
}>
Example
const balance = await cardano.getBalance('addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34');
console.log('ADA Balance:', balance.data.balances.ada.amount);
console.log('USDC Balance:', balance.data.balances.usdc.amount);
console.log('Total USD Value:', balance.data.balances.total_usd_value);
getHistory
Get comprehensive transaction history for a user (combines Cardano blockchain and wallet transactions).
Syntax
const result = await cardano.getHistory(userId);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string | ✅ | User ID to get history for |
Returns
Promise<Array<{
source: 'CARDANO' | 'WALLET';
id: string | number;
user_id: string;
tx_type: string;
tx_flow: string;
tx_hash: string | null;
from_address: string | null;
to_address: string | null;
amount: string;
fiat_amount: string | null;
currency_from: string | null;
currency_to: string | null;
fx_rate: string | null;
details: object;
status: string;
created_at: string;
updated_at: string;
provider: string;
}>>
Example
const history = await cardano.getHistory('123');
console.log('Transaction count:', history.length);
history.forEach(tx => {
console.log(`${tx.source}: ${tx.tx_type} - ${tx.amount} - ${tx.status}`);
});
getVolume
Get daily transaction volume aggregated from both Cardano and wallet transactions.
Syntax
const result = await cardano.getVolume(userId);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string | ✅ | User ID to get volume for |
Returns
Promise<Array<{
date: string;
value: string;
}>>
Example
const volume = await cardano.getVolume('123');
console.log('Volume data for last 30 days:');
volume.forEach(day => {
console.log(`${day.date}: $${day.value}`);
});
getUsdcBalance
Get only USDC token balance for a Cardano address.
Syntax
const result = await cardano.getUsdcBalance(address);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | ✅ | Cardano wallet address |
Example
const usdcBalance = await cardano.getUsdcBalance('addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34');
console.log('USDC Balance:', usdcBalance.data.usdc.amount);
console.log('Policy ID:', usdcBalance.data.usdc.policy_id);
getAddressByUser
Get the Cardano address associated with a specific user ID.
Syntax
const result = await cardano.getAddressByUser(userId);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string | ✅ | User ID to get address for |
Example
const userAddress = await cardano.getAddressByUser('123');
console.log('User Cardano Address:', userAddress.data.cardano_address);
console.log('Stake Address:', userAddress.data.stake_address);
onramp
Convert fiat currency to USDC on Cardano network (simple onramp).
Syntax
const result = await cardano.onramp(data);
Parameters
interface OnrampData {
user_id: string;
amount: string;
currency: 'USD' | 'SGD' | 'AUD' | 'VND' | 'INR' | 'IDR';
bank_reference: string;
}
Example
const onramp = await cardano.onramp({
user_id: '123',
amount: '100.00',
currency: 'USD',
bank_reference: 'TXN_2024011501234567'
});
console.log('Onramp ID:', onramp.data.onramp_id);
console.log('USDC Amount:', onramp.data.usdc_amount);
console.log('Status:', onramp.data.status);
offramp
Convert USDC to fiat currency withdrawal (simple offramp).
Syntax
const result = await cardano.offramp(data);
Parameters
interface OfframpData {
user_id: string;
amount: string; // USDC amount
destination: string; // Bank account details
currency: 'USD' | 'SGD' | 'AUD' | 'VND' | 'INR' | 'IDR';
}
Example
const offramp = await cardano.offramp({
user_id: '123',
amount: '50.00',
destination: 'Bank Account: **** 1234',
currency: 'USD'
});
console.log('Offramp ID:', offramp.data.offramp_id);
console.log('Fiat Amount:', offramp.data.fiat_amount);
console.log('Status:', offramp.data.status);
onrampBankOfframpWallet
Combined operation: onramp from bank to USDC, then automatically withdraw to wallet.
Syntax
const result = await cardano.onrampBankOfframpWallet(data);
Parameters
interface OnrampBankOfframpWalletData {
user_id: string;
wallet_to_id: string;
fiat_amount: string;
currency_from: 'USD' | 'SGD' | 'AUD' | 'VND' | 'INR' | 'IDR';
currency_to: 'USD' | 'SGD' | 'AUD' | 'VND' | 'INR' | 'IDR';
cardNumber: string;
}
Returns
Promise<{
reference_id_in: string;
reference_id_out: string;
vban: string;
bankTxIn: object;
mintTx: {
txHash: string;
amount: string;
};
burnTx: {
txHash: string;
amount: string;
};
walletTx: object;
}>
Example
const transfer = await cardano.onrampBankOfframpWallet({
user_id: '123',
wallet_to_id: '456',
fiat_amount: '100.00',
currency_from: 'USD',
currency_to: 'IDR',
cardNumber: '4111111111111111'
});
console.log('Operation completed:');
console.log('Mint TX:', transfer.mintTx.txHash);
console.log('Burn TX:', transfer.burnTx.txHash);
console.log('Wallet credited:', transfer.walletTx.amount);
getUsdcHistoryByUser
Get USDC transaction history for a specific user on Cardano.
Syntax
const result = await cardano.getUsdcHistoryByUser(userId);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string | ✅ | User ID to get USDC history for |
Returns
Promise<{
success: boolean;
data: {
user_id: string;
cardano_address: string;
transactions: Array<{
tx_hash: string;
type: 'onramp' | 'offramp' | 'transfer';
operation_id: string | null;
amount: string;
fiat_amount?: string;
fiat_currency?: string;
status: string;
timestamp: string;
fees: string;
}>;
summary: {
total_onramp: string;
total_offramp: string;
total_transfers_sent: string;
total_transfers_received: string;
current_balance: string;
total_fees_paid: string;
};
};
}>
Example
const usdcHistory = await cardano.getUsdcHistoryByUser('123');
console.log('USDC Transactions:');
usdcHistory.data.transactions.forEach(tx => {
console.log(`${tx.type}: ${tx.amount} USDC - ${tx.status}`);
});
console.log('Summary:');
console.log('Current Balance:', usdcHistory.data.summary.current_balance);
console.log('Total Fees:', usdcHistory.data.summary.total_fees_paid);
Additional Operations
The Cardano controller also supports additional specialized operations that are not exposed in the main SDK:
Available Backend Methods
onrampWalletOfframpBank- Wallet to bank transferonrampBankOfframpBank- Bank to bank transferonrampWalletOfframpWallet- Wallet to wallet transferonrampBankMintUser- Bank to user USDC mintonrampWalletMintUser- Wallet to user USDC mint
These methods can be accessed directly via API calls if needed for advanced use cases.
Network Information
Supported Currencies
- USD - United States Dollar
- SGD - Singapore Dollar
- AUD - Australian Dollar
- VND - Vietnamese Dong
- INR - Indian Rupee
- IDR - Indonesian Rupiah
USDC Token Details
- Policy ID:
06267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce - Asset ID:
06267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce55534443 - Network: Cardano Preprod Testnet
- Decimals: 6
Transaction Fees
- Platform Fee: 0.5-0.75%
- Network Fee: ~0.17 ADA
- Processing Time: 1-2 minutes (blockchain), 30 minutes - 4 hours (total with banking)