Skip to main content

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

MethodDescriptionAuth RequiredHTTP Endpoint
getBalanceGet ADA and USDC balanceGET /cardano/balance/:address
getHistoryGet user transaction historyGET /cardano/history/:user_id
getVolumeGet user daily volumeGET /cardano/volume/:user_id
getUsdcBalanceGet USDC balance onlyGET /cardano/usdc-balance/:address
getAddressByUserGet user's Cardano addressGET /cardano/address/:user_id
onrampSimple onramp (fiat to USDC)POST /cardano/onramp
offrampSimple offramp (USDC to fiat)POST /cardano/offramp
onrampBankOfframpWalletBank to wallet transferPOST /cardano/onramp-bank-offramp-wallet
getUsdcHistoryByUserGet user's USDC historyGET /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

ParameterTypeRequiredDescription
addressstringCardano 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

ParameterTypeRequiredDescription
userIdstringUser 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

ParameterTypeRequiredDescription
userIdstringUser 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

ParameterTypeRequiredDescription
addressstringCardano 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

ParameterTypeRequiredDescription
userIdstringUser 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

ParameterTypeRequiredDescription
userIdstringUser 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 transfer
  • onrampBankOfframpBank - Bank to bank transfer
  • onrampWalletOfframpWallet - Wallet to wallet transfer
  • onrampBankMintUser - Bank to user USDC mint
  • onrampWalletMintUser - 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)