Products

ExchangeMove your own moneyPayoutsPay many at oncePaymentsGet paid by customersClaimsLet people take their share

Company

DevelopersPricing

Resources

BlogReleases and decisions, datedLearnExplainers and comparisons
Open appSign in

Blog

How to pay 19 people on six networks and know who got paid

Cherum team · 5 min read ·

Fourteen people want USDC on Base and five want other networks. Pay all nineteen from two lists, with an answer ready when someone asks “did mine go out?”

Friday is payday. The spreadsheet has nineteen names on it, and the money sits in USDC on Base, inside a Safe that needs two signatures before anything leaves.

Fourteen of those people are easy. They want USDC on Base, which is exactly what you hold. The other five aren’t. One contributor only uses Arbitrum, and your designer asked for SOL. The translator sent a TON address. A developer has taken Bitcoin and nothing but Bitcoin for years, and someone else lives on Tron.

The fourteen fit in one batch, and the last five take the rest of the evening: a swap here, a bridge there, transaction links pasted into the sheet by hand. People want to be paid where the rest of their money already is, and your treasury lives on one network.

Then on Monday morning somebody messages you: “hey, did mine go out?”

With Cherum Payouts the sheet turns into two lists. Your co-owners sign one batch for the fourteen, and the five go on a second list where each of them is paid on their own network.

Your treasury Send · 14 people Your wallet Cross-network · 5 USDC on Base in a Safe USDC on Base co-owners sign · 0.10% total for the five, moved there first each on their network 1 signature · 0.30–0.90% one batch USDC
One treasury, two lists. The fourteen on Base go out as one batch the Safe co-owners sign. The five on other networks are paid from a regular wallet with a single signature.

Start from the spreadsheet you already have

Export the sheet as a CSV: address, amount and, if you like, a name on each row.

Each row is checked as you import it. A broken address or a missing amount gets flagged on its own row, with the reason in plain words. If the same wallet shows up twice, the lines merge with the amounts added together, and the import tells you so. The flagged rows download as one file, so you fix them in the spreadsheet and import again.

Before anything asks for a signature, every address is shown in full next to its amount. Address-poisoning scams count on people checking the first and last few characters and skipping the middle, so nothing on that screen gets shortened.

The fourteen on Base

They go out from the Send screen, all in USDC, and one batch holds all fourteen with room to spare. How many fit in a batch depends on the network and the token, anywhere from 60 to 900. Send splits longer lists into batches for you.

Say the fourteen add up to 42,000 USDC. At 0.10%, Cherum’s fee is 42 USDC, charged on top, so everyone receives exactly the amount on their row. You see the total, network gas included, before you sign.

The batch goes into your co-owners’ queue, since the treasury is a Safe. Until they sign, History shows “Awaiting signatures”.

Who got paid and who didn’t

While the Safe waits, the screen says the USDC leaves once the co-owners sign. When the run finishes, you get your list of people back, each under the name from your spreadsheet, and the top line says “14 of 14 delivered”.

Payout delivered 14 of 14 delivered Maria Tom Lena 4,200 USDC 2,800 USDC 3,500 USDC 42,000 USDC delivered. Delivered Delivered Delivered
The Send screen when the run is done, word for word from the app. The names and amounts are an example.

Nineteen people will never fill a batch, but a rewards list can. Say 1,200 wallets on Polygon get 25 USDC each. That’s 900 in the first batch and 300 in the second, and each batch pays everyone in it or nobody. If the second one fails, the top line reads 900 of 1,200 delivered. The 300 unpaid are listed first, under a one-line reason. Below them, a line says their 7,500 USDC did not move and is still in your wallet.

Press “Retry 300 not delivered”, or Retry on a single row, and only those go out again. You don’t rebuild the list. The 900 aren’t paid twice.

Batch 1 · 900 Batch 2 · 300 Retry · 300 delivered 22,500 USDC received failed 7,500 USDC did not move only these wallet 1 900 1,200 each batch pays everyone in it, or nobody
1,200 wallets on Polygon at 25 USDC each go out as two batches, 900 and 300. Each batch pays everyone in it or nobody, and the retry covers only the 300 who weren’t paid. The amounts are an example.

The five on other networks

The five go on a second list, and you build that one on the Swap screen, not in Send. Add each one as a recipient with their own network and token, then enter how much of the total each person gets. One signature covers up to twelve people this way.

Bitcoin, TON and Tron addresses go into that list like any other, and you still pay from your USDC. Each person receives on their own network. Pick TON for a row, and the address field checks whatever you paste against TON’s format.

Each transfer shows which bridge moves it and how much arrives. The expected time comes from our own records of real deliveries on that route, and if the bridge promises longer, we show the bridge’s number instead. On busy routes a typical delivery takes about half a minute. A cross-network transfer costs 0.30–0.90%, and the quote gives the exact figure before you sign.

What it doesn’t do

A Safe can’t sign the cross-network list, so the five people’s total moves to a regular wallet first. Your co-owners still sign that move out of the Safe, but the list itself goes out on one signature. One list also can’t mix your network with other networks, so there are two.

If the fourteen were your whole payroll, Safe’s own CSV Airdrop app would pay them too, free beyond gas. It can’t reach the other five.

Who signs what

Your Safe keeps its threshold and its co-owners. Money goes from your wallet through the contract to the recipients, and we hold no balance of yours.

With more than one person on the treasury, the dashboard can require a second approver above a threshold. You can also give people roles and cap what each of them can release. Whoever prepares a batch can’t also approve it.

A monthly list can become a schedule. On the day, it prepares the batch and emails you, and nothing moves until someone signs. If a scheduled run doesn’t go out on its day, it won’t run later by itself. You see it and decide.

Before your next payday

  1. Split the sheet: your treasury’s network, and everyone else.
  2. In Send, connect the Safe, press Import CSV with the first half and fix what’s flagged.
  3. Read the full addresses once. Yes, all fourteen.
  4. Press Review send, sign, and tell your co-owners the batch is in their queue.
  5. Move the five people’s total to a regular wallet and add them on the Swap screen with Add recipient.

If someone does ask on Monday, the answer is already on the screen.

Read next