Skip to main content

Cardano API

Interact with the Cardano blockchain for USDC operations, balance checking, transaction history, and onramp/offramp services.

Onramp Bank to Offramp Wallet

POST/api/cardano/onramp-bank-offramp-wallet

Bank to Wallet Transfer

Convert fiat from bank/card to USDC, then automatically transfer to user wallet.

Parameters

user_idstringrequired

User ID for the operation

wallet_to_idstringrequired

Destination wallet ID

fiat_amountstringrequired

Fiat amount to convert

currency_fromstringrequired

Source fiat currency (USD, SGD, AUD, VND, INR, IDR)

currency_tostringrequired

Target fiat currency (USD, SGD, AUD, VND, INR, IDR)

cardNumberstringrequired

Card number for payment

Request Body

{
  "user_id": "123",
  "wallet_to_id": "456",
  "fiat_amount": "100.00",
  "currency_from": "USD",
  "currency_to": "IDR",
  "cardNumber": "4111111111111111"
}

Response

200Transfer initiated successfully
{
  "reference_id_in": "ref_in_1234567890",
  "reference_id_out": "ref_out_0987654321",
  "vban": "1234567890123456",
  "bankTxIn": {
    "transaction_id": "tx_bank_001",
    "amount": "100.00",
    "currency_from": "USD",
    "status": "SUCCESS_RECEIVED",
    "provider": "CARDS"
  },
  "mintTx": {
    "txHash": "abc123...def456",
    "amount": "99.25"
  },
  "burnTx": {
    "txHash": "ghi789...jkl012",
    "amount": "99.25"
  },
  "walletTx": {
    "transaction_id": "tx_wallet_002",
    "amount": "1485000.00",
    "currency_to": "IDR",
    "status": "SUCCESS_RECEIVED",
    "provider": "BRDZ"
  }
}
curl -X POST https://api.brdz.link/api/cardano/onramp-bank-offramp-wallet \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
  "user_id": "123",
  "wallet_to_id": "456",
  "fiat_amount": "100.00",
  "currency_from": "USD",
  "currency_to": "IDR",
  "cardNumber": "4111111111111111"
}'

Onramp Wallet to Offramp Bank

POST/api/cardano/onramp-wallet-offramp-bank

Wallet to Bank Transfer

Convert fiat from user wallet to USDC, then transfer to bank account.

Parameters

user_idstringrequired

User ID for the operation

wallet_from_idstringrequired

Source wallet ID

fiat_amountstringrequired

Fiat amount to convert

currency_fromstringrequired

Source fiat currency (USD, SGD, AUD, VND, INR, IDR)

currency_tostringrequired

Target fiat currency (USD, SGD, AUD, VND, INR, IDR)

Request Body

{
  "user_id": "123",
  "wallet_from_id": "789",
  "fiat_amount": "50.00",
  "currency_from": "SGD",
  "currency_to": "USD"
}

Response

200Transfer initiated successfully
{
  "reference_id": "ref_1234567890",
  "walletTx": {
    "transaction_id": "tx_wallet_003",
    "amount": "50.00",
    "currency_from": "SGD",
    "status": "SUCCESS_RECEIVED",
    "type": "WITHDRAW"
  },
  "mintTx": {
    "txHash": "mno345...pqr678",
    "amount": "37.15"
  },
  "burnTx": {
    "txHash": "stu901...vwx234",
    "amount": "37.15"
  },
  "bankTx": {
    "transaction_id": "tx_bank_004",
    "amount": "36.90",
    "currency_to": "USD",
    "status": "SUCCESS_RECEIVED",
    "provider": "BANK"
  }
}
curl -X POST https://api.brdz.link/api/cardano/onramp-wallet-offramp-bank \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
  "user_id": "123",
  "wallet_from_id": "789",
  "fiat_amount": "50.00",
  "currency_from": "SGD",
  "currency_to": "USD"
}'

Onramp Bank to Offramp Bank

POST/api/cardano/onramp-bank-offramp-bank

Bank to Bank Transfer

Convert fiat from bank/card to USDC, then transfer to destination bank account.

Parameters

user_idstringrequired

User ID for the operation

fiat_amountstringrequired

Fiat amount to convert

currency_fromstringrequired

Source fiat currency (USD, SGD, AUD, VND, INR, IDR)

currency_tostringrequired

Target fiat currency (USD, SGD, AUD, VND, INR, IDR)

cardNumberstringrequired

Card number for payment

Request Body

{
  "user_id": "123",
  "fiat_amount": "200.00",
  "currency_from": "AUD",
  "currency_to": "USD",
  "cardNumber": "4111111111111111"
}

Response

200Transfer initiated successfully
{
  "reference_id_in": "ref_in_2345678901",
  "reference_id_out": "ref_out_1098765432",
  "vban": "2345678901234567",
  "bankTxIn": {
    "transaction_id": "tx_bank_005",
    "amount": "200.00",
    "currency_from": "AUD",
    "status": "SUCCESS_RECEIVED",
    "provider": "CARDS"
  },
  "mintTx": {
    "txHash": "yza567...bcd890",
    "amount": "133.50"
  },
  "burnTx": {
    "txHash": "efg123...hij456",
    "amount": "133.50"
  },
  "bankTxOut": {
    "transaction_id": "tx_bank_006",
    "amount": "132.75",
    "currency_to": "USD",
    "status": "SUCCESS_RECEIVED",
    "provider": "BANK"
  }
}
curl -X POST https://api.brdz.link/api/cardano/onramp-bank-offramp-bank \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
  "user_id": "123",
  "fiat_amount": "200.00",
  "currency_from": "AUD",
  "currency_to": "USD",
  "cardNumber": "4111111111111111"
}'

Onramp Wallet to Offramp Wallet

POST/api/cardano/onramp-wallet-offramp-wallet

Wallet to Wallet Transfer

Convert fiat from source wallet to USDC, then transfer to destination wallet.

Parameters

user_idstringrequired

User ID for the operation

wallet_from_idstringrequired

Source wallet ID

wallet_to_idstringrequired

Destination wallet ID

fiat_amountstringrequired

Fiat amount to convert

currency_fromstringrequired

Source fiat currency (USD, SGD, AUD, VND, INR, IDR)

currency_tostringrequired

Target fiat currency (USD, SGD, AUD, VND, INR, IDR)

Request Body

{
  "user_id": "123",
  "wallet_from_id": "111",
  "wallet_to_id": "222",
  "fiat_amount": "75.00",
  "currency_from": "INR",
  "currency_to": "SGD"
}

Response

200Transfer initiated successfully
{
  "reference_id": "ref_3456789012",
  "walletTxOut": {
    "transaction_id": "tx_wallet_007",
    "amount": "75.00",
    "currency_from": "INR",
    "status": "SUCCESS_RECEIVED",
    "type": "WITHDRAW"
  },
  "mintTx": {
    "txHash": "klm789...nop012",
    "amount": "0.90"
  },
  "burnTx": {
    "txHash": "qrs345...tuv678",
    "amount": "0.90"
  },
  "walletTxIn": {
    "transaction_id": "tx_wallet_008",
    "amount": "1.22",
    "currency_to": "SGD",
    "status": "SUCCESS_RECEIVED",
    "type": "TOPUP"
  }
}
curl -X POST https://api.brdz.link/api/cardano/onramp-wallet-offramp-wallet \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
  "user_id": "123",
  "wallet_from_id": "111",
  "wallet_to_id": "222",
  "fiat_amount": "75.00",
  "currency_from": "INR",
  "currency_to": "SGD"
}'

Onramp Bank Mint to User

POST/api/cardano/onramp-bank-mint-user

Bank to User USDC Mint

Convert fiat from bank/card and mint USDC directly to user's external wallet address.

Parameters

user_idstringrequired

User ID for the operation

fiat_amountstringrequired

Fiat amount to convert

currency_fromstringrequired

Source fiat currency (USD, SGD, AUD, VND, INR, IDR)

user_wallet_addressstringrequired

User's external Cardano wallet address

cardNumberstringrequired

Card number for payment

Request Body

{
  "user_id": "123",
  "fiat_amount": "150.00",
  "currency_from": "USD",
  "user_wallet_address": "addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34",
  "cardNumber": "4111111111111111"
}

Response

200Mint initiated successfully
{
  "reference_id": "ref_4567890123",
  "vban": "3456789012345678",
  "bankTxIn": {
    "transaction_id": "tx_bank_009",
    "amount": "150.00",
    "currency_from": "USD",
    "status": "SUCCESS_RECEIVED",
    "provider": "CARDS"
  },
  "mintTx": {
    "txHash": "wxy901...zab234",
    "amount": "148.88",
    "to_address": "addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34"
  }
}
curl -X POST https://api.brdz.link/api/cardano/onramp-bank-mint-user \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
  "user_id": "123",
  "fiat_amount": "150.00",
  "currency_from": "USD",
  "user_wallet_address": "addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34",
  "cardNumber": "4111111111111111"
}'

Onramp Wallet Mint to User

POST/api/cardano/onramp-wallet-mint-user

Wallet to User USDC Mint

Convert fiat from user's internal wallet and mint USDC directly to user's external wallet address.

Parameters

user_idstringrequired

User ID for the operation

wallet_from_idstringrequired

Source wallet ID

fiat_amountstringrequired

Fiat amount to convert

currency_fromstringrequired

Source fiat currency (USD, SGD, AUD, VND, INR, IDR)

user_wallet_addressstringrequired

User's external Cardano wallet address

Request Body

{
  "user_id": "123",
  "wallet_from_id": "333",
  "fiat_amount": "80.00",
  "currency_from": "SGD",
  "user_wallet_address": "addr_test1vrchu73wmc504eqndewpapes3ja2379jqfk4k4xuzsrvgpgxer5kh"
}

Response

200Mint initiated successfully
{
  "reference_id": "ref_5678901234",
  "walletTx": {
    "transaction_id": "tx_wallet_010",
    "amount": "80.00",
    "currency_from": "SGD",
    "status": "SUCCESS_RECEIVED",
    "type": "WITHDRAW"
  },
  "mintTx": {
    "txHash": "cde567...fgh890",
    "amount": "59.44",
    "to_address": "addr_test1vrchu73wmc504eqndewpapes3ja2379jqfk4k4xuzsrvgpgxer5kh"
  }
}
curl -X POST https://api.brdz.link/api/cardano/onramp-wallet-mint-user \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
  "user_id": "123",
  "wallet_from_id": "333",
  "fiat_amount": "80.00",
  "currency_from": "SGD",
  "user_wallet_address": "addr_test1vrchu73wmc504eqndewpapes3ja2379jqfk4k4xuzsrvgpgxer5kh"
}'

Get Cardano History

GET/api/cardano/history/{user_id}

Get Transaction History

Get comprehensive transaction history combining Cardano blockchain transactions and wallet transactions for a user.

Parameters

user_idstringrequired

User ID to get history for (path parameter)

Response

200Transaction history retrieved
[
  {
    "source": "CARDANO",
    "id": 1,
    "user_id": "123",
    "tx_type": "MINT",
    "tx_flow": "ONRAMP",
    "tx_hash": "abc123...def456",
    "from_address": "addr_test1vrchu73wmc504eqndewpapes3ja2379jqfk4k4xuzsrvgpgxer5kh",
    "to_address": "addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34",
    "amount": "99.25",
    "fiat_amount": "100.00",
    "currency_from": "USD",
    "currency_to": null,
    "fx_rate": "0.9925",
    "details": {},
    "status": "SUCCESS_RECEIVED",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:35:00Z",
    "reference_id": null,
    "platform_fee": null,
    "partner_fee": null,
    "bank_name": null,
    "provider": "CARDANO"
  },
  {
    "source": "WALLET",
    "id": "tx_wallet_001",
    "user_id": "123",
    "tx_type": "TOPUP",
    "tx_flow": "IN",
    "tx_hash": null,
    "from_address": null,
    "to_address": "456",
    "amount": "1485000.00",
    "fiat_amount": "1485000.00",
    "currency_from": "IDR",
    "currency_to": "IDR",
    "fx_rate": "1.0",
    "details": {
      "onramp_mint_tx": "abc123...def456",
      "offramp_burn_tx": "ghi789...jkl012"
    },
    "status": "SUCCESS_RECEIVED",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:35:00Z",
    "reference_id": "ref_out_0987654321",
    "platform_fee": "0.75",
    "partner_fee": null,
    "bank_name": null,
    "provider": "BRDZ"
  }
]
curl -X GET https://api.brdz.link/api/cardano/history/123 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY"

Get Cardano Balance

GET/api/cardano/balance/{address}

Get Cardano Balance

Check ADA and USDC balance for a specific Cardano address. If no address provided, uses default treasury address.

Parameters

addressstring

Cardano address to check balance for (path parameter). Optional - defaults to treasury address.

Response

200Balance retrieved successfully
{
  "success": true,
  "data": {
    "address": "addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34",
    "balances": {
      "ada": {
        "amount": "25.847392",
        "lovelace": "25847392",
        "usd_value": "12.95"
      },
      "usdc": {
        "amount": "150.50",
        "policy_id": "06267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce",
        "asset_name": "USDC",
        "asset_id": "06267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce55534443",
        "usd_value": "150.50"
      },
      "total_usd_value": "163.45"
    },
    "network": "preprod",
    "last_updated": "2024-01-15T10:30:00Z"
  }
}
400Invalid address or missing default
{
  "error": "Address is required and no default set"
}
curl -X GET https://api.brdz.link/api/cardano/balance/addr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY"

Get Cardano Volume

GET/api/cardano/volume/{user_id}

Get Daily Volume

Get daily transaction volume aggregated from both Cardano blockchain and wallet transactions for the last 30 days.

Parameters

user_idstringrequired

User ID to get volume for (path parameter)

Response

200Daily volume retrieved
[
  {
    "date": "2024-01-15",
    "value": "1585.75"
  },
  {
    "date": "2024-01-14",
    "value": "892.30"
  },
  {
    "date": "2024-01-13",
    "value": "1250.00"
  }
]
curl -X GET https://api.brdz.link/api/cardano/volume/123 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "x-api-key: YOUR_API_KEY"

Cardano Network Information

Network Details

PropertyValue
NetworkCardano Preprod Testnet
Block Time~20 seconds
Confirmation Time1-2 minutes (3-6 blocks)
Finality~5 minutes (15 blocks)
Block Explorerhttps://preprod.cardanoscan.io/

Native Assets

AssetSymbolAsset IDPolicy IDDecimals
CardanoADANativeN/A6 (lovelace)
USD CoinUSDC06267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce5553444306267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce6

Service Addresses

ServiceAddressType
Treasuryaddr_test1vpg8dst7gxd326mcxj702n2x2zqaph0sgdwvu5chj0nz8lqs2qe34Testnet
Minteraddr_test1vrchu73wmc504eqndewpapes3ja2379jqfk4k4xuzsrvgpgxer5khTestnet

Supported Currencies

CountryCurrencyCodeOnrampOfframp
United StatesUS DollarUSD
SingaporeSingapore DollarSGD
AustraliaAustralian DollarAUD
VietnamVietnamese DongVND
IndiaIndian RupeeINR
IndonesiaIndonesian RupiahIDR

Transaction Fees

OperationPlatform FeeNetwork FeeTotal
Onramp0.5%~0.17 ADA0.5% + network
Offramp0.75%~0.17 ADA0.75% + network
Mint/BurnIncluded~0.17 ADAIncluded in operation
USDC Transfer0%~0.17 ADANetwork fee only

Processing Times

  • Card to Wallet: 30 minutes - 2 hours
  • Wallet to Bank: 1-3 business days
  • Bank to Bank: 2-4 hours total
  • Mint Operations: 5-10 minutes
  • USDC Transfer: 1-2 minutes

USDC on Cardano

USDC on Cardano uses Policy ID 06267a299a67c92076c69ea8970ff4706cd4fa148aee6a57c0a2d7ce. Always verify the policy ID when receiving USDC transfers.

Mock Mode

When MOCK_MODE=true, transactions are automatically marked as SUCCESS_RECEIVED for testing. In production, transactions go through proper PSP processing.

Multi-Step Operations

All Cardano operations involve multiple steps: fiat conversion, USDC mint/burn, and final settlement. Monitor transaction status for completion.