Built on Base

Automate payouts to thousands of wallets as safely as one

Import a list, catch every mistake, and pay in one approved batch, every payment confirmed on-chain, not just "sent and hoped."

No signup form. Connect a wallet and you're in.

Sprint 14 rewards
842 recipients · USDC on Base
Executing
612 of 842 confirmedUpdated 4s ago
RecipientAmountStatus
0x8f2a…c91d250.00 USDCConfirmed
0x3b9e…04af250.00 USDCConfirmed
0x71c4…aa02180.50 USDCPending
0x5d10…7e3b180.50 USDCQueued

Paying 500 wallets by hand doesn't scale

Every manual payout round carries the same three risks.

Spreadsheets don't catch mistakes

A typo'd wallet address or a duplicate row means money sent to the wrong place, with no way to undo it.

"Did it actually send?" is a real question

A submitted transaction isn't a paid one. Without reconciliation you're guessing who actually got funds.

One signature, everyone trusts

Handing a private key to a script means trusting it with your whole treasury, forever, not just for one payout.

Five steps, every time

The same reviewable process whether you're paying 5 wallets or 5,000.

01

Import

Upload a CSV/Excel file or paste a list. We map wallet, amount and name automatically.

02

Validate

Bad addresses, duplicates and missing amounts are flagged before anything moves.

03

Approve

Sign one scoped permission in your wallet, capped to this exact batch, nothing more.

04

Execute

Payouts run in on-chain batches, with live status per recipient.

05

Reconcile

Every payment is checked on-chain. Paid means paid, confirmed, not just sent.

Built for any payout round

Fixed prize payouts

Hackathon winners, giveaway rewards, bounty payments, enter amounts once, pay everyone at once.

Rule-based rewards

Pay by tier, by contribution score, or by a custom formula. Define the rule once, reuse it every round.

Any organization's treasury ops

Team incentives, contributor payments, fund distributions, club or community rewards — if you can export a list, you can pay it. Same workflow, every workspace is private to you.

Non-custodial by design

We coordinate the payout. Your wallet controls the funds.

Your keys never leave your wallet

We never hold a private key. Every approval is a signature from your own wallet.

Scoped, one-time permissions

Each approval is capped to one batch, one token, one total amount, not standing access to your funds.

On-chain reconciliation

Status comes from the chain, not from a database guess. You always know what actually landed.

Your next payout round, done right

Connect a wallet and import your first recipient list in under a minute.

Open dashboard