Paytm data API: endpoints behind the wallet & passbook
Paytm's wallet, passbook and UPI screens are thin clients over a private HTTPS API. The app (net.one97.paytm, v10.83.12) splits its calls across payments, identity, UPI and bank-wallet backends, authenticating every call with an SSO session cookie plus user / channel token headers.
The four endpoints below are the ones that actually move and read money data: POST /v1/wallet/balance reads balances, POST /v1/wallet/statement pages the passbook, POST /v1/upi/collect starts a UPI collect — using the same field names the app sends and receives on the wire.
Paytm is India's largest wallet-and-UPI super-app. Behind the wallet, passbook, and payments screens it calls a private HTTPS API authenticated with an SSO session token and per-request channel tokens. The endpoints below are the private data API the app uses behind those screens.
API surface
Fetch wallet & savings balance
POST
/v1/wallet/balanceopenbankingReads the user's Paytm Wallet and Paytm Payments Bank savings-account balance, including per-sub-wallet breakdown and the min/max transaction limits used to render the balance screen.
Auth: SSO session cookie plus user / channel token request headers; client channel and app version query params.
- accountBalance.value
- accountBalance.currency
- subWalletDetails
- partnerBankBalances
- redeemableInvestmentBalance
- payerAccountExists
- minTransactionAmount
- maxTransactionAmount
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/wallet/balance?channel=androidapp HTTP/1.1 Cookie: sso_session=<session-token> X-User-Token: <user-token> Content-Type: application/json {"subWalletParams":{"subWalletType":"all"}}{ "accountBalance": { "value": "1250.00", "currency": "INR" }, "subWalletDetails": [ { "subWalletType": 1, "subWalletName": "Paytm Wallet" } ], "partnerBankBalances": [], "redeemableInvestmentBalance": 0.0, "payerAccountExists": "true", "isRedemptionAllowed": false, "minTransactionAmount": { "value": "1.00", "currency": "INR" }, "maxTransactionAmount": { "value": "200000.00", "currency": "INR" } }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's wallet balance screenfield names match the wallet payload the app renders
Wallet passbook transaction history
POST
/v1/wallet/statementopenbankingReturns the paginated wallet/bank passbook (statement) with per-transaction id, status, amount, narration, counterparty, and fee detail that power the passbook and spend-analytics screens.
Auth: SSO session cookie plus user token request header; client channel query param.
- txnId
- txnStatus
- txnamount
- currencyCode
- payModeName
- txnCategory
- narration
- txnFrom
- txnTo
- payeeId
- payerId
- qrId
- walletOrderId
- txnPostDate
- feeDetails
- extendedTxnInfo
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/wallet/statement?channel=androidapp HTTP/1.1 Cookie: sso_session=<session-token> X-User-Token: <user-token> Content-Type: application/json {"pageNo":1,"pageSize":20,"entrytype":"all","subWalletType":"all"}{ "transactions": [ { "txnId": "1789965001234567", "txnStatus": "SUCCESS", "txnamount": "499.00", "currencyCode": "INR", "payModeName": "Paytm Wallet", "txnCategory": "P2P", "narration": "Paid to Merchant", "txnTo": "Merchant Store", "txnPostDate": "2026-09-20 21:30:00", "walletOrderId": "WO_9988776655" } ] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's passbook (statement) screenfield names match the transaction rows the app renders
List sub-wallets
POST
/v1/wallet/sub-accountsopenbankingEnumerates the user's sub-wallets (main wallet, food wallet, gift vouchers) with issuer, account number, issue/expiry dates, and wallet type — used to build the wallet landing and passbook sub-wallet list.
Auth: SSO session cookie plus user token request header; client channel query param.
- id
- subWalletType
- subWalletName
- displayName
- accountNumber
- issuedOn
- expiry
- walletType
- issuerMetadata
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/wallet/sub-accounts?channel=androidapp HTTP/1.1 Cookie: sso_session=<session-token> X-User-Token: <user-token> Content-Type: application/json {}{ "subWallets": [ { "id": 1, "subWalletType": 1, "subWalletName": "Paytm Wallet", "displayName": "Paytm Balance", "accountNumber": "91XXXXXXXXXX", "issuedOn": "01-01-2021", "expiry": "31-12-2030", "walletType": "PAYTM", "issuerMetadata": "{}" } ] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's wallet landing screen
Initiate UPI payment (collect)
POST
/v1/upi/collectopenbankingStarts a UPI collect against the app's payment backend, returning a transaction id and pending status that the app polls until the bank authorises it.
Auth: SSO session plus device binding; the collect is authorised in-app with the UPI PIN via the bank's MPC flow.
- txnId
- status
- payeeVpa
- payeeName
- amount
- currency
- txnNote
- approvalFlow
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/upi/collect HTTP/1.1 Cookie: sso_session=<session-token> Content-Type: application/json {"payeeVpa":"merchant@upi","payeeName":"Merchant Store","amount":"499.00","txnNote":"Order payment","channel":"androidapp"}{ "txnId": "UPI1789965001", "status": "PENDING", "payeeVpa": "merchant@upi", "amount": "499.00", "currency": "INR", "approvalFlow": "MPC_PIN" }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's UPI pay flow
Data categories
- balances
- transactions
- wallets
- payments
- upi
Where teams use this data
Personal-finance aggregation
Money managers pull wallet and savings balances plus the passbook transaction history into one net-worth view, categorized by pay mode and narration.
Merchant reconciliation
Sellers reconcile settlements line by line — transaction id, amount, fee details, counterparty — matching wallet credits against their own order ledger.
UPI collection automation
ERP workflows initiate UPI collect requests straight from an overdue-invoice list, with payee name, amount and note pre-filled for one-tap customer approval.
Frequently asked questions
What data API does the Paytm app use?
The Paytm Android app calls a private HTTPS API split across payments, identity, UPI and bank-wallet backends. Endpoints such as POST /v1/wallet/balance and POST /v1/wallet/statement return balances, transaction history and sub-wallet details as JSON.
How is the Paytm API authenticated?
Requests carry an SSO session cookie along with user and channel token headers, and are tagged with a client channel and an app version. There is no public developer key — these are first-party endpoints used by the official app after a user logs in.
Can I read my Paytm wallet balance programmatically?
The app's own balance screen is powered by POST /v1/wallet/balance, which returns accountBalance.value and accountBalance.currency plus a subWalletDetails breakdown. It is a private, session-authenticated endpoint, not a public API.
Where does the Paytm passbook get its transactions?
The passbook and spend-analytics screens are fed by POST /v1/wallet/statement, a paginated endpoint returning txnId, txnStatus, txnamount, currencyCode, narration, counterparty and feeDetails for each wallet or bank transaction.
Topics
- Paytm API
- Paytm data API
- Paytm wallet API
- Paytm passbook API
- Paytm wallet balance endpoint
- Paytm Payments Bank API
- Paytm UPI endpoint
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.