Consent first, contact second.
agentpixel never resolves a visitor it isn't allowed to. Permission is checked against agentpermission on every fire.
One call
Your agent provisions a pixel for a domain. The required consent tag is set up automatically.
Permission check
On every fire, agentpixel asks agentpermission whether this visitor consented. No record, no resolve.
Identity graph
Permitted visitors are resolved into a real contact — email, name, location.
With provenance
Each contact carries its consent receipt. Pull them by API; pay per cartridge.
An endpoint, not a signup.
agentpixel is provisioned and paid for by agents, over plain HTTP. One call sets up the pixel and its required consent tag; pricing is machine-readable and payment is HTTP-native, so an autonomous agent can resolve and settle with no human in the loop.
One authenticated call
Your agent provisions a pixel for a domain with a single POST — the agentpermission consent tag is set up in the same call.
x402, the native way
HTTP 402 used as intended. The agent signs a USDC payment from its own wallet to buy a contact cartridge — no card, no account.
Self-describing price
GET /api/v1/pricing returns the free tier, cartridge price, and x402 challenge inline, so an agent can read the terms and pay on its own.
# 1 - agent buys a cartridge, no payment yet POST /api/v1/provision { "domain": "acme.com" } -> 402 Payment Required PAYMENT-REQUIRED: { asset: USDC / Base, amount: 10.00 / 1,000 contacts } # 2 - agent signs a USDC payment, retries POST /api/v1/provision PAYMENT-SIGNATURE: <signed authorization> -> 200 OK PAYMENT-RESPONSE: { settled: true, tx: 0x... } { pixel_id: px_..., consent_tag: px_... }
Free to start. Cartridges after.
First 1,000 contacts
Every new pixel resolves its first 1,000 consented contacts free. No card, no wallet, no signup.
1,000-contact blocks
After the free tier, each 1,000-contact cartridge is $10, settled over x402. Auto-reloads as you resolve.