anantla_sdk
v1.1.23
Published
Official Anantla BRDZ SDK for developers
Downloads
98
Maintainers
Readme
📦 Installation
# Install SDK from NPM
npm install anantla_sdk@latestMake sure you install the latest version of our SDK.
Update SDK
Simple way:
# Clean cache
npm cache clean --force
# Install update
npm install anantla_sdk@latestClean Installation:
rm -rf node_modules package-lock.json
npm cache clean --force
npm config delete prefix
npm config delete cache
npm config set registry https://registry.npmjs.org/
npm install anantla_sdk@latestNow, you are ready to make history with Anantla SDK!
📂 SDK Structure
anantla-sdk/
├── src/
│ ├── modules/ # All module files
│ │ ├── auth.js # Authentication
│ │ ├── twofa.js # Two-Factor Authentication
│ │ ├── mcp.js # AI Commerce
│ │ ├── marketplace.js # AI Conversational Commerce (NEW v1.1.5)
│ │ ├── ekyc.js # Sumsub eKYC
│ │ ├── neon.js # Neon blockchain
│ │ ├── cardano.js # Cardano integration
│ │ ├── xrpl.js # XRPL integration
│ │ ├── visa.js # Visa card integration
│ │ ├── wallet.js # Wallet management
│ │ ├── bridge.js # Cross-chain bridge
│ │ ├── fx.js # Foreign exchange
│ │ ├── plaid.js # Banking integration
│ │ ├── cryptoWallet.js # ABSK - AI Blockchain Starter Kit
│ │ ├── privy.js # Privy authentication
│ │ ├── twitter.js # Twitter bot integration
│ │ ├── xendit.js # Xendit payment gateway (NEW v1.1.4)
│ │ ├── indodax.js # Indodax crypto exchange (NEW v1.1.4)
│ │ └── ... # More modules
│ └── index.js # Main entry with exports
├── package.json
├── README.md
├── test-sdk.js # SDK Test Suite
└── .npmignore🧪 SDK Testing
Before using the SDK in production, run the comprehensive test suite:
# List SDK
npm list anantla_sdk
# Make simple test
cat > test-sdk.js << 'EOF'
const sdk = require('anantla_sdk');
console.log('SDK modules:', Object.keys(sdk));
console.log('Auth module:', !!sdk.auth);
console.log('TwoFA module:', !!sdk.twofa);
console.log('Xendit module:', !!sdk.xendit);
console.log('Indodax module:', !!sdk.indodax);
console.log('CryptoWallet available:', !!sdk.cryptoWallet);
EOF
# Run SDK test suite
node test-sdk.jsTest Coverage
The test suite validates:
- ✅ All 28+ modules can be imported successfully
- ✅ Core infrastructure (config, utils, auth, twofa) functionality
- ✅ HTTP client methods (get, post, put, del)
- ✅ Sample module functions availability
- ✅ ES6 export compatibility
- ✅ Configuration system
Latest Test Results
SDK modules: [
'config', 'admin',
'auth', 'twofa',
'bridge', 'cardano',
'client', 'ekyc',
'fx', 'mcp',
'marketplace',
'ntcp', 'plaid',
'stableX', 'testnet',
'transactions', 'utils',
'visa', 'wallet',
'xrpl', 'apikey',
'crosschain', 'neon',
'cryptoWallet', 'onchain',
'twitter', 'privy',
'xendit', 'indodax',
'default'
]Clean up test files:
rm test-sdk.js⚙️ Configuration
Basic Setup
New to API Keys? See our API Key Setup Guide for detailed instructions.
import brdzSDK from 'anantla_sdk';
// or const brdzSDK = require('anantla_sdk');
const config = await brdzSDK.config;
config.setBaseUrl('https://dev.brdz.link/api');
config.setApiKey('<API_KEY_PROVIDED_BY_AOL>');
config.setToken('<JWT_TOKEN_FROM_LOGIN>'); // Optional, for authenticated endpointsEnvironment Variables
Create a .env file:
# Backend (.env)
BRDZ_API_BASE=https://dev.brdz.link/api
BRDZ_API_KEY=your_api_key_here
BRDZ_JWT_TOKEN=your_jwt_token_here
# Frontend (.env.local)
REACT_APP_API_BASE=https://dev.brdz.link/api
REACT_APP_API_KEY=your_public_api_key_here
NEXT_PUBLIC_BRDZ_API_KEY=your_public_api_key_hereThen configure SDK:
require('dotenv').config();
const config = await brdzSDK.config;
config.setBaseUrl(process.env.BRDZ_API_BASE);
config.setApiKey(process.env.BRDZ_API_KEY);
config.setToken(process.env.BRDZ_JWT_TOKEN);🔐 Authentication
JWT Token
All authenticated endpoints require a JWT token:
- Endpoint:
POST /api/auth/login - Header:
Authorization: Bearer <JWT_TOKEN>
Traditional Login Example
const auth = await brdzSDK.auth;
// Traditional login with username/password
const loginResult = await auth.loginUser('[email protected]', 'password123');
console.log('Login successful:', loginResult);
// Set token for subsequent requests
const config = await brdzSDK.config;
config.setToken(loginResult.token);
// Register new user
const registerResult = await auth.registerUser({
email: '[email protected]',
username: 'newuser',
password: 'securepassword123'
});Two-Factor Authentication (2FA)
const twofa = await brdzSDK.twofa;
// Step 1: Setup 2FA - Generate QR code
const setupResult = await twofa.setup();
console.log('QR Code URL:', setupResult.qr_code_url);
// Step 2: Enable 2FA after scanning QR code
const enableResult = await twofa.enable('123456'); // 6-digit code from app
console.log('2FA enabled:', enableResult);
// Step 3: Login with 2FA
const loginResult = await auth.loginUser('[email protected]', 'password123');
if (loginResult.requires_2fa) {
// Complete login with 2FA token
const completeResult = await auth.completeLoginWith2FA(
loginResult.user_id,
'123456' // 6-digit code from authenticator app
);
console.log('Login completed with 2FA:', completeResult.token);
}
// Other 2FA operations
const status = await twofa.getStatus();
const backupCodes = await twofa.getBackupCodes('password123');
const disableResult = await twofa.disable('123456', 'password123');💳 Xendit Module (Payment Gateway)
The Xendit module provides comprehensive payment gateway operations for Indonesia market.
Quick Example
const xendit = await brdzSDK.xendit;
// 1. Create Fixed Virtual Account for wallet top-up
const vaResult = await xendit.requestFixedVA({
wallet_id: 123,
bank_code: 'BNI',
amount: 100000,
is_single_use: false
});
console.log('VA Number:', vaResult.va_number);
// 2. Process wallet withdrawal to bank
const withdrawResult = await xendit.processWalletWithdraw({
wallet_id: 123,
amount: 50000,
currency: 'IDR',
bank_code: 'BCA',
account_number: '1234567890',
account_holder_name: 'John Doe',
description: 'Withdrawal to bank'
});
// 3. Get withdrawal status
const status = await xendit.getWithdrawStatus(withdrawResult.reference_id);
console.log('Withdrawal status:', status);
// 4. Check Xendit balance
const balance = await xendit.getBalance({ account_type: 'CASH' });
console.log('Available balance:', balance);Key Features
Withdrawal Operations (2 methods)
processWalletWithdraw- Process wallet withdrawal to bankgetWithdrawStatus- Get withdrawal status by reference ID
Fixed Virtual Account Operations (2 methods)
requestFixedVA- Request Fixed VA for wallet top-upgetFixedVAList- Get list of Fixed VAs for a wallet
Balance Operations (2 methods)
getBalance- Get Xendit account balance for specific account typegetAllBalances- Get all Xendit account balances (CASH, HOLDING, TAX)
Transaction Operations (3 methods)
listTransactions- List transactions with pagination and filteringgetTransaction- Get specific transaction detailsgetTransactionCount- Get transaction count with filters
Reconciliation Operations (3 methods)
reconcileWalletBalance- Reconcile wallet balance with XenditresolveReconciliation- Manually resolve reconciliation discrepancygetReconciliationDetails- Get reconciliation details
Webhook Operations (3 methods)
processWebhook- Process incoming Xendit webhook (server-to-server)processDLQ- Process dead letter queue manuallygetWebhookStats- Get webhook processing statistics
Reports Operations (4 methods)
generateBalanceReport- Generate balance report for date rangegenerateTransactionReport- Generate transaction report with filters
Administrative Operations (3 methods)
healthCheck- Health check for Xendit integrationvalidateConfiguration- Validate Xendit configurationgetDashboardData- Get dashboard data for monitoring
🦅 Indodax Module (Crypto Exchange)
The Indodax module enables cryptocurrency trading and IDR-to-USDC conversion for Indonesian users.
Quick Example
const indodax = await brdzSDK.indodax;
// 1. Save crypto wallet address
const walletResult = await indodax.saveCryptoWallet({
wallet_address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
network: 'polygon',
is_primary: true
});
// 2. Start IDR to USDC conversion
const conversionResult = await indodax.startConversion({
wallet_id: 123,
amount_idr: 1000000
});
console.log('Conversion job created:', conversionResult.job_id);
// 3. Check conversion status
const status = await indodax.getConversionStatus(conversionResult.job_id);
console.log('Status:', status.status); // PENDING, DISBURSING, TRADING, WITHDRAWING, COMPLETED
// 4. Get current USDC/IDR price
const price = await indodax.getCurrentPrice('usdc_idr');
console.log('USDC Price:', price.last, 'IDR');
// 5. Check Indodax balance
const balance = await indodax.getIndodaxBalance();
console.log('IDR Balance:', balance.idr);
console.log('USDC Balance:', balance.usdc);Integration Flow: IDR Conversion
┌─────────────────────────────────────────────────────────────────┐
│ IDR → USDC Conversion Flow │
└─────────────────────────────────────────────────────────────────┘
Step 1: DISBURSEMENT (Xendit)
└─> Transfer IDR from wallet to Indodax account via Xendit
Status: PENDING → DISBURSING
Step 2: BALANCE CONFIRMATION (Indodax Polling)
└─> Wait for IDR to appear in Indodax account
Status: WAITING_INDODAX
Polling: Every 1 hour (max 24 hours)
Step 3: TRADE EXECUTION (Indodax)
└─> Buy USDC with IDR at current market price
Status: TRADING
Polling: Every 10s (max 5 minutes)
Step 4: WITHDRAWAL (Indodax)
└─> Withdraw USDC to user's crypto wallet
Status: WITHDRAWING
Step 5: COMPLETED
└─> USDC received in user's wallet
Status: COMPLETEDKey Features
Crypto Wallet Operations (3 methods)
saveCryptoWallet- Save or update crypto wallet address for usergetCryptoWallet- Get user's crypto wallet infodeleteCryptoWallet- Delete crypto wallet address
Conversion Operations (4 methods)
startConversion- Start IDR to USDC conversion processgetConversionStatus- Get conversion job statusgetConversionHistory- Get user's conversion historyretryConversion- Retry failed conversion job
Price & Balance Operations (3 methods)
getCurrentPrice- Get current USDC/IDR price from IndodaxgetIndodaxBalance- Get Indodax account balance (IDR & USDC)getTradeHistory- Get Indodax trade history
🛍️ Marketplace Module (Conversational Commerce)
The Marketplace module enables AI-powered shopping with natural language processing, supporting Etsy and Tokopedia products with USDC payments.
Quick Example
const marketplace = await brdzSDK.marketplace;
// 1. Chat with AI shopping assistant
const chatResult = await marketplace.sendMessage({
message: "I'm looking for handmade ceramic mugs",
conversation_history: []
});
console.log('AI Reply:', chatResult.reply);
console.log('Intent:', chatResult.intent); // SEARCH, BUY, INFO, HELP
// 2. Search products across marketplaces
const searchResult = await marketplace.searchProducts({
query: "handmade ceramic mug",
sources: ['etsy', 'tokopedia'],
limit: 10
});
console.log('Found products:', searchResult.products);
// 3. Create order (requires authentication)
const orderResult = await marketplace.createOrder({
product: {
productId: 'etsy-12345',
title: 'Handmade Ceramic Mug',
pricing: {
price: 25.00,
currency: 'USD',
total: 28.50
},
vendor: {
name: 'Etsy - CeramicShop',
marketplace: 'etsy'
},
// ... other product details
},
recipient: {
name: "John Doe",
phone: "+628123456789",
address: "Jl. Sudirman No. 123, Jakarta",
notes: "Please call before delivery"
},
wallet_address: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
chain_id: "sepolia"
});
console.log('Order created:', orderResult.order.order_id);
console.log('Pay with USDC:', orderResult.payment_details.usdc_amount);
// 4. Check order status
const order = await marketplace.getOrder(orderResult.order.order_id);
console.log('Payment status:', order.order.payment_status);
// 5. Get user's order history
const orders = await marketplace.getUserOrders({
limit: 10,
offset: 0,
status: 'PAID'
});
console.log('Total orders:', orders.pagination.total);Integration Flow
┌─────────────────────────────────────────────────────────────────┐ │ Conversational Commerce Flow │ └─────────────────────────────────────────────────────────────────┘
Step 1: AI CHAT └─> User describes what they want in natural language AI detects intent: SEARCH, BUY, INFO, HELP
Step 2: PRODUCT SEARCH └─> AI generates optimized search queries Scrapes Etsy & Tokopedia using Puppeteer Normalizes products into unified schema
Step 3: ORDER CREATION └─> User selects product System calculates USDC amount (with FX conversion for IDR) Order saved to database with PENDING status
Step 4: BLOCKCHAIN PAYMENT └─> User pays with USDC via smart contract Relayer listens to PaymentCompleted event Order status updated to PAID
Step 5: FULFILLMENT (Manual for MVP) └─> Merchant notified Product shipped to recipient Order status updated to COMPLETED
Key Features
Chat Operations (No Auth Required)
sendMessage - Natural language chat with AI shopping assistant
- Intent detection (SEARCH, BUY, INFO, HELP)
- Conversation history support
- Powered by Groq AI (Llama 3.1 70B)
Search Operations (No Auth Required)
searchProducts - Multi-marketplace product search
- Sources: Etsy (USD), Tokopedia (IDR)
- AI-generated search query optimization
- Unified product schema normalization
- Price sorting and filtering
Order Operations (Auth Required)
createOrder - Create marketplace order with USDC payment
- Automatic FX conversion (IDR → USDC)
- Smart contract payment integration
- Recipient information collection
getOrder - Get order details by ID**
- Payment status tracking
- Blockchain transaction hash
getUserOrders - Get user's order history
- Pagination support
- Status filtering (PENDING, PAID, COMPLETED, FAILED, CANCELLED)
Supported Marketplaces
Etsy (International)
- Currency: USD
- Payment: Direct USDC (1:1)
- Shipping: International
Tokopedia (Indonesia)
- Currency: IDR
- Payment: Auto-converted to USDC via FX service
- Shipping: Domestic Indonesia
Payment Flow
// Example: Paying for order
const Web3 = require('web3');
const web3 = new Web3(window.ethereum);
// Get order payment details
const order = await marketplace.getOrder(orderId);
const { usdc_amount, contract_address, wallet_address } = order.payment_details;
// Smart contract ABI
const BRDZ_PAYMENT_ABI = [
{
"inputs": [
{"type": "address", "name": "brdzWallet"},
{"type": "uint256", "name": "amount"},
{"type": "string", "name": "orderId"}
],
"name": "completePayment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
];
// Execute payment
const contract = new web3.eth.Contract(BRDZ_PAYMENT_ABI, contract_address);
const amountInWei = web3.utils.toWei(usdc_amount.toString(), 'mwei'); // USDC has 6 decimals
await contract.methods
.completePayment(wallet_address, amountInWei, order.order_id)
.send({ from: userAddress });
// Blockchain relayer will automatically update order status to PAIDError Handling
try {
const result = await marketplace.createOrder(orderData);
console.log('Order created:', result.order.order_id);
} catch (error) {
if (error.response?.status === 401) {
console.error('Authentication required');
} else if (error.response?.status === 400) {
console.error('Missing required fields:', error.response.data.error);
} else {
console.error('Order creation failed:', error.message);
}
}🤖 ABSK (AI Blockchain Starter Kit) Module
The cryptoWallet module provides ABSK functionality with dual architecture.
Manual Operations
const absk = await brdzSDK.cryptoWallet;
// Create wallet
const wallet = await absk.createWallet({
wallet_name: "My Crypto Wallet",
user_id: 123
});
// Get user wallets
const wallets = await absk.getUserWallets(123);
// Add chain address
const address = await absk.addChainAddress(wallet.bw_id, {
chain_id: "sepolia"
});
// Check balance
const balance = await absk.balance.getTotal(wallet.bw_id);AI-Powered Operations
// Natural language processing
const result = await absk.processAIIntent({
user_input: "Create a new wallet called Trading Wallet",
user_id: 123
});
// AI helper methods
const wallet = await absk.ai.createWallet(
"I want a new wallet for DeFi trading",
123
);
const balances = await absk.ai.checkBalance(
"Show me my USDC balance on Sepolia",
123
);Key Management & Tokens
// Private key operations
const backup = await absk.keys.createBackup({
wallet_id: 1,
user_id: 123
});
// Token management
await absk.tokens.import({
chain_id: "sepolia",
asset_issuer: "0x..."
});
// Balance checking
const usdcBalance = await absk.balance.getUSDC(1, "sepolia");🛍️ MCP (AI Commerce) Module
The MCP module enables AI-powered shopping with cryptocurrency payments.
Quick Example
const mcp = await brdzSDK.mcp;
// 1. Detect purchase intent
const intent = await mcp.step1_detectIntent({
prompt: "I want to buy headphones from https://tokopedia.com/product-url"
});
// 2. Parse product details
const product = await mcp.step2_parseProduct({
url: intent.detected_url
});
// 3. Confirm product and get pricing
const confirmation = await mcp.step3a_productConfirmation({
product: product.product
});
// 4. Create order with recipient (requires authentication)
const order = await mcp.createOrder({
product: confirmation.product,
pricing: confirmation.pricing,
recipient: {
name: "John Doe",
phone: "+628123456789",
address: "Jl. Sudirman No. 123, Jakarta Selatan 12190, Indonesia",
notes: "Please call before delivery"
}
});
// 5. Execute payment (requires sufficient USDC balance)
const result = await mcp.executeOrder({
order_id: order.order_id,
confirmation: "confirmed"
});
console.log('Order completed:', result);🧠 Available Modules & Methods
Core Modules
- auth (8 methods) - User authentication, registration, mobile 2FA & complete login
- twofa (6 methods) - Two-Factor Authentication setup, enable, disable, verify
- config (6 methods) - SDK configuration management
- utils (6 methods) - HTTP client & debugging utilities
Blockchain & Crypto
- cryptoWallet (14 methods) - ABSK AI Blockchain Starter Kit
- crosschain (9 methods) - Cross-chain bridge operations
- neon (2 methods) - Neon blockchain integration
- bridge (5 methods) - Cross-chain wallet & VA bridge
- onchain (20 methods) - Onchain transaction execution & logging
Financial Services
- xendit (22 methods) - Payment gateway operations (NEW v1.1.4)
- indodax (10 methods) - Crypto exchange & IDR conversion (NEW v1.1.4)
- mcp (10 methods) - AI-powered commerce & shopping
- marketplace (5 methods) - AI conversational commerce (NEW v1.1.5)
- wallet (8 methods) - Traditional wallet management
- transactions (11 methods) - Transaction history & management
- fx (3 methods) - Foreign exchange & currency conversion
- wallet (8 methods) - Traditional wallet management
Integrations
- cardano (9 methods) - Cardano blockchain operations
- xrpl (7 methods) - XRPL integration & trustlines
- visa (6 methods) - Visa card virtual integration
- plaid (5 methods) - Banking & ACH integration
- privy (8 methods) - Privy authentication integration
- twitter (16 methods) - Twitter bot verification & rewards
Additional Services
- ekyc (7 methods) - Sumsub eKYC/eKYB verification
- admin (6 methods) - Administrative functions
- client (6 methods) - Client management
- stableX (4 methods) - Cross-chain USDC operations
- testnet (4 methods) - Testnet development tools
- ntcp (6 methods) - Recipient & batch transfer management
- apikey (4 methods) - API key management
🌐 Frontend Integration
React/Next.js Setup
For v1.1.0+, you only need TypeScript declarations. No custom hooks required - call SDK methods directly.
Create TypeScript declarations in your frontend project:
// types/anantla-sdk.d.ts
declare module 'anantla_sdk' {
export const config: {
setBaseUrl: (url: string) => void;
setApiKey: (key: string) => void;
setToken: (token: string) => void;
getBaseUrl: () => string;
getApiKey: () => string;
getToken: () => string;
};
export const auth: {
loginUser: (email: string, password: string) => Promise<any>;
registerUser: (data: any) => Promise<any>;
completeLoginWith2FA: (userId: string, code: string) => Promise<any>;
};
export const twofa: {
setup: () => Promise<any>;
enable: (code: string) => Promise<any>;
disable: (code: string, password: string) => Promise<any>;
getStatus: () => Promise<any>;
};
export const cryptoWallet: {
createWallet: (data: any) => Promise<any>;
getUserWallets: (userId: number) => Promise<any>;
processAIIntent: (data: any) => Promise<any>;
};
export const xendit: {
requestFixedVA: (data: any) => Promise<any>;
processWalletWithdraw: (data: any) => Promise<any>;
getBalance: (params?: any) => Promise<any>;
};
export const indodax: {
startConversion: (data: any) => Promise<any>;
getConversionStatus: (jobId: string) => Promise<any>;
getCurrentPrice: (pair: string) => Promise<any>;
};
export const marketplace: {
sendMessage: (data: {
message: string;
conversation_history?: Array<{ role: string; content: string }>
}) => Promise<any>;
searchProducts: (data: {
query: string;
sources?: ('etsy' | 'tokopedia')[];
limit?: number
}) => Promise<any>;
createOrder: (data: any) => Promise<any>;
getOrder: (order_id: string) => Promise<any>;
getUserOrders: (params?: any) => Promise<any>;
};
// other modules...
}TypeScript Integration
- Ensure your TypeScript declarations match the SDK module structure
- Use proper type assertions when needed
- Always check method availability before calling
- No custom hooks needed - call SDK methods directly in v1.1.0+
React Component Example
import React, { useEffect, useState } from 'react';
import brdzSDK from 'anantla_sdk';
const WalletDashboard = () => {
const [sdkReady, setSdkReady] = useState(false);
useEffect(() => {
const initSDK = async () => {
try {
const config = await brdzSDK.config;
config.setBaseUrl(process.env.REACT_APP_API_BASE);
config.setApiKey(process.env.REACT_APP_API_KEY);
const token = localStorage.getItem('auth_token');
if (token) config.setToken(token);
setSdkReady(true);
} catch (error) {
console.error('SDK initialization failed:', error);
}
};
initSDK();
}, []);
const createWallet = async () => {
try {
const absk = await brdzSDK.cryptoWallet;
const wallet = await absk.createWallet({
wallet_name: "My New Wallet",
user_id: 123
});
console.log('Wallet created:', wallet);
} catch (error) {
console.error('Wallet creation failed:', error);
}
};
const startConversion = async () => {
try {
const indodax = await brdzSDK.indodax;
const result = await indodax.startConversion({
wallet_id: 123,
amount_idr: 1000000
});
console.log('Conversion started:', result);
} catch (error) {
console.error('Conversion failed:', error);
}
};
if (!sdkReady) return <div>Loading SDK...</div>;
return (
<div>
<h1>BRDZ Wallet Dashboard</h1>
<button onClick={createWallet}>Create Wallet</button>
<button onClick={startConversion}>Convert IDR to USDC</button>
</div>
);
};
export default WalletDashboard;🔧 Development & Testing
Environment Setup
# Set up environment
cp .env.example .env
# Edit .env with your API keys
# Build for production
npm run buildDebug Mode
Enable debug logging:
process.env.DEBUG = 'brdz-sdk:*';
const brdzSDK = require('anantla_sdk');
// Debug logs will show all API calls and responses🛡️ Security Best Practices
- Never expose API keys in client-side code repositories
- Use environment variables for sensitive configuration
- Validate all inputs before sending to API
- Handle errors gracefully with proper user feedback
- Keep JWT tokens secure and refresh them regularly
- Use HTTPS only for all API communications
- Enable 2FA for enhanced account security
- Store 2FA backup codes securely offline
📝 Breaking Changes & Deprecations
v1.1.4 Changes
Wallet Module Deprecation:
- ❌
mockActivateWallet- DEPRECATED and removed- Wallet activation is now automatic based on:
- MOCK_MODE environment variable
- Xendit customer linking (for Indonesia users)
- Manual mock activation is no longer needed
- Wallet activation is now automatic based on:
Migration Guide:
// ❌ OLD (Deprecated)
await wallet.mockActivateWallet({
wallet_id: 123,
country_code: 'ID'
});
// ✅ NEW (Automatic)
// Wallet is automatically activated on creation when:
// 1. MOCK_MODE=true in environment, OR
// 2. Xendit customer is linked (for Indonesia)
const wallet = await wallet.createWallet({
user_id: 123,
currency: 'IDR',
country_code: 'ID'
});
// Wallet status will be 'ACTIVE' automatically🆘 Support
- Email: [email protected]
- Contact: BRDZ Contact Form
📄 License
Internal use only — for BRDZ & AOL Core integration partners.
Copyright © 2024-2025 Anantla Technologies. All rights reserved.
🔄 Version History
Current Release
Version 1.1.23
- v1.1.23 :
- Update with Xtoken that can swap to XSGD
Previous Releases
Version 1.1.22
- v1.1.22 :
- Change Base URL backend to dev.brdz.link
Version 1.1.21
- v1.1.21 :
- Delete Typo on 1.1.20
Version 1.1.20
- v1.1.20 :
- Depreceated signature endpoint in USDT Mining
Version 1.1.19
- v1.1.19 :
- Typo in api/ revison all code
Version 1.1.18
- v1.1.18 :
- Update USDT POLYGON Minting and all features
- Update with transfer Features
Version 1.1.17
- v1.1.17 : List Crypto Wallet
Version 1.1.16
- v1.1.16 : Fix OfframptoWallet
Version 1.1.15
- v1.1.15 : Fix Typo for v1.1.14
Version 1.1.14
- v1.1.14 : Adding Offramp to Wallet Function on Manual Offramp
Version 1.1.13
- v1.1.13 : Adding Typo in POS with api/
Version 1.1.12
- v1.1.12 : Adding QR Static to POS System
Version 1.1.11
- v1.1.11 : Adding Linking to External Wallet in CryptoWallet.js
Version 1.1.10
- v1.1.10 : Add pos to modules
Version 1.1.9
- v1.1.9 : Adding pos QR for D20/D30
Version 1.1.8
- v1.1.8 : Adding QRIS
Version 1.1.7
- v1.1.7r : Adding the configuration environment on API Key
- v1.1.7 : Adding the configuration environment
Version 1.1.6
- v1.1.6r3 : Adding Offramp History
- v1.1.6r2 : Adding Withdraw History
- v1.1.6r1 : Adding Flow USDT
- v1.1.6r : Adding IDRX to SDK Index
- v1.1.6 : Adding IDRX to SDK as BRDZ System
Version 1.1.5
- v1.1.5r4 : Typo revision
- v1.1.5r3 : revision on get manual trade
- v1.1.5r2 : revision on get live price IDR-USDC
- v1.1.5r1 : revision on get trade balance
- v1.1.5r : revision on index
- v1.1.5 (January 2025)
- ✅ Added Marketplace module (5 methods) - AI conversational commerce
- ✅ Product search across Etsy & Tokopedia with AI-powered chat
- ✅ USDC payment integration for cross-border shopping
- ✅ Order management with blockchain payment tracking
- 🤖 Groq AI assistant for natural language shopping experience
Version 1.1.4
- v1.1.4r (January 2025)
- ✅ Added indodax disburse to Indodax modules (11 methods)
- v1.1.4 (January 2025)
- ✅ Added Xendit module (22 methods) - Payment gateway for Indonesia
Version 1.1.3
- v1.1.3r2 - Adding admin get user_id info
- v1.1.3r1 - Revised all typo at v1.1.3
- v1.1.3r - Revised Bridge Modules
- v1.1.3 - Fix List Admin
Version 1.1.2
- v1.1.2 - Fix Admin and Users modules
Version 1.1.1
- v1.1.1 - Update the API Key Remove data
Version 1.1.0
- v1.1.0 - Added Two-Factor Authentication (2FA) module with 6 methods, enhanced auth module with
completeLoginWith2FA, simplified frontend integration (no custom hooks required)
Version 1.0.0 - 1.0.9
- v1.0.9 - Update generate API Key
- v1.0.8 - eKYB update on module ekyc
- v1.0.7 - Update MCP to have Dual Support "Polygon/Amoy" and "Neon"
- v1.0.6 - Publish to npm
- v1.0.5 - Added Privy for Auth User
- v1.0.4 - Added Onchain, Crosschain, and AI Agent for Crypto Wallet
- v1.0.3 - Added Onchain transaction and history
- v1.0.2 - Added mobile authentication (2FA) with push notifications, enhanced auth module
- v1.0.1 - Added MCP order management, email receipts, SDK test suite
- v1.0.0 - Initial release with core modules
🚀 What's Next?
Stay tuned for upcoming features:
- Extended payment gateway support for more countries
- Advanced trading features in Indodax integration
- Enhanced AI capabilities in ABSK module
- More blockchain network integrations
