Grant milestones
A funder locks each tranche up front. It pays out when enough of the named reviewers approve the milestone, and goes back to the funder if they never do.
Lock USDC behind a condition: a date, an approval, a verifier's sign-off, a schedule. The contract pays the moment it is met, on Arc, Base or Arbitrum, and returns the money if it never is. Nobody in between can touch it.
Each of these is a policy you create from your own wallet in one transaction. The rule is enforced by the contract, so neither side has to trust the other, or us.
A funder locks each tranche up front. It pays out when enough of the named reviewers approve the milestone, and goes back to the funder if they never do.
The buyer locks the invoice, so the supplier knows the money exists. It pays the moment delivery is confirmed, not thirty days later.
Name someone both sides trust to confirm the work: a reviewer, an inspection service, or an AI agent with its own wallet. Their signature releases the payment, and it can only ever go to the recipient.
Set an amount and an interval once. Every period is paid to the contributor, on Base or Arbitrum if that is where they are, with no gas needed. Stop any time; periods already owed are still paid.
Money promised for a date is paid on that date. Nobody can release it early, and nobody can hold it back.
Keep a working buffer and move everything above it to another wallet, on a schedule, without anyone having to remember.
You need a browser wallet and some USDC on Arc. USDC is also Arc's gas, so there is nothing else to hold.
From your own wallet, in one transaction: it approves exactly the amount and creates the policy together. You choose the recipient, where they are paid, and a deadline.
The policy waits in the vault until its rule holds. Until then, nothing moves.
When the rule holds, anyone can trigger the release and the contract pays the recipient itself: on Arc directly, or on Base or Arbitrum through Circle's CCTP, with no gas needed on their side. If it never holds, you take the money back after the deadline.
Money in a policy can only go to its recipient, or back to the wallet that funded it. There is no admin key, no upgrade, and no operator holding funds.
Every policy has a deadline. Before it, a met condition pays. After it, whatever was not paid goes back to the owner. A deadline can only be moved later, which only helps the recipient.
No account, no gas, no app. On Base or Arbitrum, Circle's Forwarding Service delivers the USDC to their address.
A 2-of-3 Safe can pause payouts for up to 7 days if something looks wrong. Every deadline moves out by the pause, owners can still take back unmet policies, and the Safe can never move anyone's money.
The first two policies on the mainnet vault: one paid on Arc, one paid on Base to a wallet holding no ETH. Every line links to the transaction.
Lock a few cents for yourself, behind a timelock a few minutes away, and watch the contract pay it back out.