One call before you pay.
PayeeGuard works like a card fraud check at checkout. Before your agent sends money, it asks PayeeGuard. If the answer isn't PAY, it doesn't pay.
Playground
API · POST /api/guard/check
curl -X POST https://rs-oxbridge-ai-race.vercel.app/api/guard/check \
-H "content-type: application/json" \
-d '{
"payeeName": "Saigon Coffee Co.",
"address": "8zEPrcPaeJ7J1Hcqm5Ri7AAMJgxnkHRXhoMfe5LRfnQ5",
"amountUsdc": 0.05,
"reference": "order-123",
"messageText": "the invoice / page / email your agent read"
}'| Answer field | Meaning |
|---|---|
| verdict | PAY, HOLD (ask the payee to verify) or BLOCK |
| score | Risk 0–100 |
| checks[] | Each check: status, points, plain-English detail, evidence |
| receipt.url | Tamper-evident record of the decision |
Agent rule
Before any payment:
r = POST https://rs-oxbridge-ai-race.vercel.app/api/guard/check {payeeName, address, amountUsdc, messageText}
if r.verdict == "PAY": pay, using the reference as memo
if r.verdict == "HOLD": ask the payee to verify at https://rs-oxbridge-ai-race.vercel.app/merchant/verify
if r.verdict == "BLOCK": stop and tell the human why (r.explanation)Website plugin · one line
<div data-payeeguard
data-payee="Saigon Coffee Co."
data-address="8zEPrcPaeJ7J1Hcqm5Ri7AAMJgxnkHRXhoMfe5LRfnQ5"
data-amount="0.05"></div>
<script src="https://rs-oxbridge-ai-race.vercel.app/payeeguard.js" async></script>Shows a live "Verified payee" / "Possible fraud" badge next to the pay button on any shop.Merchants · prove wallet ownership
A payee asks for a one-time code, signs it with its wallet (signMessage), and sends back the signature. PayeeGuard checks it with ed25519 and adds the wallet to the verified-payee directory.