Skip to content
Ledgerline
CompareArc mainnet
Open app

Batched stablecoin payouts on Arc

A payment that carries its own invoice

Pay a list of invoices in one transaction. Each payment records which invoice it settles, on chain, so you and the people you pay can each check it without a shared spreadsheet — or trusting us.

Create a payout runOpen your dashboard

Pays inUSDCEURCcirBTC

!This is Arc mainnet: a run moves real money. Try it on testnet first.

Payment adviceExample

Invoice# INV-US-001

To0xe48A…732a

0.10USDC

Six checks against the chain✓

Verified

What a recipient sees

Watch a run

Arc testnet
Three invoices uploaded, checked against the chain, paid in one transaction, and the first recipient's receipt verified, in this app on 28 Sep 2026. Recorded on Arc testnet. The same flow, measured on mainnet, is under Proof below. Open that receipt · the transaction ↗

How a run works

3 steps · one transaction
  1. 1 · Upload

    Upload a list of invoices

    A CSV with one line per payment: invoice, token, recipient, amount. Download a sample to start from. It stays in your browser.

  2. 2 · Check, then pay

    Check it, then pay in one transaction

    Every payment is tried against the chain before you pay, so a short balance or a transfer the token would refuse shows up before any money moves. Then one transaction pays every line.

  3. 3 · Send receipts

    Send each recipient their receipt link

    The link shows what was paid and which invoice it settles, checked against the chain in their own browser. They need no account and nothing from us.

You need a browser wallet (MetaMask or Rabby) and USDC on Arc for the network fee. Try it on testnet first.

Proof · Arc mainnet

block # 22,453,870 · 2026-09-24
Tokens, one transaction
3◇
0.10 USDC · 0.10 EURC · 0.00001 cirBTC, each carrying its invoice.
Checks on every receipt
6✓
Run in the recipient's own browser, against the chain. No account, and nothing from us.
USDC in fees, all three
0.0056
266,370 gas at 21 Gwei, measured on the run itself.

The same payment, the ordinary way

The same day, 0.10 USDC went to the same recipient through the standard Multicall3 batch, as a control. Both are on Arc mainnet.

MeasuredLedgerlineStandard batch
Payments carrying their invoice3 of 30 of 1
Transactions the payer signs12 — an approval, then the batch
Spending allowance handed to a contractNone0.10 USDC
Sender the recipient seesNo difference here.The payerThe payer
Gas per payment88,790114,193
Payments carrying their invoice
Ledgerline3 of 3
Standard batch0 of 1
Transactions the payer signs
Ledgerline1
Standard batch2 — an approval, then the batch
Spending allowance handed to a contract
LedgerlineNone
Standard batch0.10 USDC
Sender the recipient sees
LedgerlineThe payer
Standard batchThe payer
No difference here.
Gas per payment
Ledgerline88,790
Standard batch114,193

The control on the explorer: approval ↗ · batch ↗

# 0xaf3e6194…e738e4c0 ✱View on explorer ↗Open the run hereOpen a receiptCheck the comparison live
LedgerlineArc mainnet · chain 5042

Check it without us

npx arc-reconcile <tx>

Rebuilds any run's table from the chain alone. Receipts do the same in the recipient's own browser.

Read more

  • How this differs from an ordinary batch
  • Source code
  • The recorded-lists contract ↗
# Recorded lists 0xd483…0890Never holds funds · no admin · no upgrades

✱ ✱ ✱