Getting Started
Digital Master Wallet
Digital Visa Wallet
Reseller Digital Master
Reseller Digital Visa Cards
Administrator
Wallet as a Service
Exchange As a Service
Resources
BSICARDS API Documentation
Welcome to the BSICARDS API. Integrate card issuance capabilities into your application.
Features: Create MasterCard/Visa/Digital cards - Fund cards - Track transactions - Webhooks - Admin endpoints
Tech Support: Contact on Telegram @bsicards
Authentication
Include these headers in every request:
publickey: pk_test_16tl64hqs6fazd9q5j96
secretkey: sk_test_izaov8rek6e04gu8d0j9
Base URL: https://cards.bsigroup.tech/api/MasterCard Issuance
Create and manage MasterCard virtual cards with 3DS authentication and GPay/Apple Pay support.
Create Card
{"useremail":"test@bsigroup.tech","nameoncard":"John Doe","pin":"1234"}Get All Cards
{"useremail":"test@bsigroup.tech"}Get Pending
{"useremail":"test@bsigroup.tech"}Get Card
{"useremail":"test@bsigroup.tech","cardid":"card_id"}Transactions
{"useremail":"test@bsigroup.tech","cardid":"card_id"}Change Pin
{"useremail":"test@bsigroup.tech","cardid":"card_id","pin":"5678"}Freeze Card
{"useremail":"test@bsigroup.tech","cardid":"card_id"}Unfreeze Card
{"useremail":"test@bsigroup.tech","cardid":"card_id"}Fund Card
{"useremail":"test@bsigroup.tech","cardid":"card_id","amount":"50.00"}Min: $10
Visa Card Issuance
Create Card
multipart/form-data: useremail, nameoncard, pin, nationalid[file], photo[file]
Get All
{"useremail":"test@bsigroup.tech"}Get Pending
{"useremail":"test@bsigroup.tech"}Get Card
{"useremail":"test@bsigroup.tech","cardid":"card_id"}Fund Card
{"useremail":"test@bsigroup.tech","cardid":"card_id","amount":"50.00"}Digital Wallet Cards
Virtual and physical cards with 3DS, GPay/Apple Pay support.
Create Virtual
{"useremail":"test@bsigroup.tech","firstname":"John","lastname":"Doe","dob":"1979-12-17","address1":"128 city road","postalcode":"ec1v2nx","city":"london","country":"GB","state":"london","countrycode":"44","phone":"911266016115"}Create Physical
Same fields as virtual card
Activate Physical
{"useremail":"test@bsigroup.tech","activationcode":"0059","cardid":"crd-xxx"}Check 3DS
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Check Wallet OTP
Get OTP for GPay/ApplePay verification
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Approve 3DS
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx","eventId":"3ds-xxx"}Get All
{"useremail":"test@bsigroup.tech"}Get Card
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Transactions
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Block Card
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Unblock Card
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Terminate Card
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Loyalty Points
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Redeem Points
{"useremail":"test@bsigroup.tech","cardid":"crd-xxx"}Digital Visa Wallet
Digital Visa wallet APIs for card lifecycle, funding, OTP retrieval, and webhook events.
publickey and secretkey headers, except webhook callback.Create Card
{"useremail":"test@bsigroup.tech","firstname":"John","lastname":"Doe"}Creates a virtual digital visa card. Issuance fee applies.
Fund Card
{"useremail":"test@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j","amount":50.00}Fee: $1 + 1.5%. Provider is funded with requested amount only.
Block Card
{"useremail":"test@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Unblock Card
{"useremail":"test@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Get Card
{"useremail":"test@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Get All Cards
{"useremail":"test@bsigroup.tech"}Get OTP
{"useremail":"test@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Returns the latest OTP received in the last few minutes for this card.
Webhook
{"data":{"otp":"166559","cardId":"cmmnxo9fv991fh701n1otdfyv"},"event":"CARD_OTP_CODE","timestamp":"2026-03-16T18:45:24.843Z"}Provider callback endpoint; stores card OTP events.
Reseller Digital Visa Cards
Dedicated merchant endpoints for issuing and managing Digital Visa cards under reseller credentials.
Create Card
{"useremail":"merchantuser@bsigroup.tech","firstname":"John","lastname":"Doe"}Deducts 1 from Card Balance and $5 + ($1 + 1.5%) from Visa Fund balance on successful card issuance.
Fund Card
{"useremail":"merchantuser@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j","amount":50.00}Minimum amount: 4.99. Fee charged from Visa Fund: $1 + 1.5%. Provider receives requested amount only.
Get All Cards
{"useremail":"merchantuser@bsigroup.tech"}Get Card
{"useremail":"merchantuser@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Returns local card details and provider card/pan/transactions response.
Block Card
{"useremail":"merchantuser@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Unblock Card
{"useremail":"merchantuser@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Get OTP
{"useremail":"merchantuser@bsigroup.tech","cardid":"cmmut1w0q002zc8011vjx4s2j"}Returns latest OTP received for the card within the recent 2-minute window.
Reseller Digital Master Cards
Endpoints for reseller partners to manage digital wallet cards. All endpoints are available on the reseller API endpoint.
Create Virtual Card
{"useremail":"test11@bsigroup.com","firstname":"John","lastname":"Doe","dob":"1979-12-17","address1":"128 city road","postalcode":"ec1v2nx","city":"london","country":"GB","state":"london","countrycode":"44","phone":"93266016111"}Check 3DS
{"useremail":"nash821@xenio.in","cardid":"crd-687f4d1c-a294-4fa6-a66c-f2ba1a4e724f"}Check Wallet OTP
Get OTP for GPay/ApplePay verification
{"useremail":"nash821@xenio.in","cardid":"crd-687f4d1c-a294-4fa6-a66c-f2ba1a4e724f"}When users add their card manually to GPay/ApplePay for verification, they need to select Email OTP. This endpoint retrieves the OTP which you can send via email or display on screen.
Approve 3DS
{"useremail":"nash821@xenio.in","cardid":"crd-687f4d1c-a294-4fa6-a66c-f2ba1a4e724f","eventId":"3ds-3f41728f-cfd1-4cca-8404-bc8f5e9d71d6"}Get All Digital Cards
{"useremail":"test11@bsigroup.com"}Get Digital Card
{"useremail":"test11@bsigroup.com","cardid":"crd-fdb421af-4fd9-4f51-9a2c-1c1fe916e929"}Create Addon Card
{"useremail":"test11@bsigroup.com","cardid":"crd-fdb421af-4fd9-4f51-9a2c-1c1fe916e929"}Block Digital Card
{"useremail":"test11@bsigroup.com","cardid":"crd-ec1b9481-a6b8-44bf-8c17-8eb75e7b83b1"}Unblock Digital Card
{"useremail":"test11@bsigroup.com","cardid":"crd-ec1b9481-a6b8-44bf-8c17-8eb75e7b83b1"}Terminate Card
{"useremail":"test11@bsigroup.com","cardid":"crd-ec1b9481-a6b8-44bf-8c17-8eb75e7b83b1"}Note: Reseller credentials are different from standard API keys. Ensure you use the correct URL for your reseller account and share the API keys with your merchants.
Administrator Endpoints
Wallet Balance
Returns wallet balance
Deposits
All deposits
Transactions
All transactions
Visa Cards
All Visa cards
Mastercards
All Mastercards
Digital Cards
All digital cards
Reseller Balance
Reseller Balance
Reseller Cards
Reseller cards
Reseller Transactions
Reseller Transactions
Wallet as a Service API
Multi-chain wallet endpoints for creating, managing, and transacting with cryptocurrency wallets. All endpoints require publickey and secretkey headers.
Supported Coins
- USDT-BEP20 (BSC)
- DAI (BSC)
- BNB (BSC)
- USDC-Polygon (Polygon)
- USDT-TRC20 (TRON)
- TRON (TRX)
- BTC
- SOL (Solana)
- XRP
Amount Units & Decimals for Send/Withdraw
Important: The amount parameter in send/withdraw endpoints must be specified in the smallest unit for each coin, not in USD. See the table below:
| Coin | Network | Unit | Decimals | Example (1 Coin) |
|---|---|---|---|---|
| BTC | Bitcoin | Satoshi | 8 | 100000000 |
| ETH | Ethereum | Wei | 18 | 1000000000000000000 |
| BNB | BSC | Wei | 18 | 1000000000000000000 |
| USDT-BEP20 | BSC | Token Unit | 6 | 1000000 |
| DAI | BSC | Token Unit | 18 | 1000000000000000000 |
| USDC-Polygon | Polygon | Token Unit | 6 | 1000000 |
| USDT-TRC20 | TRON | Token Unit | 6 | 1000000 |
| TRON (TRX) | TRON | Sun | 6 | 1000000 |
| SOL | Solana | Lamport | 9 | 1000000000 |
| XRP | Ripple | Drop | 6 | 1000000 |
For example, to send 1 USDT-TRC20, set amount to 1000000. To send 0.5 BTC, set amount to 50000000.
Always use the smallest unit for the coin. Do not use USD values.
privateKey, mnemonic, and xpub fields (if present in the response) are only displayed once at the time of address creation. They cannot be retrieved again for security reasons. Please store them securely.1. Create Address
{
"useremail": "user@example.com",
"coin": "USDT-BEP20"
}
Response:
{
"uuid": "36056904-224c-43f0-99bc-fe0252b81531",
"address": "0x.....",
"coin": "USDC-BEP20",
"useremail": "user@example.com",
"mnemonic": "target .......",
"private_key": "0x....."
}
BTC-Lightning Error Example:
{
"error": "Wallet creation failed: missing address, mnemonic, or private key"
}
2. Get All Deposit Addresses
Query: useremail
Response:
[
{
"uuid": "...",
"address": "...",
"coin": "USDT-BEP20",
"created_at": "..."
}
]
3. Get Specific Deposit Address
Query: useremail
Response:
{
"uuid": "...",
"address": "...",
"coin": "USDT-BEP20",
"created_at": "..."
}
4. Get Balance
Query: uuid or address, useremail
Response:
{
"balances": {
"USDT-BEP20": "...",
"BNB": "..."
}
}
5. Get Withdrawal Fees
{
"uuid": "...",
"to_address": "...",
"amount": "1.0",
"coin": "USDT-BEP20"
}
Response:
{
"total_gas_fees": "...",
"base_coin": "BNB",
"base_balance": "..."
}
6. Withdraw
{
"uuid": "...",
"to_address": "...",
"amount": "1.0",
"coin": "USDT-BEP20",
"useremail": "user@example.com"
}
Response:
{
"tx_hash": "...",
"status": "pending"
}
Exchange - Currencies
Returns a list of supported currencies for exchange.
Example Request
GET /api/swap/currencies HTTP/1.1
Host:cards.bsigroup.tech
Headers: publickey and secretkey
Exchange - Status
Checks the status of the exchange service.
Example Request
GET /api/swap/status?transaction_id=12345 HTTP/1.1
Host:cards.bsigroup.tech
Headers: publickey and secretkey
Response
{
"created_at": "2026-03-25 08:33:03",
"status": "wait",
"transaction_id": "c69c3819f5d5d9",
"coin_from": "BTC",
"coin_to": "USDT",
"deposit_amount": "0.5",
"withdrawal_amount": "34899.28510624",
"rate": "69800.570212495914022",
"fee": "0",
"deposit": "bc1q3ltpcsh9w3f7lwpt7vtpe6plr5p4r8400yl25v",
"deposit_extra_id": null,
"withdrawal": "THUnQJKECXP82EjijVVHpUwFMd3Y3vGBQJ",
"withdrawal_extra_id": null,
"return": null,
"return_extra_id": null,
"final_amount": "34899.28510624",
"hash_in": null,
"hash_out": null,
"rating": null,
"real_deposit_amount": "0.5",
"real_withdrawal_amount": "34899.28510624",
"startedAt": null,
"finishedAt": null,
"type": "cex",
"is_float": 0,
"coin_from_network": "BTC",
"coin_to_network": "TRC20",
"revert": 0,
"extra_fee_from": "0",
"extra_fee_to": "0",
"return_amount": null,
"return_hash": null,
"return_coin": null,
"return_network": null,
"confirmations": 0,
"expired_at": 1774422183,
"aml_error_signals": [],
"error_code": "",
"coin_from_contract_address": null,
"coin_to_contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"execution_time": null,
"is_available": false,
"coin_from_explorer_url": "https://blockchair.com/bitcoin/transaction/",
"coin_to_explorer_url": "https://tronscan.org/#/transaction/",
"coin_from_smart_contract_explorer_url": null,
"coin_to_smart_contract_explorer_url": "https://tronscan.org/#/token20/",
"coin_from_icon": "https://images.letsexchange.io/coins/9489b9506caf28a7d22423c0bf908937.svg",
"coin_from_extra_name": "",
"coin_to_icon": "https://images.letsexchange.io/coins/092c3f1c9ac951f1bee4db4e836b979a.svg",
"coin_to_extra_name": "",
"coin_from_name": "Bitcoin",
"coin_to_name": "TetherUS",
"coin_from_additional_get_info": "",
"coin_from_additional_send_info": "",
"coin_to_additional_get_info": "",
"coin_to_additional_send_info": "",
"need_confirmations": 2,
"email": "*******",
"kyc_url": null,
"kyc_email": null,
"internal_transafer_refund": false,
"return_network_code": null,
"return_explorer_url": null,
"profit": null,
"bonus": "0.00000000"
}
Exchange - Get Estimate
Get an estimated amount for a currency exchange.
Example Request
POST /api/swap/estimate HTTP/1.1
Host:cards.bsigroup.tech
Headers: publickey and secretkey
Content-Type: application/json
{
"from" :"BTC",
"to" : "USDT-TRC20",
"network_from" : "BTC",
"network_to" : "TRC20",
"amount" : 0.5
}
Response
{
"deposit_min_amount": "0.001",
"deposit_max_amount": "650",
"min_amount": "0.001",
"max_amount": "650",
"amount": "35121.03542425",
"fee": "0",
"rate": "70244.070848512802913",
"profit": "0",
"withdrawal_fee": "1.00000000",
"extra_fee_amount": "0",
"rate_id": "",
"rate_id_expired_at": 0,
"applied_promo_code_id": null,
"networks_from": [],
"networks_to": [],
"deposit_amount_usdt": "35476.28500000",
"expired_at": "1774425318542",
"base_amount": "35121.03542425"
}
Exchange - Create Exchange
Initiate a new currency exchange transaction.
Example Request
POST /api/swap/create HTTP/1.1
Host:cards.bsigroup.tech
Headers: publickey and secretkey
Content-Type: application/json
{
"coin_from": "BTC",
"coin_to": "USDT-TRC20",
"network_from": "BTC",
"network_to": "TRC20",
"deposit_amount": 0.5,
"withdrawal": "THUnQJKECXP82EjijVVHpUwFMd3Y3vGBQJ",
"withdrawal_extra_id": "NA"// for those needing memo field.
}
Response
{
"is_float": false,
"status": "wait",
"type": "cex",
"coin_from": "BTC",
"coin_to": "USDT",
"deposit_amount": "0.5",
"withdrawal": "THUnQJKECXP82EjijVVHpUwFMd3Y3vGBQJ",
"withdrawal_extra_id": null,
"return": null,
"return_extra_id": null,
"extra_fee_from": 0,
"extra_fee_to": 0,
"coin_from_network": "BTC",
"coin_to_network": "TRC20",
"deposit": "bc1qme7vudpf0uczpvy2n3gng44cdll54tyarr7j6e",
"deposit_extra_id": null,
"withdrawal_amount": "34766.26738966",
"rate": "69534.534779335905914",
"fee": "0",
"revert": false,
"transaction_id": "c69c39472dda17",
"expired_at": 1774427002,
"created_at": "2026-03-25 09:53:22",
"execution_time": null,
"is_available": true,
"coin_from_explorer_url": "https://blockchair.com/bitcoin/transaction/",
"coin_to_explorer_url": "https://tronscan.org/#/transaction/",
"coin_from_smart_contract_explorer_url": null,
"coin_to_smart_contract_explorer_url": "https://tronscan.org/#/token20/",
"coin_from_extra_name": "",
"coin_to_extra_name": "",
"coin_from_name": "Bitcoin",
"coin_to_name": "TetherUS",
"coin_from_additional_get_info": "",
"coin_from_additional_send_info": "",
"coin_to_additional_get_info": "",
"coin_to_additional_send_info": "",
"need_confirmations": 2,
"confirmations": 0,
"email": "*******",
"aml_error_signals": [],
"kyc_url": null,
"kyc_email": null,
"rating": null,
"error_code": "",
"bonus": "0.00000000"
}
SDKs
Demo User: test@bsigroup.tech | Demo Password: Abcd4321@
The Reseller frontend, allows your sub merchant to setup a site and mobile app for their users, and the admin allows them to see their available balance, cards issued and transactions.
Error Codes
200 OK
Success
400 Bad Request
Invalid parameters
401 Unauthorized
Invalid credentials
404 Not Found
Resource not found
422 Unprocessable Content
Response Has Error
Support
Email: cs@bsigroup.tech
Website: www.bsigroup.tech