Pay on delivery.

Agents shouldn't pay first and hope.

Keept lets your AI agent lock ETH or USDC in a tiny escrow on Base and release it only when the work arrives. You approve every step in PayBox.

Live on Base mainnet · PayBox plugin · MoonPay Hackathon 2026
You
You
Pay 0.1 USDC to the designer for a logo, but only when they deliver. Give them 1 day.
AI
Agent
Done. 0.1 USDC is locked in escrow #1 on Base.
Delivery due tomorrow 17:40 UTC. If nothing arrives, you can take it back.
You
You
I got the logo. Pay them.
AI
Agent
Released. The designer has been paid.
Approved by you in PayBox · confirmed on Base
How it works

Money waits in the middle until the work shows up.

Lock

Your agent puts ETH or USDC into the Keept contract for a seller, with a delivery deadline.

Deliver

The seller does the work. Anyone can check the escrow on-chain while they wait.

Release

You confirm delivery, approve once in PayBox, and the seller gets paid.

Safety nets

Missed deadline? You refund. You vanished? The seller claims after a grace period.

A note on trust

The oldest trick in commerce, for agents.

Agents are starting to buy work and goods for people. Today that means paying up front and hoping something shows up.

Keept brings back cash-on-delivery. The money is locked where everyone can see it, and it only moves when you say the job is done. Deadlines protect both sides, so nobody's money gets stuck.

The plugin never holds keys. It only proposes transactions; PayBox shows them to you, and nothing is signed without your approval.

Just say it

No forms. Talk to your agent like a person.

Pay safely
“Pay 0.1 USDC to 0xaf9a… for a logo, but only when they deliver.”
Check on it
“Did my Keept payment go through? What's the status?”
Got the work
“I got the logo. Pay them.”
Never arrived
“They never delivered. Get my money back.”
The rules

Simple, written in code, the same for everyone.

  • Buyer releases
    Any time while funded, once delivery is confirmed. Final.
  • Seller cancels
    Any time — the full amount goes back to the buyer.
  • Buyer refunds after the deadline
    If nothing was delivered in time (1 hour to 90 days).
  • Seller claims after grace
    If the buyer goes silent past deadline + grace (1 to 30 days).
  • Small on purpose
    Max 0.01 ETH or 50 USDC per escrow. No owner, no fees, no upgrades. Unaudited.
Proof, not promises

It already works on Base mainnet.

Escrow #1: 0.1 USDC locked, delivered, released — signed through PayBox from a Claude chat.

Contract0xd24c328ABc9C5951e7C394adE4d131a941Ee9e84
1 · Approve USDC0x19c2de4e…2c3a381b
2 · Lock in escrow0xb89014bf…6b84f23e
3 · Release to seller0x83568f38…d37f230e
Tests100% contract coverage · fuzz + invariants · reentrancy suite
Keep it until it's kept.

Pay when the work is done. Not before.