For teams that pay contractors from a Safe multisig
Pay contractors from your Safe in one reviewed batch
Payclose prepares the monthly contractor payout up to the moment your Safe owners sign: who gets how much in USDC or USDT, what changed since last month, which new addresses were checked, and who approved.
Then it proposes the approved payout to your Safe as one transaction, and your owners confirm and execute it in Safe{Wallet} as usual.
Free during the beta. EVM networks, from a Safe or a regular wallet; TRON later.
Nothing about your Safe changes: same owners, same threshold, no module. Payclose never holds funds or keys; the money stays in the Safe until your owners execute the batch.
A month’s payout from a Safe, step by step
A payout is one run from one wallet on one network. From a Safe it goes through six steps, named here as the app names them.
-
Draft
Start from last month
Copy last month’s payout: recipients and amounts carry over, invoices start empty. Add who joined, remove who left, change a rate or add a bonus, or import your spreadsheet as a CSV.
As you edit, the draft is compared with last month’s: who was added or removed, whose amount, address or invoice changed.
-
Approval
Freeze it and get it approved
Sending it for approval freezes the lines as a version with a fingerprint. Approvers get an email with the totals, every changed address in full and the fingerprint, and approve with a passkey.
The sender can’t approve. How the rule works: approval workflow for stablecoin payouts.
-
Signing
One owner signs the batch
A Safe owner who is also an owner or editor in Payclose connects their wallet, checks the batch (transfers, total, Safe version and threshold, nonce, Safe transaction hash, fingerprint) and signs it. The server forwards the signature only if it matches the batch Payclose built from the approved version.
Sign only if the wallet shows this Safe as the verifying contract, the same nonce, and the MultiSend contract as one delegate call.
-
In the Safe queue
The other owners confirm in Safe{Wallet}
Payclose proposes the transaction to the Safe Transaction Service with the fingerprint attached. The other owners confirm it in Safe{Wallet} until the threshold is reached, and one of them executes it.
Before confirming, compare the Safe transaction hash in the queue with the one Payclose shows.
-
Executed
Payclose sees the execution
Payclose learns about the execution from the Safe Transaction Service and waits until it’s final. If it reverts, nothing is paid and it stays in the queue: top up the Safe and execute it again.
-
Reconciled
Every line checked on-chain
Each transfer from the Safe is matched to an approved line: its token, its address, its exact amount. The payout reads “Reconciled, every line paid”, or the differences are listed and the owners get an email.
The reconciliation CSV gives your accountant one row per line.
The signing step shows what an owner should compare with their wallet before signing. Every button is in the guide to paying from a Safe.
Transaction Builder, CSV Airdrop or a Payclose proposal
Safe{Wallet} can already put many transfers into one transaction, with its Transaction Builder or the CSV Airdrop app. The difference is what happens before the batch exists.
| Compared | Transaction Builder | CSV Airdrop | Payclose |
|---|---|---|---|
| How the batch is made | Each transfer added as a call to the token contract, or a saved JSON batch imported | A CSV of token, recipient and amount, uploaded | Built from the approved payout: one transfer per line, nothing else |
| Compared with last month | No | No | Every line: added, removed, changed amount or address, missing invoice, unusual amount |
| A new payout address | As typed or pasted | As it is in the file | Checked for look-alikes, approved by someone else, paid only after 24 hours |
| Who approved what | The owners’ confirmations | The owners’ confirmations | Passkey approvals of the exact lines, then the owners’ confirmations |
| After it’s executed | The Safe’s history | The Safe’s history | Each line matched on-chain, a reconciliation CSV, a proof file |
Owners who prefer Safe{Wallet} can still use CSV Airdrop: Payclose exports the approved payout in its format and checks every line once you paste the transaction hash. Not using Payclose yet? The free Safe CSV Airdrop file builder makes the file from a payout sheet.
Anyone you give a payout’s proof file to can check it at payclose.app/verify, without an account.
Where a spreadsheet-and-CSV payout goes wrong
A Safe makes sure no single person moves the money. It doesn’t check what goes into the batch.
-
Spreadsheet drift
The old way:
Payouts Sept (copy of Aug) FINAL v2.xlsxEach month starts as a copy of the last. A rate agreed in a chat never reaches the sheet, or the CSV for the Safe comes from the wrong copy.
In PaycloseOne list carries over, owners see every edit in the Activity log, and the payout shows what changed since last month before anyone approves it.
-
Changed addresses
The old way:
“new wallet, please use this one: 0x4be0…07fd”The address goes from a chat into the file. If the sender’s account was taken over, or someone copied a look-alike from the Safe’s history, the batch pays it, for good.
In PaycloseA new address is checked for look-alikes of every address you’ve had, approved by someone other than the person who entered it, and held for 24 hours. Or the contractor confirms it with a signature from that wallet.
-
Missing invoices
The old way:
“invoice coming next week”Nobody notices until the accountant asks for it, after the money has gone.
In PaycloseThe line is flagged No invoice, and the sender ticks off the warnings before the payout can go for approval.
-
Approval gaps
The old way:
“bonus for Arjun ok?” “ok”In the Safe{Wallet} queue a payout is a MultiSend of token transfers. Confirming it shows that an owner signed, not that anyone compared it with last month.
In PaycloseApprovers see the changes by name and approve the exact version with a passkey before the batch exists.
What you need
The Safe you already pay from, and one owner who can sign in Payclose.
- A Safe of version 1.3, 1.4 or 1.5, deployed on the payout’s network.
- A Safe owner who is also an owner or editor in Payclose, with that account in a browser wallet such as MetaMask or Rabby.
- Enough USDC or USDT in the Safe, and ETH for the network fee in the wallet of whoever executes.
| Network | Tokens | Pays from |
|---|---|---|
| Ethereum | USDT and USDC | A Safe or a regular wallet |
| Base | USDC | A Safe or a regular wallet |
| Arbitrum One | USDC, USDC.e and USDT | A Safe or a regular wallet |
- Test networks: Sepolia, Base Sepolia and Arbitrum Sepolia, with test USDC. A Safe can be tried on Sepolia or Base Sepolia; Safe{Wallet} doesn’t serve Arbitrum Sepolia.
- TRON payouts come later.
What Payclose doesn’t do
If you were looking for Safe multisig payroll: Payclose runs the payout, not the payroll.
- Hold funds or keysIt isn’t a wallet and has no key that can sign a transfer: your own Safe or wallet signs every payout.
- Ask for token allowancesNo token approvals and no contract of its own: every transfer goes from your wallet straight to the contractor.
- Exchange or convert cryptoNo exchange, conversion or bridging: you pay from the stablecoins you already hold.
- Payroll, taxes or employmentIt isn’t an employer of record or a payroll provider: no tax calculation or filing, employment contracts or legal advice.
How signing, approvals, sign-in and your data are protected: Payclose security.
Questions
Does Payclose become an owner or a module of our Safe?
No. The Safe keeps its owners and threshold, and there’s no module or guard to install. Payclose sends the Safe Transaction Service a transaction one of your owners signed; the rest happens in Safe{Wallet}.
We pay on Base and on Arbitrum. Is that one transaction?
One per network. A payout is paid from one wallet on one network, and your Safe on Base and on Arbitrum are two wallets in Payclose. So you run two payouts, such as 2026-09 Base and 2026-09 Arbitrum, each with its own review, approvals and Safe transaction.
Can our owners keep building batches in Safe{Wallet}?
Yes. Download the approved payout as a CSV Airdrop file, execute the batch in Safe{Wallet}, and paste the transaction hash into Payclose. It takes the hash only if the transaction executed one of this Safe’s transactions, and checks every line against the approved payout.
What if the owners reject the batch?
If another transaction takes the batch’s nonce, for example a rejection in Safe{Wallet}, Payclose marks the batch as failed and the payout goes back to Signing, where an owner signs a new one. Nothing was paid.
Read next
-
Signing, the Safe{Wallet} queue, the CSV Airdrop file and recording a payment made outside Payclose.
-
Who can approve, why the sender never counts, and what an approval signs.
-
Turn a payout sheet into a CSV Airdrop file for your Safe.
-
Check this month’s addresses for look-alikes and wrong networks before you build the batch.
-
Networks, native USDC and USDC.e, and what to agree with each contractor.