Ton merchant data API: balances, Pix, sales and Open Finance
Ton: maquininha, tap e conta is Stone Pagamentos S.A.'s merchant app for Brazilian MEI, CNPJ shops and solo sellers. It pairs a physical Ton card machine and TapTon NFC on the phone with a digital conta at Stone (COMPE 197 / Stone Pagamentos S.A.), so the same login takes card-present debit, credit and Pix on the till, issues payment links and boletos, manages a Stone card wallet, anticipates receivables and runs an Indique e ganhe extra-income program. Home shortcuts also open Open Finance sharing, credit and financing, insurance, payroll, recarga and team profiles. Published for Brazil only, it occupies the same SoftPOS-plus-conta slot as InfinitePay, PagBank, Mercado Pago Point, Cielo Lio and SumUp.
Paid-monthly card receivables pair paidMonthly with futureReceivables on the home widget, while the conta snapshot exposes availableAmount, label and value. Pix dictionaries return key, keyType and isSalesKey; Open Finance consented accounts carry accountId, branchCode, compeCode and companyCnpj, and their statements page transactionId, creditDebitType and partieCnpjCpf. Card-present sales add saleId, charge_id and cardLastDigits per till row. ERP reconcilers, receivables-backed lenders and multi-bank cash-flow tools consume those objects — openData Studio turns them into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Read conta digital balance
GET
/v1/wallet/{account_id}/snapshotopenbankingReads the signed-in merchant's digital-account snapshot for the home balance widget, including the display label/value pair and any otherBalances or revolving-credit tiles.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- status
- balanceInfo
- label
- value
- otherBalances
- benefits
- availableAmount
- investments
- creditRevolving
GET /v1/wallet/acc-ton-8841/snapshot HTTP/1.1 Authorization: Bearer <access_token>{ "status": "show_balance", "balanceInfo": { "label": "Saldo disponível", "value": "R$ 12.430,50", "otherBalances": [], "benefits": [] }, "availableAmount": { "amount": 1243050, "currency": "BRL" }, "investments": null, "creditRevolving": null }List merchant accounts
GET
/v1/wallet/accountsopenbankingLists the Stone digital accounts bound to the signed-in merchant so the account selector can switch the till, Pix and statement context.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- accounts
- account_id
- stone_account_id
- stoneCode
- document
GET /v1/wallet/accounts HTTP/1.1 Authorization: Bearer <access_token>{ "accounts": [ { "account_id": "acc-ton-8841", "stone_account_id": "sa-197-8841", "stoneCode": "123456789", "document": "12345678000190" } ] }List Pix keys
GET
/v1/instant-pay/{account_id}/aliasesopenfinanceReturns the Pix keys registered on the merchant account, including the till sales key flagged by isSalesKey.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- data
- id
- key
- keyType
- isSalesKey
- nickname
GET /v1/instant-pay/acc-ton-8841/aliases HTTP/1.1 Authorization: Bearer <access_token>{ "data": [ { "id": "pix-key-01", "key": "12345678000190", "keyType": "CNPJ", "isSalesKey": true, "nickname": "Loja Centro" } ] }Create static Pix QR
POST
/v1/instant-pay/{account_id}/static-codesopenfinanceIssues a static Pix QR for the till (maquininha Pix QR / chave) from a registered key, returning the EMV payload and image.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- accountId
- key
- amount
- additionalInformation
- transactionId
- type
- qrCodeImage
- qrCodeContent
POST /v1/instant-pay/acc-ton-8841/static-codes HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "accountId": "acc-ton-8841", "key": "12345678000190", "amount": 15000, "additionalInformation": "Pedido 4412", "transactionId": "txn-pix-4412", "type": "STATIC" }{ "key": "12345678000190", "amount": 15000, "qrCodeImage": "data:image/png;base64,...", "qrCodeContent": "00020101021226870014br.gov.bcb.pix...", "additionalInformation": "Pedido 4412", "transactionId": "txn-pix-4412" }Send outbound Pix
POST
/v1/instant-pay/transfersopenfinanceStarts an outbound Pix from the merchant conta; a follow-up status lookup on the returned pixId polls the transfer.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- account_id
- amount
- key
- keyType
- pixId
- status
POST /v1/instant-pay/transfers HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "account_id": "acc-ton-8841", "amount": 25000, "key": "11999990000", "keyType": "PHONE" }{ "pixId": "pix-out-7781", "status": "PENDING", "amount": 25000, "key": "11999990000" }Sales transactions home
GET
/v1/merchants/{document}/sales/overviewopendataLoads the maquininha / TapTon / payment-link sales home for a CNPJ, with per-sale saleId, charge_id and cardLastDigits for the filter bar.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- document
- stoneCode
- sales
- saleId
- charge_id
- cardLastDigits
- amount
- status
GET /v1/merchants/12345678000190/sales/overview HTTP/1.1 Authorization: Bearer <access_token>{ "document": "12345678000190", "stoneCode": "123456789", "sales": [ { "saleId": "sale-10021", "charge_id": "chg-10021", "cardLastDigits": "4421", "amount": 8990, "status": "CAPTURED" } ] }Sale transaction detail
GET
/v1/merchants/{document}/sales/{sale_id}opendataReturns one captured or pending sale so the merchant can send a receipt (email/SMS/link) or retry/reprocess the charge.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- saleId
- charge_id
- transaction_id
- document
- stoneCode
- cardLastDigits
- amount
- status
GET /v1/merchants/12345678000190/sales/sale-10021 HTTP/1.1 Authorization: Bearer <access_token>{ "saleId": "sale-10021", "charge_id": "chg-10021", "transaction_id": "trx-10021", "document": "12345678000190", "stoneCode": "123456789", "cardLastDigits": "4421", "amount": 8990, "status": "CAPTURED" }Receivables summary
GET
/v1/merchants/{document}/settlements/summaryopendataReturns this month's settled card receivables versus the outstanding futureReceivables used by the home widget and prepayment simulator.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- status
- paidMonthly
- futureReceivables
- title
- amount
GET /v1/merchants/12345678000190/settlements/summary HTTP/1.1 Authorization: Bearer <access_token>{ "status": "success", "paidMonthly": { "title": "Recebido no mês", "amount": {"text": "R$ 48.200,00"} }, "futureReceivables": { "title": "A receber", "amount": {"text": "R$ 19.350,00"} } }Receivable contracts summary
GET
/v1/merchants/{document}/settlements/agreementsopendataLists agenda-de-recebíveis contracts for the CNPJ, including contractKey used to contest a reserved contract.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- document
- contracts
- contractKey
- stoneCode
- status
GET /v1/merchants/12345678000190/settlements/agreements HTTP/1.1 Authorization: Bearer <access_token>{ "document": "12345678000190", "contracts": [ { "contractKey": "ctr-stone-01", "stoneCode": "123456789", "status": "ACTIVE" } ] }Open Finance consented accounts
GET
/v1/linked-banks/accountsopenfinanceReturns bank accounts the merchant consented to share into Ton via Open Finance TPP, with ISPB-style branch/compe identifiers and the latest availableAmount.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- accountId
- balance
- availableAmount
- updatedAt
- updatedAtOrigin
- branchCode
- checkDigit
- companyCnpj
- compeCode
- number
- organisationId
- organizationName
- type
GET /v1/linked-banks/accounts HTTP/1.1 Authorization: Bearer <access_token>{ "accountId": "of-acc-55", "balance": { "availableAmount": {"amount": 320045, "currency": "BRL"}, "updatedAt": "2026-10-17T11:02:01Z", "updatedAtOrigin": "2026-10-17T11:01:40Z" }, "branchCode": "0001", "checkDigit": "7", "companyCnpj": "00000000000191", "compeCode": "260", "number": "12345678", "organisationId": "bank-example", "organizationName": "Banco Exemplo S.A.", "type": "CACC", "updatedAt": "2026-10-17T11:02:01Z" }Open Finance account transactions
GET
/v1/linked-banks/entriesopenfinancePages the consented-bank statement used by Ton's Open Finance home, with counterparty CPF/CNPJ and creditDebitType per row.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- data
- hasNext
- nextCursor
- pageSize
- accountId
- transactionId
- amount
- currency
- creditDebitType
- type
- transactionName
- partieCnpjCpf
- partiePersonType
- consentId
- transactionDate
GET /v1/linked-banks/entries?accountId=of-acc-55&pageSize=20 HTTP/1.1 Authorization: Bearer <access_token>{ "data": [ { "accountId": "of-acc-55", "transactionId": "of-txn-901", "amount": {"amount": 15000, "currency": "BRL"}, "currency": "BRL", "creditDebitType": "CREDIT", "type": "PIX", "transactionName": "Pix recebido", "partieCnpjCpf": "11122233344", "partiePersonType": "NATURAL_PERSON", "consentId": "urn:example:consent:aa11", "transactionDate": "2026-10-16" } ], "hasNext": false, "nextCursor": null, "pageSize": 20 }List Stone cards
GET
/v1/cardsopenbankingLists debit, credit and prepaid virtual/physical cards in the Ton wallet so the merchant can block, unblock or reissue a card_id.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- cards
- card_id
- cardLastDigits
- status
GET /v1/cards HTTP/1.1 Authorization: Bearer <access_token>{ "cards": [ { "card_id": "card-778", "cardLastDigits": "4421", "status": "ACTIVE" } ] }Merchant onboarding profile
GET
/v1/merchants/profiles/{stone_account_id}osintReads the KYC/onboarding profile for a Stone account (document, stoneCode, MCC) used by the merchant profile and pending-update screens.
Auth: Bearer session token issued at merchant sign-in and attached to every call after login.
- stone_account_id
- document
- stoneCode
- mcc
GET /v1/merchants/profiles/sa-197-8841 HTTP/1.1 Authorization: Bearer <access_token>{ "stone_account_id": "sa-197-8841", "document": "12345678000190", "stoneCode": "123456789", "mcc": "5411" }
Data categories
- balances
- transactions
- pix
- receivables
- cards
- openfinance
- merchant-profile
Where teams use this data
ERP till reconciliation
Nightly jobs pull transactions-home saleId, charge_id, cardLastDigits and amount, then match them to the conta availableAmount so the shop's ERP can close the till without CSV exports from the app.
Receivables-backed underwriting
Lenders read paidMonthly versus futureReceivables and the contracts/summary contractKey list to size a working-capital offer against Stone's agenda de recebíveis instead of a generic bureau pull.
Pix checkout automation
A storefront posts a static Pix QR with key, amount and transactionId, then stores qrCodeContent for the customer while isSalesKey tells the till which chave is the default maquininha key.
Multi-bank Open Finance dashboard
Cash-flow tools list consented accounts (accountId, compeCode, availableAmount) and page statement rows (transactionId, creditDebitType, partieCnpjCpf) so a merchant sees Nu, Stone and other ISPBs in one ledger.
Frequently asked questions
What merchant data does Ton expose?
The signed-in session returns the digital-account balance (availableAmount, label, value), Pix keys (key, keyType, isSalesKey), maquininha sales (saleId, charge_id, cardLastDigits), receivables (paidMonthly, futureReceivables, contractKey) and Open Finance consented accounts (accountId, compeCode, partieCnpjCpf).
How does Ton authenticate API calls?
Calls after login attach a Bearer session token issued by Stone's merchant sign-in service. There is no anonymous access to balances, Pix, sales or Open Finance.
Does Ton include Open Finance, not only the till?
Yes. As a TPP it lists consented external accounts and pages their statements; as an account-holding institution it also supports payment-consent and share-consent flows for the merchant's own conta.
Apps similar to Ton: maquininha, tap e conta
- InfinitePay Tap, Conta, Cartão — CloudWalk's InfinitePay turns an NFC phone into a free InfiniteTap till for Brazilian CNPJ, CPF and MEI sellers, with a free digital account, 0% Pix, payment links and an optional Smart POS.
- Stone — Stone's TapStone turns an NFC phone into a card reader at the same rates as a Stone maquininha, sitting on a free Conta PJ with Pix, payment links, boletos and working-capital credit for larger Brazilian shops.
- PagBank — PagBank Tap On accepts contactless debit and credit on the phone at no hardware cost, next to Moderninha card machines, a free PF/PJ digital account and unlimited Pix for Brazilian merchants.
- Mercado Pago Point Tap — Mercado Pago Point Tap turns a smartphone into a contactless till, alongside Point card machines, Pix QR and a Mercado Pago digital account for in-person Brazilian sales.
- Cielo Tap — Cielo Tap, inside the Cielo Gestão app, takes contactless debit, credit and wallets on the phone with no monthly fee, next to Cielo Flash and Smart terminals and instant Pix.
- SumUp — SumUp Brazil lets sellers take contactless payments on the phone at no extra hardware cost, sell on a physical maquininha, and run 0% Pix through a SumUp digital account.
- Getnet Get Tap — Getnet Get Tap turns a smartphone into a till for debit, credit in up to 12x and Pix, with Get Mini and Smart terminals and a free Get Conta that settles in two business days.
Topics
- Ton API
- Ton maquininha data
- Stone Pagamentos API
- Pix keys Ton
- Open Finance Stone
- receivables paidMonthly
- TapTon sales API
- conta digital availableAmount
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