Skip to content

Solutions · Payroll & global workforce

Pay your workforce locally, where the route is supported.

Send eligible employee or contractor payments through local bank and wallet destinations, and follow their status.

  • Argentina’s payroll rail
  • Wallet payouts
  • Double-signature approvals
Countries with local bank payouts
14
Countries with wallet payouts
9
Pay many people with one file in the Business Portal
Batch upload
A second user approves before money moves
Double-signature approval

Who it’s for

One payout stack for every kind of worker

  • Employees

    Run local payroll into employees’ bank accounts, including over Argentina’s dedicated payroll rail.

  • Contractors

    Pay independent contractors in local currency on your schedule, with a proof of payment for their records.

  • Freelancers & creators

    Send earnings straight to the wallets where people already manage their money.

  • HR & EOR platforms

    Embed local payouts in your product and pay your clients’ workers through one API, subject to our compliance review.

Argentina

Pay salaries in Argentina through COELSA, in real time.

In Argentina, salaries can go out as COELSA bank transfers in real time, 24/7. For payroll runs, the Sistema Nacional de Pago de Haberes, the local rail built for payroll, is also available.

  • Payroll rail: settles T+2, with a 13:00 local cut-off
  • COELSA bank transfers: real-time, 24/7
  • Transfers to CVU wallets through the same bank-transfer flow
  • CUIL, CUIT and DNI document types

Wallets

Reach people who live in their wallet

Pay directly into Yape in Bolivia, SINPE Móvil in Costa Rica and CCE wallets in Peru, or send a bank transfer that lands in a wallet in Argentina, Bolivia, Brazil, Chile, Colombia, El Salvador and Mexico.

  • Direct wallet payouts: Yape, SINPE Móvil, CCE wallet
  • Wallet payouts in 9 countries, by bank transfer to wallet in seven of them
  • Alias verification before you send, where available

Total balance

USD 4,971,203.18

▲ 8.3%
  • USDUS Dollar1,284,560.00+4.2%
  • BRLBrazilian Real3,420,118.40+12.8%
  • MXNMexican Peso8,905,332.10+6.1%
  • COPColombian Peso912,450,000+3.4%
  • ARSArgentine Peso248,901,220.55+9.7%

How it works

Run a payroll batch in four steps

  1. 01

    Fund your balance

    Top up with a wire, or with USDC or USDT on Ethereum or Tron, credited automatically after confirmation.

  2. 02

    Upload the batch

    Upload the file in the Business Portal, or send each payout through the API with your own externalId.

  3. 03

    Approve

    With double-signature approvals on, a second approver releases the batch before any money moves.

  4. 04

    Track and prove

    Follow each payout from Received to Completed, get a webhook for every status and download the proof of payment.

Controls

The controls your finance team will ask for

  • Double-signature approvals

    When enabled, a second approver releases each payout or batch, in the Business Portal or through the API authorization step.

  • Account validation

    Validate bank accounts and verify payout aliases before sending, to reduce returns.

  • Low-balance alerts

    Get notified before a payroll run fails for lack of funds.

  • Returns and recalls

    Clear statuses and flows when a transfer is returned or needs to be recalled.

  • Proof of payment

    A downloadable proof for every completed payout.

  • Secure by default

    MFA, role-based access, IP allow-listing and HMAC-signed webhooks.

For developers

Send a payout with one call

The same Create Payout endpoint covers every country and rail: change the payment method code, country and currency, and keep the rest of your integration.

  • Duplicate protection with your own externalId (HTTP 409)
  • Optional authorization step for double signature
  • Sandbox scenarios to test payout statuses before going live
# Example request — see docs.localpayment.com for the exact contract
curl -X POST https://api.stage.localpayment.com/api/payout/ \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": "payroll-2026-10-000118",
    "paymentMethod": { "type": "BankTransfer", "code": "0011", "flow": "DIRECT" },
    "country": "ARG",
    "currency": "ARS",
    "amount": 1250000.00,
    "accountNumber": "<your-account-number>",
    "conceptCode": "<purpose-code>",
    "beneficiary": {
      "type": "INDIVIDUAL",
      "name": "Lucía",
      "lastname": "Fernández",
      "document": { "type": "CUIL", "id": "20-00000000-0" },
      "bankAccount": { "type": "CBU", "number": "0000000000000000000000" }
    }
  }'

The challenge in Latin America

Paying a distributed team in Latin America

What gets in the way

  • Workers are paid into wallets as often as banksA growing share of workers keep their money in digital wallets or neobank accounts. An international wire cannot reach them, and a card payout is the wrong tool for a salary.
  • Payroll is funded in USD, paid in seven currenciesTreasury holds dollars; workers expect pesos, reais or soles on payday. Converting per country, at a rate you only learn after the fact, breaks the payroll budget.
  • Payday is a fixed date; rails have cut-offsArgentina’s payroll transfer settles T+2 with a 13:00 cut-off; other rails are same-day with their own windows. Miss one and the whole country is paid late.
  • Beneficiary data and compliance checksEach worker needs a tax ID, a valid account identifier and screening against sanctions lists. One wrong digit means a return and a worker without pay.

How Localpayment addresses it

  • Bank and wallet payouts over local railsPay to any bank account, and to wallets directly (Yape in Bolivia, SINPE Móvil in Costa Rica, CCE wallets in Peru) or by transfer to the wallet’s CVU, CLABE or Pix key. The worker receives local currency in their own app.
  • One balance, FX locked before you payFund one Localpayment balance by wire or with USDC/USDT, convert within local market hours and lock the rate with a quote token, so the net pay you promised is the net pay that lands.
  • Real-time rails plus published cut-offsCOELSA, Pix, SPEI, Bre-B key, TEF and CCE confirm in seconds, 24/7. Where a rail has a cut-off, it is documented per method so you can schedule the batch early and track every status by webhook.
  • Validation, approvals and an audit trailBeneficiary documents and account identifiers are validated, aliases are verified where the rail supports it, and double-signature approvals, roles and proof of payment give auditors the trail they need.

Recommended method mix

How to pay workers, country by country

Pay-in is how you fund the balance; the payout rail is what reaches each worker. Real-time rails are listed first.

  • Brazil

    Pay-in methods
    Pix-key virtual account · Pix (QR and Copia e Cola)
    Payout rails
    Pix 24/7 · TED (17:00 cut-off) · wallets by transfer
  • Mexico

    Pay-in methods
    CLABE virtual account (SPEI) · SPID USD account
    Payout rails
    SPEI 24/7 · wallets by transfer
  • Colombia

    Pay-in methods
    Bre-B-key virtual account · PSE · Bre-B
    Payout rails
    Bre-B key 24/7 · TransfiYa · ACH (15:00 cut-off) · wallets by transfer
  • Argentina

    Pay-in methods
    CVU virtual account · Debin
    Payout rails
    COELSA transfers 24/7 · Payroll transfer (T+2, 13:00 cut-off) · wallets by CVU
  • Chile

    Pay-in methods
    TEF virtual account · ETPAY
    Payout rails
    TEF 24/7 up to CLP 7,000,000 · same-day above · wallets by transfer
  • Peru

    Pay-in methods
    CCI virtual account (PEN and USD)
    Payout rails
    CCE real-time up to PEN 30,000 · LBTR above · CCE wallets direct
  • Costa Rica

    Pay-in methods
    SINPE IBAN virtual account (CRC and USD)
    Payout rails
    SINPE Móvil direct 24/7 · SINPE bank transfer

Only methods documented in our API are listed. Limits, speeds and cut-off times per method are on each country page.

Money flow

From a USD treasury to a worker’s local account

Fund once, convert with a locked rate, pay a whole country in one batch and reconcile every line by webhook.

  1. 1

    Your treasuryLocalpayment:

    Fund the balance

    Wire In from your bank, or USDC/USDT on Ethereum or Tron, credited about 2–10 minutes after confirmation.

  2. 2

    LocalpaymentLocalpayment:

    USD → local currency

    Request a quote and lock the rate with its token; convert within local market hours for each payroll currency.

  3. 3

    Your payroll platformLocalpayment:

    Submit the batch

    One POST /api/payout/ per worker with your own externalId, or a file upload in the Business Portal. Duplicates are rejected.

  4. 4

    Your payroll platformLocalpayment:

    Second signature

    A different user approves the batch under double signature. Roles decide who prepares and who releases.

  5. 5

    LocalpaymentWorker:

    Local rail pays out

    COELSA or payroll transfer, Pix, SPEI, Bre-B key, TEF, CCE, SINPE Móvil: local currency into the worker’s bank or wallet.

  6. 6

    LocalpaymentYour payroll platform:

    Signed webhook

    Each status change arrives signed with HMAC-SHA256, from Received to Completed, with proof of payment to download.

  7. 7

    WorkerLocalpayment:

    Return or recall

    A closed account or wrong identifier comes back as a return that credits your balance; fix the data and resend.

Argentina’s payroll transfer settles T+2 with a 13:00 local cut-off. FX conversion happens within local market hours; the rate is locked with a quote token. Localpayment moves the money; payroll calculation and employment compliance stay with you or your payroll provider.

Market figures

Where your workers already bank

Public figures from official and industry sources. Each one links to its source.

Industry FAQ

Can I pay employees and contractors from the same account?

Yes. Payroll, contractor fees and supplier payments all leave from your Localpayment balance, and you tell them apart with your own IDs and purpose codes.

What is Argentina’s payroll rail?

The Sistema Nacional de Pago de Haberes is the local rail designed for salary payments in Argentina. Payouts over it settle T+2, with a 13:00 local cut-off. For same-day or weekend payments, COELSA transfers confirm in seconds, 24/7.

Which wallets can I pay out to?

Directly to Yape in Bolivia, SINPE Móvil in Costa Rica and CCE wallets in Peru, and by bank transfer to wallets in Argentina, Bolivia, Brazil, Chile, Colombia, El Salvador and Mexico.

How do I fund payroll?

By wire into your Localpayment account, or with USDC or USDT on Ethereum or Tron, credited automatically after confirmation. Convert to each local currency within local market hours and lock the rate with a quote token. Paying from USD accounts in several countries? With auto-sweeping, one USD Global account funds all of them and a daily sweep at 00:00 UTC settles each country.

Can I send a whole country’s payroll as one batch?

Yes. Upload a file in the Business Portal or send one POST /api/payout/ per worker with your own externalId. A second user approves the batch under double signature, and a request repeated with the same externalId is rejected instead of paid twice.

How do I know a payout arrived?

Every payout moves through clear statuses, from Received to Completed. You get an HMAC-SHA256-signed webhook for each change and can download the proof of payment.

What happens if an account is closed or the identifier is wrong?

The payout comes back as a return with its own status and the funds are credited to your balance. Correct the beneficiary data and resend; the worker is paid over the same local rail.

Do you calculate payroll or handle employment compliance?

No. Localpayment moves the money. Payroll calculations, withholdings and employment obligations stay with you or your payroll provider.

Pay your team locally across Latin America

Tell us where your people are and how you pay them today. We will map the rails, wallets and approvals that fit.

How can we help?

Download your copy

Leave your details and get the full edition instantly.