⚡
Licensed card infrastructure · UK regulated · Visa BIN sponsorship · 40+ countries
POST/v1/cards/issue
{
"customer_id": "cus_ang_7f3a91b2",
"currency": "USD",
"card_type": "virtual",
"kyc_ref": "KYC-2026-00142",
"funding_rail": "mobile_money"
}
// 201 Created
{
"card_id": "kc_4285763291748301",
"status": "active",
"pan_last4": "8301",
"expiry": "06/2029",
"balance_usd": 0.00,
"nium_card_id": "nim_vca_an_k82hx1"
}
POST/v1/topup
{
"card_id": "kc_4285763291748301",
"amount_local": 50000,
"rail": "mobile_money",
"msisdn": "+244921000001",
"fx_rate_locked": 1500.00
}
// 200 OK + webhook
{
"topup_id": "tu_20260615_00291",
"status": "completed",
"local_deducted": 50000,
"usd_credited": 32.50,
"spread_pct": 2.5,
"settled_at": "2026-06-15T10:42:00Z"
}
# npm install mojacard-sdk
import MojaCard from "mojacard-sdk"
const kc = new MojaCard({ apiKey: "kc_live_xxx", env: "sandbox" })
await kc.cards.issue({ customerId: userId, fundingRail: "mobile_money" })