Spice Money Adhikari AePS and remittance data
Spice Money -Banking Agent App is Spice Money's Android app for Adhikari banking correspondents in India. Neighbourhood and kirana-store agents use it for Aadhaar-enabled AePS balance enquiries, cash withdrawals, cash deposits and mini statements; domestic money transfers (DMT); BBPS electricity and other bill payments; and prepaid recharge. It also supports the Spice Pay PPI wallet, Axis and NSDL CASA cash services, MATM/mPOS devices, and sales of gold, insurance and agent loans. Password sign-in and returning-agent pattern or face unlock lead into the counter-service screens. The app serves the same local banking-agent market as PayNearby, FinoSaathi and Eko, rather than the consumer side of UPI wallet payments.
Adhikari cash receipts link rrn bank retrieval references with uidai authorization references, stan, terminalId and custName. AePS withdrawal records pair the remaining balance with the agent's earning and txnCharges; agent profiles add bcAgentId, agentName and agentBal. Wallet ledger entries distinguish transactionId, transactionType and transactionStatus, while DMT confirmations supply txnId, ifsc, remitMode and per-leg txnDtls.rrn.
Bill-payment records connect billId, billerName and consumerCode with customerConvenienceFees and transreferenceId. Earnings totals separate totalCommission from totalCashback. These fields support distributor MIS cash-out reconciliation, remittance-compliance monitoring of IMPS transfer legs, treasury forecasts of Spice Pay wallet float, and earnings desks matching bill-payment fees against commission. openData Studio turns this data into callable open data; the routes and sample records below are illustrative.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Adhikari agent login
POST
/v1/agent-sessions/createosintSigns the Adhikari agent in and returns the session token, bcAgentId, agentName and agentBal used to render the signed-in home.
Auth: No existing session required: password grant using bcAgentId and password. The response supplies payload.token for later calls; identifier is an additional header, and RBL sessions also carry mode=RBLAPP.
- bcAgentId
- password
- responseCode
- responseDesc
- responseStatus
- payload.bcAgentId
- payload.agentName
- payload.agentBal
- payload.token
- payload.seed
- payload.hashCount
- payload.isPatternSet
- payload.isFaceHashSet
- payload.serviceName
POST /v1/agent-sessions/create HTTP/1.1 Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "password": "<demo_password>" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "payload": { "bcAgentId": "DEMO_AGENT_001", "agentName": "DEMO KIRANA", "agentBal": "18450.75", "token": "<session_token>", "seed": "<demo_seed>", "hashCount": "1", "isPatternSet": "Y", "isFaceHashSet": "N", "pattern": "", "serviceName": "SMA", "forDisplay": "Demo Kirana", "welcomeVideo": "" } }Pre-login info V2
POST
/v1/agent-access/preferencesopendataLoads pre-login flags for the Adhikari id (pattern/face unlock, display name) before the password screen.
Auth: No authentication required for pre-login preferences; an identifier header may accompany the request.
- bcAgentId
- responseCode
- responseDesc
- responseStatus
- payload.bcAgentId
- payload.forDisplay
- payload.isPatternSet
- payload.isFaceHashSet
- payload.serviceName
POST /v1/agent-access/preferences HTTP/1.1 Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "payload": { "bcAgentId": "DEMO_AGENT_001", "forDisplay": "Demo Kirana", "isPatternSet": "Y", "isFaceHashSet": "N", "serviceName": "SMA" } }AePS balance enquiry
POST
/v1/cash-services/balance-checksopenbankingRuns an Aadhaar-enabled AePS balance enquiry and returns bank balance, RRN, UIDAI auth, STAN and terminal id for the till receipt.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header. Biometric capture accompanies the transaction.
- message
- status
- errorCode
- respCode
- balance
- balU
- rrn
- stan
- terminalId
- uidai
- cauth
- custName
- custBankName
- bcName
- bcLocation
- requestId
- earning
- txnCharges
- aadharNumber
POST /v1/cash-services/balance-checks HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "aadharNumber": "XXXXXXXX0000", "custName": "DEMO CUSTOMER", "bankIin": "SBIN", "transAmt": "0" }{ "message": "SUCCESS", "status": "S", "errorCode": "00", "respCode": "00", "balance": "15420.50", "balU": "15420.50", "rrn": "DEMO_RRN_001", "stan": "DEMO001", "terminalId": "DEMO_TERMINAL", "uidai": "DEMO_UIDAI_001", "cauth": "DEMO_AUTH_001", "custName": "DEMO CUSTOMER", "custBankName": "State Bank of India", "bcName": "DEMO KIRANA", "bcLocation": "Bengaluru", "date": "2026-10-26", "time": "14:32:01", "requestId": "REQDEMO001", "earning": "0.00", "txnCharges": "0.00" }AePS cash withdrawal
POST
/v1/cash-services/withdrawalsopenbankingSubmits an Aadhaar-enabled AePS cash withdrawal and returns transAmt, remaining balance, RRN, UIDAI auth, agent earning and txnCharges.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header. Biometric capture accompanies the transaction.
- message
- status
- respCode
- balance
- transAmt
- rrn
- stan
- terminalId
- uidai
- cauth
- custName
- custBankName
- bcName
- earning
- txnCharges
- gstNumber
- requestId
- miniStatement.requestId
- miniStatement.transactionList.date
- miniStatement.transactionList.transType
- miniStatement.transactionList.amount
POST /v1/cash-services/withdrawals HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "aadharNumber": "XXXXXXXX0000", "custName": "DEMO CUSTOMER", "bankIin": "SBIN", "transAmt": "2000" }{ "message": "SUCCESS", "status": "S", "respCode": "00", "balance": "13420.50", "transAmt": "2000", "rrn": "DEMO_RRN_002", "stan": "DEMO002", "terminalId": "DEMO_TERMINAL", "uidai": "DEMO_UIDAI_002", "cauth": "DEMO_AUTH_002", "custName": "DEMO CUSTOMER", "custBankName": "State Bank of India", "bcName": "DEMO KIRANA", "bcLocation": "Bengaluru", "earning": "8.00", "txnCharges": "0.80", "gstNumber": "<demo_gst_number>", "date": "2026-10-26", "time": "14:40:12", "requestId": "REQDEMO002", "miniStatement": { "requestId": "REQDEMO002", "transactionList": [ { "date": "26-10-2026", "receiptDate": "26-10-2026", "transType": "CW", "receiptTransType": "Cash Withdrawal", "category": "DR", "amount": "2000" } ] } }AePS transaction tab summary
POST
/v1/agent-metrics/cash-transactionsopendataLoads the AePS tab counts (today vs yesterday and projected txn count) shown on the agent home.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDesc
- responseStatus
- payload.todayCount
- payload.yesterdayCount
- payload.label
- payload.identifier
- payload.projectedTxnCount
POST /v1/agent-metrics/cash-transactions HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "payload": { "todayCount": "12", "yesterdayCount": "9", "label": "AePS", "identifier": "AEPS", "projectedTxnCount": "14" } }Wallet transaction history
POST
/v1/agent-ledgers/entriesopenbankingPages the Adhikari wallet ledger with transactionId, type, status, product and ticket flags shown on the history screen.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDesc
- responseStatus
- WalletHistoryPayload.eof
- WalletHistoryPayload.notClickableMsg
- walletHistoryList.leftHeader1
- walletHistoryList.transactionId
- walletHistoryList.rightHeader1
- walletHistoryList.transactionType
- walletHistoryList.transactionStatus
- walletHistoryList.product
- walletHistoryList.transMode
- walletHistoryList.ticketId
POST /v1/agent-ledgers/entries HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "WalletHistoryPayload": { "eof": false, "notClickableMsg": "", "walletHistoryList": [ { "leftHeader1": "AePS CW", "leftHeader2": "26 Oct 2026", "transactionId": "TXNDEMO002", "rightHeader1": "₹2000", "rightHeader2": "SUCCESS", "transactionType": "CW", "transactionStatus": "SUCCESS", "header": "Cash withdrawal", "body": "SBI ****0000", "footer": "RRN DEMO_RRN_002", "isClickable": "Y", "icon": "aeps", "product": "AEPS", "transMode": "BIO", "ticketId": "", "ticketStatus": "" } ] } }Wallet history summary
POST
/v1/agent-ledgers/totalsopenbankingReads the wallet-summary tile (txnAmount, txnType, running balance) above the history list.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDesc
- responseStatus
- header
- body
- footer
- icon
- txnAmount
- txnType
- balance
POST /v1/agent-ledgers/totals HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "payload": { "header": "Today", "body": "12 txns", "footer": "AePS + DMT", "icon": "wallet", "txnAmount": "28450.00", "txnType": "ALL", "balance": "18450.75" } }Axis CASA wallet balance
POST
/v1/deposit-float/balancesopenbankingReads the Axis cash-deposit wallet float shown before an Axis CASA deposit at the till.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDescription
- responseStatus
- balance
POST /v1/deposit-float/balances HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001" }{ "responseCode": "00", "responseDescription": "SUCCESS", "responseStatus": "S", "balance": "6200.00" }BBPS top billers MDM
GET
/v1/biller-directory/regional-rankingsopendataReturns the BBPS top-biller catalogue keyed by category, city/state mapping, billerId and rank for the bill-pay picker.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- lang
- respCode
- respDesc
- respStatus
- payload.verDate
- topBillers.catId
- mapping.city
- mapping.state
- billers.billerId
- billers.rank
GET /v1/biller-directory/regional-rankings HTTP/1.1 token: <session_token> identifier: <demo_identifier> Accept: application/json{ "lang": "en", "respCode": "00", "respDesc": "SUCCESS", "respStatus": "S", "payload": { "verDate": "2026-10-01", "topBillers": [ { "catId": "ELECTRICITY", "mapping": [ { "city": "Bengaluru", "state": "KA", "billers": [ { "billerId": "DEMO_BILLER_001", "rank": 1 } ] } ] } ] } }BBPS biller MDM
GET
/v1/biller-directory/recordsopendataDownloads the BBPS biller master used to resolve billerName and category before a fetch-bill.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- respCode
- respDesc
- respStatus
- payload.verDate
- billerId
- billerName
- category
GET /v1/biller-directory/records HTTP/1.1 token: <session_token> identifier: <demo_identifier> Accept: application/json{ "respCode": "00", "respDesc": "SUCCESS", "respStatus": "S", "payload": { "verDate": "2026-10-01", "billers": [ { "billerId": "DEMO_BILLER_001", "billerName": "Demo Electricity Biller", "category": "ELECTRICITY" } ] } }BBPS bill payment
POST
/v1/utility-payments/submitopenfinancePays a BBPS bill from the Adhikari wallet and returns billId, billerName, consumerCode, CCF, approvalNo and remaining balance.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDesc
- responseStatus
- payload.billId
- payload.dueDate
- payload.category
- payload.billerName
- payload.consumerCode
- payload.amount
- payload.customerName
- payload.paymentStatus
- payload.paymentMode
- payload.totalAmount
- payload.customerConvenienceFees
- payload.platformFees
- payload.transreferenceId
- payload.approvalNo
- payload.agentName
- payload.balance
- payload.billRefId
POST /v1/utility-payments/submit HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "billerId": "DEMO_BILLER_001", "consumerCode": "DEMO_CONSUMER", "amount": "1850.00" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "payload": { "billId": "DEMO_BILL_001", "dueDate": "2026-11-05", "category": "ELECTRICITY", "billerName": "Demo Electricity Biller", "consumerCode": "DEMO_CONSUMER", "amount": "1850.00", "billDate": "2026-10-05", "customerName": "DEMO CUSTOMER", "billPeriod": "Sep 2026", "paymentStatus": "SUCCESS", "paymentMode": "WALLET", "totalAmount": "1865.00", "otherCharges": "0.00", "customerConvenienceFees": "15.00", "platformFees": "0.00", "transreferenceId": "BBPSDEMO001001", "approvalNo": "DEMO_APPROVAL_001", "agentName": "DEMO KIRANA", "agentAddress": "DEMO SHOP ADDRESS", "transactionDate": "2026-10-26", "balance": "16585.75", "billRefId": "DEMO_BILL_REF_001", "initiatingChannel": "AGT", "paymentChannel": "INT" } }BBPS commission earnings
POST
/v1/agent-rewards/breakdownopendataReads BBPS vs recharge commission and cashback split (today/month/year) shown on the earnings dashboard.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseMessage
- bbps.totalEarnings.totalEarnings
- bbps.totalEarnings.totalCommission
- bbps.totalEarnings.totalCashback
- bbps.totalEarnings.billsPaid
- bbps.commissionEarn.today.commissionEarned
- bbps.commissionEarn.today.billsPaidCount
- bbps.commissionEarn.month.commissionEarned
- recharge.totalEarnings.totalEarnings
POST /v1/agent-rewards/breakdown HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001" }{ "responseCode": "00", "responseMessage": "SUCCESS", "bbps": { "totalEarnings": { "totalEarnings": "1240.50", "totalCommission": "980.00", "totalCashback": "260.50", "billsPaid": "86", "commission": "980.00", "cashBack": "260.50" }, "commissionEarn": { "today": { "text": "Today", "billsPaid": "4", "billsPaidCount": "4", "commissionEarned": "32.00", "commissionCount": "4" }, "month": { "text": "This month", "billsPaid": "86", "commissionEarned": "980.00" } } }, "recharge": { "totalEarnings": { "totalEarnings": "210.00", "totalCommission": "210.00", "billsPaid": "18" } } }DMT remittance confirmation
POST
/v1/domestic-transfers/confirmationsopenfinanceConfirms a domestic money transfer and returns txnId, IFSC, remitMode, charges/GST and per-leg RRN/status.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- rc
- rd
- rs
- payload.desc
- payload.amount
- payload.bname
- payload.charges
- payload.gst
- payload.ifsc
- payload.remitMode
- payload.totalAmt
- payload.txnId
- txnDtls.amt
- txnDtls.rrn
- txnDtls.status
- txnDtls.transId
POST /v1/domestic-transfers/confirmations HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "amount": "5000", "ifsc": "<demo_ifsc>", "remitMode": "IMPS" }{ "rc": "00", "rd": "SUCCESS", "rs": "S", "payload": { "desc": "IMPS credit", "lineData": "DEMO CUSTOMER", "amount": "5000", "bname": "State Bank of India", "charges": "12.00", "dt": "2026-10-26 14:51:02", "gst": "2.16", "ifsc": "<demo_ifsc>", "remitMode": "IMPS", "rmks": "", "totalAmt": "5014.16", "txnId": "DMTDEMO001001", "txnDtls": [ { "amt": "5000", "dt": "2026-10-26 14:51:02", "remarks": "SUCCESS", "rrn": "DEMO_RRN_003", "status": "SUCCESS", "transId": "IMPSDEMO001" } ] } }UTR bank details
POST
/v1/funding-references/bank-detailsopenbankingLooks up bank / UTR detail for a fund request so the agent can match rrn, ifsc and bname on the receipt.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDesc
- responseStatus
- payload.txnId
- payload.bname
- payload.ifsc
- payload.rrn
- payload.amount
- payload.status
POST /v1/funding-references/bank-details HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "txnId": "DMTDEMO001001" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "payload": { "txnId": "DMTDEMO001001", "bname": "State Bank of India", "ifsc": "<demo_ifsc>", "rrn": "DEMO_RRN_003", "amount": "5000", "status": "SUCCESS" } }NSDL CASA cash deposit
POST
/v1/counter-deposits/submitopenbankingPosts an NSDL CASA cash deposit at the Adhikari till and returns transAmt, remaining balance and RRN.
Auth: Session token from Adhikari sign-in (payload.token), with an identifier header.
- responseCode
- responseDesc
- responseStatus
- balance
- transAmt
- rrn
- txnId
- custName
POST /v1/counter-deposits/submit HTTP/1.1 token: <session_token> Content-Type: application/json identifier: <demo_identifier> { "bcAgentId": "DEMO_AGENT_001", "transAmt": "3000" }{ "responseCode": "00", "responseDesc": "SUCCESS", "responseStatus": "S", "balance": "9200.00", "transAmt": "3000", "rrn": "DEMO_RRN_004", "txnId": "NSDLDEMO001", "custName": "DEMO CUSTOMER" }
Data categories
- balances
- transactions
- identity
- bills
- beneficiaries
- commissions
Where teams use this data
AePS cash-out reconciliation
A distributor MIS or BC-network ops desk pulls daily AePS rows, matches rrn and uidai to the acquiring bank, and nets earning minus txnCharges against the agent's wallet balance and agentBal.
DMT corridor monitoring
A remittance-compliance stack watches FinalTransactionModel payloads (ifsc, remitMode, amount, txnId) and per-leg txnDtls.rrn / status to flag failed IMPS legs or repeated new beneficiaries.
Adhikari float treasury
A treasury bot reads login agentBal, Axis WalletBalResponse.balance and wallet-summary balance / txnAmount so overnight settlement of the Spice Pay PPI float can be forecast.
BBPS commission desk
An earnings desk compares BBPS totalCommission and commissionEarned (today/month) with recharge totalEarnings and the bill-pay customerConvenienceFees on each transreferenceId.
Frequently asked questions
Which AePS operations appear in the Spice Money data API?
The illustrative surface covers balance enquiries and cash withdrawals. Receipt fields include rrn, uidai, stan, terminalId, custName, bcName and the remaining balance; withdrawal records also include transAmt, earning and txnCharges.
How is an Adhikari session established?
Pre-login preferences identify the display name and isPatternSet or isFaceHashSet options for a bcAgentId. A password grant then supplies payload.token, agentName and agentBal. Later requests use the session token and an identifier header; AePS transactions also require biometric capture.
What remittance and bill fields follow a counter payment?
DMT confirmations include rc, rd and rs, plus payload.txnId, ifsc, remitMode, charges, gst and per-leg txnDtls.rrn and status. BBPS payment records include billId, billerName, consumerCode, customerConvenienceFees, approvalNo and transreferenceId. Earnings records separate BBPS and recharge totals, including totalCommission and totalCashback.
Apps similar to Spice Money -Banking Agent App
- PayNearby - Aadhaar ATM, DMT — PayNearby is Nearby Technologies' Android app for Indian business-correspondent retailers who run AePS cash-out, DMT remittance, BBPS bills and a shop khata from a Punjab National Bank merchant channel.
- Fino Payments Bank — Fino Payments Bank's FinoSaathi merchant programme turns kirana shops into banking points that offer AePS Aadhaar transactions, micro-ATM cash-out, IMPS/NEFT remittance, Aadhaar Pay, and bill payments.
- Eko — Eko's retailer platform lets shopkeepers take cash from customers to transfer money to any Indian bank account, run Aadhaar-based cash withdrawal, and pay utility bills for 100+ billers.
- Mitra: Airtel Retailer — Mitra is Airtel's retailer app for Indian Airtel channel partners who sell recharges, SIM packs and Airtel Payments Bank assisted-banking services at the shop.
- Paytm for Business — Paytm for Business is One97's merchant app for Indian shops to accept in-store payments through an All-in-One QR, Soundbox voice alerts and a card machine, with settlements into a bank account.
- BharatPe for Business — BharatPe for Business is a merchant app for Indian shops to accept digital payments via BharatPe UPI QR, card swipe machines and a speaker, plus related business lending.
- OkCredit — OkCredit is a digital khata (ledger) app for Indian merchants that records customer credit and handles UPI collections and billing on the phone.
Topics
- Spice Money data API
- Adhikari AePS receipts
- DMT remittance status
- BBPS bill payments
- agentBal wallet float
- AePS uidai rrn
- Spice Pay PPI
- banking agent commissions India
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use