Paytm icon

Paytm data API: endpoints behind the wallet & passbook

Paytm - One97 Communications Ltd. · Payments 4.4 ★

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/balance openbanking

    Reads 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 screen
    • field names match the wallet payload the app renders
  • Wallet passbook transaction history

    POST /v1/wallet/statement openbanking

    Returns 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) screen
    • field names match the transaction rows the app renders
  • List sub-wallets

    POST /v1/wallet/sub-accounts openbanking

    Enumerates 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/collect openbanking

    Starts 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.

Get a quote