It pays itself.
A capped spending pocket on Robinhood Chain that pays websites, tools, and agents over x402 while you browse.
Scroll to open the pocket
PayHole24.88 USDG
2%
example.com
spent 0.12 of 5 USDG
Registered
/article/4020.02 paid
tracker.adnet.exampleblocked
01 / 04
Fund a pocket.
Put a small USDG budget in a smart-contract pocket. That is the most a session can ever spend.
02 / 04
Every site gets its own address.
Each website, tool, and agent gets a capped address derived from your seed. None can see the others.
03 / 04
Pages pay themselves over x402.
A 402 comes back, the pocket settles it in USDG, the page loads. Under the cap, you never see it. Over the cap, one prompt.
04 / 04
Trackers die at DNS.
Sinkhole runs on your machine, syncs your blocklist, and shares scam flags with a peer swarm. Drainer domains get no answer.
Everything the pocket does
Capped · Automatic · Private · Fair · Burned
Caps
One number per site. Nothing above it moves without you.
Silent payments
HTTP 402 settled in USDG. Gasless for you. No popups under the cap.
Per-site addresses
Derived from your seed, one per origin. A site sees one address and nothing else.
Agent session keys
Give a tool or agent its own key with its own cap. Revoke it any time.
Creator tips
Registered domains get tipped per visit from your pocket. Fair by default.
Sinkhole
Self-hosted DNS. Blocks trackers and drainers. Shares scam flags in a peer swarm.
Unlock tiers
Burn to raise your limits. Three tiers. Nothing else changes.
Token burns
Fixed supply. Only ever bought and burned. Pays no one.
Creators
Get tipped for every visit.
One DNS record and one signature. No platform, no account, no cut.
Register your domain
1
TXT record
Add _payhole to your DNS with your wallet.
2
Attestation
Sign once. The verifier checks the record and writes you to the registry.
3
Tipped per visit
Visitors' pockets tip your wallet in USDG. You see it on the explorer.
Developers
One fetch. Paid.
Drop in payholeFetch and any 402 is handled under the cap. The CLI gives agents the same pocket.
Read the docs
import { payholeFetch } from "@payhole/sdk";

const res = await payholeFetch("https://api.example.com/report", {
  cap: "0.50"  // USDG for this call
});
$ payhole key create --cap 5
$ payhole status
$ payhole pay https://example.com/article
Total burned
0
live · PAYHOLE · fixed supply
TierBurned to unlockUnlocks
Tier 150,000Pocket cap to 50 USDG. 5 session keys.
Tier 2100,000Pocket cap to 500 USDG. 50 keys. Custom Sinkhole lists.
Tier 3500,000Pocket cap to 5,000 USDG. Unlimited keys. Swarm priority.
The token pays no one. It is bought and burned.
No staking. No yield. No cashback. No airdrop. Burning raises your tier and nothing else.
Trust
Open source. Tested.
Three contracts on Robinhood Chain, all owned by one Safe, all verified on Sourcify. Read them before you fund a pocket.
Safe
0xfCeB8905E316D383Cd90Aa1Ab04ab1650611445b
Architecture and disclosure
NameAddressVerified
BudgetAccountFactory0x68b5bb42fec83db9582758bbcb1fc43f748970d6Sourcify
BurnVault0x298712ca3a1367bbd8caabd5269b05985228eedfSourcify
CreatorRegistry0x5d483aec0735d550d09018a2e89c49c190962debSourcify
Questions
What happens when a site goes over its cap?
You get one prompt. Approve, raise the cap, or decline. Nothing moves until you answer.
Can a site see my other addresses?
No. Each address is derived for one origin. A site sees its own address and its own cap.
Who pays gas?
Not you. x402 settlement is gasless for the payer. The facilitator submits the transaction.
Does the token earn anything?
No. It is bought and burned. There is no staking, yield, cashback, or airdrop.
Is Sinkhole a VPN?
No. It is a DNS resolver you run yourself. Blocked domains get no answer. Your traffic goes where it always went.
Can I read the contracts?
Yes. They are open source, tested, and verified on Sourcify. Read them before you fund a pocket.
Robinhood Chain, chain id 4663, settlement in USDG onlypayhole.org