Skip to content

How to collect payments in Argentina with Transfers 3.0

How a business outside Argentina collects pesos at checkout over Transfers 3.0: CUIT or CUIL, the CBU or CVU to show, timing, and settling in USD.

To collect pesos at checkout from a business outside Argentina, show the shopper a local account and an exact amount, and let them pay it over Transfers 3.0 from their bank or wallet app. Argentina's central bank says these transfers credit in up to 15 seconds. With BlindPay, the pesos convert on arrival and the merchant receives the dollar price in stablecoins.

This guide is part of the series on what a global payments checkout is. For the full screen design across rails, read bank transfer checkout UX.

Key takeaways

  • Transfers 3.0 is a BCRA framework: immediate transfers between CBU and CVU accounts, credited in a maximum of 15 seconds, 24 hours a day.
  • A BlindPay transfers payin requires the shopper's CUIT or CUIL in payer_rules.transfers_allowed_tax_id.
  • The shopper pays a CBU, CVU, or alias returned in tracking_transaction.transfers_instruction, in whole pesos.
  • A payin quote locks the ARS rate and fees for 5 minutes, so peso swings stay outside the checkout.
  • Late money is not lost: a failed transfers payin revives and completes when the tax ID and amount match.

What is Transfers 3.0?

Transfers 3.0 is the Central Bank of the Argentine Republic's program for immediate, interoperable transfers. The BCRA describes online crediting in a maximum of 15 seconds between two accounts, every day, 24 hours.

Three parts matter for a checkout:

  • CBU and CVU. A CBU identifies a bank account. A CVU identifies an account at a payment service provider, the wallet apps many Argentines use daily. Transfers 3.0 works across both.
  • Interoperable QR. No matter the brand of the QR code, a shopper can pay with any wallet. The rail stopped belonging to one app.
  • Irrevocable credit. The BCRA says merchants receive the credit automatically and the payments are irrevocable. There is no card-style chargeback to plan around.

For a foreign merchant, that adds up to a bank transfer that behaves like an instant payment. The shopper never types a card number.

How does a Transfers 3.0 checkout work from start to finish?

The shopper picks Argentina, enters a tax ID, sees a peso amount, and pays a local account from their own app. Your backend does four API calls around that.

  1. The shopper chooses Argentina. Your country picker shows "Bank transfer" with a short hint, such as "Pay from any Argentine bank or wallet app."
  2. The checkout collects payer details. Name, email, and CUIT or CUIL. Validate the format (for example 20-12345678-6) in the browser.
  3. Your backend creates a payin quote. payment_method: "transfers", currency_type: "receiver", cover_fees: true, the USD price as request_amount, and payer_rules.transfers_allowed_tax_id.
  4. The page shows the price. The quote's sender_amount is what the shopper pays in pesos, fees and exchange included, with a countdown to expires_at.
  5. The shopper confirms. Your backend creates the payin with POST /v1/instances/{instance_id}/payins/evm and an Idempotency-Key. The same endpoint serves every rail; the path name is historical.
  6. The page shows instructions. The account from tracking_transaction.transfers_instruction.account, its type (CBU, CVU, or alias), and the exact ARS amount.
  7. The shopper pays. They send the transfer from their app.
  8. BlindPay detects the deposit. It converts the pesos and delivers stablecoins to the merchant's wallet, then fires payin.complete.

Confirm the order from the payin's status, not from the webhook name. payin.complete fires when the payin finishes, and completed is the only status that means the merchant got paid.

What does the shopper need, and why does BlindPay ask for a tax ID?

The shopper needs an Argentine bank or wallet account and their CUIT or CUIL. BlindPay requires the tax ID on the quote so it can match the incoming transfer to the right payin and screen the payer.

FieldWhere it goesWhy it matters
CUIT or CUILpayer_rules.transfers_allowed_tax_id on the payin quoteBlindPay matches the deposit to this tax ID, and a late payment revives only on a match
Shopper name and emailYour checkout sessionReceipts, support, and your own records
Peso amountsender_amount on the quoteMust be sent exactly; ARS settles in whole units
Accounttracking_transaction.transfers_instruction.account and .typeThe CBU, CVU, or alias the shopper pays

A CUIT identifies a taxpayer, usually a business or a self-employed person. A CUIL identifies a worker. Either works in the payer rule.

Ask for the tax ID before the price, not after. If the shopper pays from an account under a different tax ID, the transfer will not match the payin.

How do you handle peso volatility at checkout?

Price in dollars, quote in pesos, and let the quote absorb the timing. The live quote guide for volatile currencies covers the mechanics in depth.

The ARS rate can move between the moment a shopper opens your page and the moment they pay. A BlindPay payin quote locks the rate and fees for 5 minutes. That gives you two clean rules:

  • The shopper pays the quoted pesos. Show sender_amount large, with "Includes fees and exchange" under it.
  • The merchant receives the dollar price. With currency_type: "receiver" and cover_fees: true, receiver_amount equals the USD price.

If the countdown runs out before the shopper confirms, request a new quote on the next click and show the new amount without an error message. Once the payin exists, the rate is set.

Two more details. ARS settles in whole units, so a sender-denominated request_amount must be a multiple of 100 minor units, and computed sender amounts round down to a whole peso. And the quote enforces a minimum and maximum per currency, so read the error if an order is too small or too large and offer another rail. Pricing in local currency explains when to show, charge, and settle in which currency.

How fast is settlement, and what if the transfer arrives late?

The rail is fast. Most delays come from the shopper switching apps or getting distracted.

On production, a transfers payin typically arrives within minutes, and BlindPay's cut-off reference lists Transfers payin arrival at up to 10 minutes. BlindPay waits up to 30 minutes before it marks the payin failed.

Late money has a safety net. If the funding for a transfers payin arrives after it was marked failed, and no stablecoins were sent yet, BlindPay revives the payin back to processing and completes it once it matches the sender's tax ID and amount. Your checkout should listen for that: a session you marked failed can still turn into a paid one.

Two status values need their own screen. on_hold means manual risk or compliance review, so show "Your payment is being reviewed" and keep the order open. refunded means the deposit went back to the sender. Why on-ramp deposits fail lists the usual causes, such as a wrong amount or a missing reference.

How does BlindPay fit into an Argentina checkout?

BlindPay is the money layer: it holds the local account, matches the transfer, converts pesos, and settles the merchant in dollars. You build the checkout page and sessions on the API.

Each merchant is a BlindPay business customer that accepts terms of service and passes KYB. Its money lands in a BlindPay-managed wallet or an external wallet it controls, as USDC or USDT. BlindPay-managed wallets are custodial; payouts from a wallet you control are non-custodial.

From there the merchant can withdraw. A payout quote locks the rate and fees for 5 minutes, then BlindPay delivers over ACH, wire, RTP, or SWIFT (POBO/COBO) with UETR tracking and MT103 confirmations, or back to Argentina over Transfers 3.0 if the merchant has peso costs.

Pricing follows the BlindPay model: a monthly plan plus per-transaction fees that vary by rail and network, disclosed only in the live quote before execute. A platform can add its own margin with a partner fee on each payin quote.

On a development instance, every payin completes about 30 seconds after creation, so you can build the whole Argentina flow before you see a real peso.

Who this is for: online sellers, marketplaces, and SaaS companies outside Argentina that want Argentine shoppers to pay from the apps they already use.

Methodology and sources

Rail facts come from the BCRA's Transfers 3.0 page. Checkout behavior benchmarks come from Baymard's cart abandonment research, where 9% of US shoppers left a checkout because there were not enough payment methods, and Stripe's localization guide, which recommends local language and suppressing irrelevant methods. BlindPay facts come from the payins, payin quotes, and cut-off times docs, as of October 2026. For the payout side of the corridor, see USDC to ARS routes in 2026.

What to do next

Add Argentina to your country picker with one field for CUIT or CUIL. Then open a BlindPay development instance, create a transfers payin quote with a test tax ID, and run the payin quickstart until your instructions screen shows the account and the exact peso amount.

FAQ

One API.
Multiple payment rails.

Blind Pay, Inc. (“BlindPay”) is a United States-based financial technology and payments infrastructure company, incorporated in the State of Delaware on May 2, 2024. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000277566153. BlindPay is not a state-licensed money transmitter and does not, in its own capacity, engage in regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial institution partners. BlindPay's role is limited to providing financial technology, virtual account management, payment processing, and related payments infrastructure services that facilitate payment flows and account functionalities. These services are provided in coordination with its licensed partners and in compliance with applicable federal MSB requirements and relevant state regulatory frameworks.

Blind Pay, LLC (“BlindPay”) is a Delaware limited liability company formed on June 24, 2025. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000318334247 and is listed in the Nationwide Multistate Licensing System (“NMLS”) under NMLS ID #2745309.

BLIND PAY SOCIEDADE PRESTADORA DE SERVIÇOS DE ATIVOS VIRTUAIS LTDA. (“BlindPay”) is a Virtual Asset Service Provider (“VASP”) operating in Brazil. The company is presently completing the regulatory adaptation process required of Virtual Asset Service Provider Companies (SPSAV) under Central Bank of Brazil Resolution No. 520/2025, and remains subject to the transitional regime set forth in Article 88 of that Resolution. Registered address: Avenida Princesa Isabel, nº 15, Sala 1405, Edifício Martinho de Freitas, Centro, Vitória/ES, 29010-361.

BlindPay is a stablecoin API that enables individuals and businesses to move money worldwide.