Nagad Customer app icon

Nagad Customer API

Bangladesh Mobile wallet

Nagad personal wallet (Bangladesh) — PIN + SMS OTP login with an optional *167# device-change step, balance, paged transaction history & detail, recipient validation, fee preview, P2P send-money, and credential provisioning/refresh maintenance.

Overview

💡

Base URL: https://api.openbankinggateway.com — all responses use the unified {code, data} envelope.

Session flow: complete the login endpoints to receive a gateway token, then pass it as token= to every authenticated endpoint.

Transparency: the raw upstream fintech JSON is included under data.upstream on every response — success and error alike.

Fill in the parameters on any endpoint below and hit Send request to call the live gateway, or copy the curl example to run it from your terminal.

Auth

POST/api/nagad-customer/login/request-otp

Dispatch SMS OTP or signal *167# device-change

ParameterInValue
account*query
pinCode*query
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/login/request-otp?account=01900000002&pinCode=1234'
POST/api/nagad-customer/login/verify-ussd-otp

Submit the *167# device-change USSD code

ParameterInValue
account*query
ussdOtp*query
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/login/verify-ussd-otp?account=01900000002&ussdOtp=<ussdOtp>'
POST/api/nagad-customer/login/verify-otp

Verify OTP and issue a session token

ParameterInValue
account*query
otp*body
uidbody
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/login/verify-otp?account=01900000002' \ -H 'Content-Type: application/json' \ -d '{"otp":"582914"}'

Account

GET/api/nagad-customer/balance

Wallet balance (token required)

ParameterInValue
token*query
curl -X GET 'https://api.openbankinggateway.com/api/nagad-customer/balance?token=<token>'
GET/api/nagad-customer/transaction-history

Paged transaction history (token required)

ParameterInValue
token*query
pagequery
curl -X GET 'https://api.openbankinggateway.com/api/nagad-customer/transaction-history?token=<token>&page=0'
GET/api/nagad-customer/transaction-detail

Single transaction detail (token required)

ParameterInValue
token*query
txnId*query
approvalDate*query
curl -X GET 'https://api.openbankinggateway.com/api/nagad-customer/transaction-detail?token=<token>&txnId=<txnId>&approvalDate=20260731'

Transfer

GET/api/nagad-customer/validate-account

Check a recipient is a registered wallet

ParameterInValue
token*query
destMobile*query
curl -X GET 'https://api.openbankinggateway.com/api/nagad-customer/validate-account?token=<token>&destMobile=01800000002'
GET/api/nagad-customer/fee-commission

Preview fee / commission / net for a transfer

ParameterInValue
token*query
destMobile*query
amount*query
txTypequery
curl -X GET 'https://api.openbankinggateway.com/api/nagad-customer/fee-commission?token=<token>&destMobile=01800000002&amount=100'
POST/api/nagad-customer/p2p

P2P send-money to another Nagad wallet

ParameterInValue
token*query
destAccountNo*query
amount*query
userRefMessagequery
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/p2p?token=<token>&destAccountNo=01800000002&amount=50'

Maintenance

POST/api/nagad-customer/refresh-card-data

Provision/refresh P2P payment credentials

ParameterInValue
token*query
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/refresh-card-data?token=<token>'
POST/api/nagad-customer/replenish-card

Refresh the transaction credential quota

ParameterInValue
token*query
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/replenish-card?token=<token>'
POST/api/nagad-customer/reinitialize-wallet

Re-provision an existing session for P2P

ParameterInValue
token*query
curl -X POST 'https://api.openbankinggateway.com/api/nagad-customer/reinitialize-wallet?token=<token>'