SuperApp VR icon

SuperApp VR PAT card, saldo and ponto APIs

VR Benefícios · Payments 4.8 ★

SuperApp VR is VR Benefícios' worker super-app for Brazil's PAT meal and food vouchers — Refeição, Alimentação, Auxílio Home Office, Auto and Premiações — plus marketplace cashback, Uber vouchers, FGTS Saque-Aniversário anticipation and Crédito do Trabalhador payroll credit. After a CPF login the home hub shows Meus Saldos, extrato, a virtual card with QR checkout, PIX keys and the accredited merchant map; Pontomais time clocks, holerite, scales and leave now live in the same app after the standalone Pontomais client was discontinued. VR Benefícios (CNPJ 02.535.864/0001-33) acts as banking correspondent for Banco VR. Rated 4.82 from about 297 thousand Play reviews and published with 10M+ downloads, it competes for the same PAT wallets as Alelo, Pluxee Brasil, Ticket (Edenred), Caju and Flash Benefícios.

Refeição and Alimentação plastics carry numeroCartao next to tipoProduto, statusCartao and purse totals in availableBalance plus saldoFuturo. Spend order across those purses is prioridade on a multisaldo row; PIX cash-out keys sit in chavePix; virtual-card PAN arrives as dadosCriptografados unwrapped with chavePublica.

Accredited merchants return cnpj, nomeFantasia and map latitude / longitude. Pontomais punches sync under employeeId with holerite on the same session. Payroll reconcilers, merchant-coverage maps and time-and-attendance bots consume those fields; openData Studio turns them into callable open data.

Screenshots

  • SuperApp VR screenshot 1
  • SuperApp VR screenshot 2
  • SuperApp VR screenshot 3
  • SuperApp VR screenshot 4
  • SuperApp VR screenshot 5

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Issue worker access token

    POST /v1/auth/tokens osint

    Exchanges a worker CPF and password for the accessToken / refreshToken pair used on every later SuperApp call.

    Auth: None before sign-in. The worker CPF and password are exchanged through a password grant with a gateway client_id header; the response carries the Bearer accessToken and refreshToken used on every later call.

    • accessToken
    • refreshToken
    • tokenType
    • expiresIn
    • issuer
    • grant_type
    • username
    • client_id
    POST /v1/auth/tokens HTTP/1.1
    client_id: <client-id>
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=password&username=12345678909&password=<password>&issuer=vrpat
    {
      "accessToken": "<jwt-access-token>",
      "refreshToken": "rt_9f21c7",
      "tokenType": "Bearer",
      "expiresIn": 3600,
      "issuer": "vrpat"
    }
  • Onboard worker by CPF

    GET /v1/onboarding/workers/lookup osint

    Looks up the onboarding user row for a CPF — email, telefone and celular — before the worker finishes first access.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • cpf
    • email
    • emailUsuario
    • telefone
    • celular
    • nome
    • status
    GET /v1/onboarding/workers/lookup?cpf=12345678909 HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "cpf": "12345678909",
      "email": "[email protected]",
      "emailUsuario": "[email protected]",
      "telefone": "11987654321",
      "celular": "11987654321",
      "nome": "Ana Souza",
      "status": "ATIVO"
    }
  • Find worker profile

    GET /v1/workers/me/profile osint

    Returns the signed-in worker userProfile used on home — CPF, email, telefone, productType and the registered chavePix.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • profileId
    • cpf
    • email
    • telefone
    • chavePix
    • productType
    • userProfile
    • holderName
    GET /v1/workers/me/profile HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "profileId": "prf_4412",
      "cpf": "12345678909",
      "email": "[email protected]",
      "telefone": "11987654321",
      "chavePix": "12345678909",
      "productType": "REFEICAO",
      "userProfile": {
        "nome": "Ana Souza",
        "holderName": "ANA SOUZA"
      }
    }
  • List physical benefit cards

    GET /v1/cards/physical openfinance

    Lists every physical PAT plastic on the beneficiary — numeroCartao tail, tipoProduto (Refeição, Alimentação, Home Office, Auto, Premiações), statusCartao and purse totals availableBalance / saldoFuturo.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • idCartao
    • cardId
    • numeroCartao
    • lastDigits
    • lastFour
    • tipoProduto
    • codigoProduto
    • statusCartao
    • isVirtual
    • portador
    • holderName
    • availableBalance
    • saldoFuturo
    GET /v1/cards/physical HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "cartoes": [
        {
          "idCartao": "crd_88100214",
          "cardId": "crd_88100214",
          "numeroCartao": "650485******4419",
          "lastDigits": "4419",
          "lastFour": "4419",
          "tipoProduto": "REFEICAO",
          "codigoProduto": "VRPAT",
          "statusCartao": "ATIVO",
          "isVirtual": false,
          "portador": "ANA SOUZA",
          "holderName": "ANA SOUZA",
          "availableBalance": 842.50,
          "saldoFuturo": 200.00
        }
      ]
    }
  • Card-enrollment public key

    GET /v1/cards/enrollment/public-key openbanking

    Returns the RSA chavePublica used to wrap PAN/CVV during physical-card encarteiramento.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • chavePublica
    • encarteiramento
    • codigoProduto
    GET /v1/cards/enrollment/public-key HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "chavePublica": "<rsa-public-key-pem>",
      "encarteiramento": "ENC-20261020-4419",
      "codigoProduto": "VRPAT"
    }
  • Virtual card details

    GET /v1/cards/virtual/details openbanking

    Hydrates the on-screen virtual card — lastDigits, cvv, validade and dadosCriptografados — after the plastic is positivado.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • idCartao
    • numeroCartao
    • lastDigits
    • cvv
    • validade
    • isVirtual
    • virtualCard
    • statusCartao
    • dadosCriptografados
    • chavePublica
    • positivado
    GET /v1/cards/virtual/details HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "idCartao": "crd_v_9021",
      "numeroCartao": "650485******7781",
      "lastDigits": "7781",
      "cvv": "<wrapped-cvv>",
      "validade": "12/28",
      "isVirtual": true,
      "virtualCard": true,
      "statusCartao": "ATIVO",
      "dadosCriptografados": "<encrypted-card-payload>",
      "chavePublica": "<rsa-public-key-pem>",
      "positivado": true
    }
  • Block virtual card

    POST /v1/cards/virtual/block openfinance

    Blocks a virtual PAT card after loss or a user freeze — flips statusCartao to BLOQUEADO.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • idCartao
    • numeroCartao
    • lastDigits
    • statusCartao
    • isVirtual
    POST /v1/cards/virtual/block HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Content-Type: application/json
    
    {
      "idCartao": "crd_v_9021",
      "numeroCartao": "650485******7781",
      "lastDigits": "7781"
    }
    {
      "idCartao": "crd_v_9021",
      "statusCartao": "BLOQUEADO",
      "isVirtual": true,
      "lastDigits": "7781"
    }
  • Accredited merchant directory

    GET /v1/merchants/accepted opendata

    Lists VR-accepting estabelecimentos near the worker — cnpj, razaoSocial, nomeFantasia and map latitude / longitude.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • cnpj
    • razaoSocial
    • nomeFantasia
    • latitude
    • longitude
    • tipoProduto
    • bandeira
    GET /v1/merchants/accepted?latitude=-23.5505&longitude=-46.6333 HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "estabelecimentos": [
        {
          "cnpj": "00.000.000/0001-91",
          "razaoSocial": "PADARIA CENTRO LTDA",
          "nomeFantasia": "Padaria Centro",
          "latitude": -23.5505,
          "longitude": -46.6333,
          "tipoProduto": "REFEICAO",
          "bandeira": "Elo"
        }
      ]
    }
  • Multisaldo spend priorities

    GET /v1/beneficiaries/{idBeneficiario}/purse-order openfinance

    Reads the worker's contas-prioridades — which PAT purse is debited first when several cards share a POS tap (configuracao_prioridade_multisaldo).

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • idBeneficiario
    • idCartao
    • tipoProduto
    • prioridade
    • availableBalance
    • saldoFuturo
    • multisaldo
    GET /v1/beneficiaries/ben_7731/purse-order HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "idBeneficiario": "ben_7731",
      "contas": [
        {
          "idCartao": "crd_88100214",
          "tipoProduto": "REFEICAO",
          "prioridade": 1,
          "availableBalance": 842.50,
          "saldoFuturo": 200.00,
          "multisaldo": true
        },
        {
          "idCartao": "crd_88100215",
          "tipoProduto": "ALIMENTACAO",
          "prioridade": 2,
          "availableBalance": 310.00,
          "saldoFuturo": 0,
          "multisaldo": true
        }
      ]
    }
  • Sync Pontomais time card

    POST /v1/attendance/punches/sync opendata

    Pushes the worker's Pontomais punches (entrada / saida) into the SuperApp after the standalone Pontomais client was discontinued.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • employeeId
    • synced
    • timeCards
    • date
    • entrada
    • saida
    • latitude
    • longitude
    POST /v1/attendance/punches/sync HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Content-Type: application/json
    
    {
      "employeeId": "emp_10482",
      "latitude": -23.5505,
      "longitude": -46.6333
    }
    {
      "employeeId": "emp_10482",
      "synced": true,
      "timeCards": [
        {
          "date": "2026-10-20",
          "entrada": "08:01",
          "saida": "17:32"
        }
      ]
    }
  • HCM payslips

    GET /v1/payroll/payslips openfinance

    Lists Pontomais HCM payslips (holerite) for the signed-in employee — competencia and net valorTransacao.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • employeeId
    • holerites
    • competencia
    • valorLiquido
    • valorTransacao
    GET /v1/payroll/payslips HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "employeeId": "emp_10482",
      "holerites": [
        {
          "competencia": "2026-09",
          "valorLiquido": 4120.55,
          "valorTransacao": 4120.55
        }
      ]
    }
  • Worker payroll-credit offers

    GET /v1/credit/payroll/offers openfinance

    Returns Crédito do Trabalhador offers for the signed-in CPF, including valorSolicitado and valorTransacao.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • cpf
    • ofertas
    • produto
    • valorSolicitado
    • valorTransacao
    • prazoMeses
    GET /v1/credit/payroll/offers HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "cpf": "12345678909",
      "ofertas": [
        {
          "produto": "CREDITO_TRABALHADOR",
          "valorSolicitado": 1500.00,
          "valorTransacao": 1915.92,
          "prazoMeses": 12
        }
      ]
    }
  • Apple Wallet token status

    GET /v1/cards/wallet-tokens/status openfinance

    Reads whether a PAT plastic is already provisioned into Apple Wallet before a reissue or freeze.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • idCartao
    • lastDigits
    • status
    • isVirtual
    GET /v1/cards/wallet-tokens/status HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Accept: application/json
    {
      "idCartao": "crd_88100214",
      "lastDigits": "4419",
      "status": "ACTIVE",
      "isVirtual": false
    }
  • QR card payment

    POST /v1/payments/qr openfinance

    Pays a partner QR with a positivado PAT card and returns transactionId plus valorTransacao.

    Auth: Bearer accessToken from the sign-in call, plus a gateway client_id header on every request.

    • idCartao
    • numeroCartao
    • valorTransacao
    • chavePix
    • transactionId
    • statusCartao
    • positivado
    POST /v1/payments/qr HTTP/1.1
    Authorization: Bearer <accessToken>
    client_id: <client-id>
    Content-Type: application/json
    
    {
      "idCartao": "crd_88100214",
      "numeroCartao": "650485******4419",
      "valorTransacao": 42.90,
      "chavePix": null
    }
    {
      "transactionId": "txn_9c41",
      "valorTransacao": 42.90,
      "statusCartao": "ATIVO",
      "positivado": true,
      "idCartao": "crd_88100214"
    }

Data categories

  • card balances
  • beneficiary profile
  • virtual cards
  • merchant network
  • time and attendance
  • payslips
  • payroll credit

Where teams use this data

  • PAT purse reconciliation

    Payroll desks pull numeroCartao, tipoProduto, availableBalance and saldoFuturo nightly, then match prioridade on the multisaldo row against the employer's PAT contribution file.

  • Acceptance-network coverage

    Expansion teams geosearch cnpj, nomeFantasia, latitude and longitude around office sites to see whether VR Refeição and VR Alimentação are accepted nearby.

  • Pontomais attendance ingest

    HR bots sync employeeId punches (entrada / saida) and holerite valorTransacao so time-and-attendance and payroll stay in one worker record after Pontomais moved into SuperApp VR.

  • Virtual-card and Apple Wallet audit

    Device-fleet tools read dadosCriptografados, chavePublica and Apple Wallet token status before a card reissue or freeze (statusCartao BLOQUEADO).

Frequently asked questions

Which SuperApp VR products show a card and saldo?

The physical-card list returns one plastic per tipoProduto — Refeição, Alimentação, Auxílio Home Office, Auto and Premiações — each with numeroCartao, lastDigits, statusCartao, availableBalance and saldoFuturo.

Does the app still expose Pontomais time clocks?

Yes. After the standalone Pontomais client was discontinued, punches sync under employeeId with entrada / saida, and holerite payslips arrive on the same worker session.

How do callers authenticate?

The worker signs in with CPF and password through a password grant. Later calls send the issued accessToken as a Bearer credential plus a gateway client_id header, and a refreshToken renews the session.

Can I list merchants that accept VR?

The accredited-network call returns cnpj, razaoSocial, nomeFantasia, latitude and longitude for establishments near a coordinate pair, which is what the in-app map renders.

Apps similar to SuperApp VR

  • Meu Alelo — Meu Alelo is Alelo's worker app for Brazilian PAT vale-alimentação and vale-refeição plus mobility and other benefit wallets, used to check balance and statements and run card self-service.
  • Pluxee Brasil — Pluxee Brasil is the cardholder app for Pluxee meal, food, culture, gift, fuel and Multibenefícios cards, with up to seven wallets on one plastic and PAT-aligned vale-alimentação and vale-refeição.
  • Ticket — Ticket is Edenred's Brazilian employee-benefits brand; its official app lets workers check balance, statements and the accredited network for Alimentação, Restaurante, Flex, Transporte and other Ticket cards.
  • Flash Benefícios — Flash is a Brazilian multi-benefit Visa card and worker app that centralizes PAT meal and food vouchers with mobility, health and other corporate-spend wallets on one card.
  • Caju — Caju is a Brazilian benefits-and-spend platform that puts CLT, PAT and flexible-benefit balances on one Visa-accepted card with a worker app for those purses.
  • iFood Benefícios — iFood Benefícios is a PAT-registered multi-balance card for meal, food, mobility, culture, health, education and home-office stipends that can be spent in the iFood app and at affiliated merchants.
  • Swile Brasil — Swile Brasil is a PAT- and CLT-aligned multi-benefit Mastercard that consolidates alimentação, refeição, health, mobility, home-office, education, fuel and award wallets on one card, with a worker app for those balances.

Topics

  • SuperApp VR API
  • VR Benefícios PAT
  • VR Refeição saldo
  • VR Alimentação extrato
  • SuperApp VR PIX
  • Pontomais SuperApp VR
  • VR cartão virtual
  • PAT meal voucher Brazil

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

Get a quote