Payroll, but on stablecoin rails
Convoy lets an employer pay their whole team in USDC in one on-chain batch — no bank rails, no ETH, no waiting. Gas is USDC. Every payment leaves an immutable on-chain paystub, and employees can bridge their salary to any chain through Circle CCTP.
One transaction, an entire payroll run
Convoy is a batch-payout primitive for teams paid in USDC. An employer approves a single allowance and calls createBatch — the contract splits the total across every recipient, takes a configurable platform fee, and writes a paystub for each payment. No loops on the client, no one-by-one sends.
- • Direct-payout mode — funds land in each wallet immediately
- • One platform fee, transparent and owner-settable
- • Every payment independently verifiable on-chain
Built for stablecoin-native payments
No ETH anywhere. The same stablecoin you pay with is the gas token — one asset for the whole flow.
USDC/EURC are protocol-level primitives with a built-in ERC-20 interface (0x3600…0000). No wrapper contracts.
Circle’s cross-chain stack is the bridge path — employees can withdraw to other chains through it.
Transactions finalize on inclusion, so an employer can act after a single confirmation.
Everything a payroll run needs
Pay 1 or 1,000 employees in a single transaction — one approve + one createBatch, direct to each wallet.
Drop a name,address,amount,note CSV. It is parsed and validated on the server before a single cent moves.
Every payment is recorded in PaystubRegistry — employee, amount, batch id and the block it landed in.
A feeBps is taken on top of each batch, owner-adjustable from the admin page and capped at 100%.
Employees request a withdrawal to Base / Arbitrum / Solana via a CCTP intent (mocked until CCTP is wired).
Ownable + Pausable + ReentrancyGuard + SafeERC20, with length / zero-address / amount validation on every batch.
Four steps, end to end
Employer drops a payroll CSV and reviews the parsed rows, total and fee.
One approve, then createBatch pays everyone in USDC in a single transaction.
PaystubRegistry writes an immutable record for every employee payment.
Employees view their records and request a cross-chain withdrawal via CCTP.
Contracts, app, scripts
Ready to run a payroll?
Connect a wallet, drop a CSV, and pay your team in one USDC batch.
Start now →