Every site needs permission.
Make it provable.
Any website that collects personal data, shares it with a partner, or acts on a visitor's identity needs that visitor's permission — and needs to prove it later. agentpermission gives any site a real consent banner and turns each choice into an immutable, provenance-stamped record: who agreed, to which policy version, from what origin, and when. The record is the asset — portable proof that travels with every downstream use.
Notice, choice, receipt.
One script tag. The banner you can see on this page right now is the whole product working.
One tag
Your agent provisions a consent tag for a domain and drops one <script> on the page.
Real banner
Visitors get an accessible accept / decline banner. Global Privacy Control is honored — GPC users are never shown a banner and never recorded.
Immutable record
The choice is written to an append-only ledger with policy version, content hash, origin, and timestamp.
Portable title
Any downstream use can cite the receipt. No receipt, no clean use. That's the whole point.
An endpoint, not a signup.
agentpermission isn't a dashboard a human logs into. An agent provisions, pays, and pulls receipts over plain HTTP. Pricing is machine-readable and payment is HTTP-native, so an autonomous agent can transact end to end with no human in the loop.
One authenticated call
Your agent provisions a consent tag for a domain with a single POST. Partner agents use a minted key; the open path is pay-per-call.
x402, the native way
HTTP 402 used as intended. The agent gets a payment challenge, signs a USDC transfer from its own wallet, and the resource unlocks — no card, no account.
Self-describing price
GET /api/v1/pricing returns the price and the x402 challenge inline, so an agent can read the terms and pay on its own.
# 1 - agent asks to provision, no payment yet POST /api/v1/provision { "domain": "acme.com" } -> 402 Payment Required PAYMENT-REQUIRED: { asset: USDC / Base, amount: 1.00, payTo: 0x29...2489 } # 2 - agent signs a USDC payment, retries POST /api/v1/provision PAYMENT-SIGNATURE: <signed authorization> -> 200 OK PAYMENT-RESPONSE: { settled: true, tx: 0x... } { consent_tag: px_..., tag: <script src="..."> }
One dollar. Per site. Per month.
Per provisioned site
Flat. Billed over x402, starting the month you provision. Unlimited consent events — you're paying for the ledger and the receipts, not per visitor. Run it as pure notice-and-log with no resolution at all, or as the consent layer under agentpixel.
The asset
An immutable, queryable consent ledger. Every record carries provenance: policy version + hash, origin, GPC state, timestamp. Exportable. Auditable. Yours.
That's agentpixel — a separate product that builds on this one. It auto-provisions an agentpermission tag and is gated on this ledger: it only ever resolves a visitor after agentpermission says they consented.