Beta This is a patent-pending proof of concept. Full marketplace integration and enterprise licensing are under development.

Adworth℠ — Developer API

Flat 2% per verified consent transaction · API Reference · Live Sandbox
Patent Pending

Cryptographic consent
for both sides of the market.

Advertisers verify consent cryptographically at the transaction layer. Adworth charges a flat 2% per verified consent transaction. The consumer marketplace where users earn from data is on the Phase 2 roadmap. No minimums. No gatekeeping.

How both sides work together
Adworth's consent infrastructure connects two sides. Today (Phase 1): consumers grant and revoke consent, advertisers verify compliance and pay a flat 2% per verified consent transaction. Phase 2 (post-seed): consumers earn directly when they grant consent to advertisers.

🧑 Consumers

Privacy Cockpit Extension
  • Access cost: Free
  • What you do today (Phase 1): Grant and revoke consent to advertisers. View every access decision on the Invisibility Ledger.
  • What you earn today: Nothing direct — Adworth's revenue comes from advertisers, not from you.
  • Phase 2 (post-seed): Direct payment per consent token when you grant consent to advertisers.
  • Phase 2 example: Advertiser pays $1.00 per consent. You get $0.98. Adworth takes $0.02.

🏢 Advertisers

Bouncer API + Governance Engine
  • Access cost: Free to verify consent
  • What you do: Call /evaluate before accessing user data. Get cryptographic proof of consent (or block reason) before serving any ad.
  • Your cost: Flat 2% per verified consent transaction. Same rate every transaction. Same rate every advertiser. Always paid by you, not by the user.
  • Why it's worth it: Cryptographic consent records that support your GDPR, CCPA, and DSA compliance program. One integration, audit-ready proof.
Five-step consent verification
Every data access request passes through the Privacy Governance Engine before reaching user data. Here's the flow:
📡

Your System

Sends access request with user ID, your advertiser ID, and data scope

🛡️

The Bouncer

Runs the full check pipeline: token exists, active, right advertiser, right scope, not expired — plus Minor Shield and GPC opt-out checks

🔑

Token Check

Cryptographic verification — the token can't be faked, extended, or transferred

📖

Ledger Record

Decision recorded in append-only ledger — permanent audit trail

Access Decision

GRANTED with proof, or BLOCKED with reason code

One API call. That's it.
Before accessing any user data, call the /evaluate endpoint. The response tells you instantly whether you have valid consent.
POST Request /evaluate
// Before accessing user data, verify consent

const response = await fetch('https://adworth-bouncer.adworthllc.workers.dev/evaluate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    userId:       'user-abc-123',
    advertiserId: 'adworth-demo-advertiser',
    dataScope:    'running-data-shoe-ads'
  })
});

const decision = await response.json();

if (decision.decision === 'GRANTED') {
  // ✅ Valid consent — proceed with data access
  accessUserData(decision.tokenUsed.tokenId);
} else {
  // 🚫 No consent — do NOT access data
  console.log('Blocked:', decision.blockReason);
}
Response — Granted 200 OK
// Real response from the live Privacy Governance Engine — all seven checks pass
{
  "decision": "GRANTED",
  "evaluationId": "gov_60c7cb33-3875-4e23-b69d-11323097e0bf",
  "evaluatedAt": "2026-07-06T22:36:55.934Z",
  "advertiserId": "adworth-demo-advertiser",
  "userId": "test-user-001",
  "dataScope": "running-data-shoe-ads",
  "blockReason": null,
  "checks": [
    {
      "check": "MINOR_SHIELD",
      "status": "PASS",
      "detail": "User test-user-001 is not flagged as a minor. Proceeding to consent evaluation."
    },
    {
      "check": "GPC_OPT_OUT",
      "status": "PASS",
      "detail": "No GPC opt-out signal detected. Proceeding to token evaluation."
    },
    {
      "check": "TOKEN_EXISTS",
      "status": "PASS",
      "detail": "Found 1 token(s) for user test-user-001 with advertiser adworth-demo-advertiser"
    },
    {
      "check": "SCOPE_MATCH",
      "status": "PASS",
      "detail": "1 token(s) match scope \"running-data-shoe-ads\""
    },
    {
      "check": "REVOCATION_STATUS",
      "status": "PASS",
      "detail": "1 token(s) are not revoked"
    },
    {
      "check": "EXPIRATION",
      "status": "PASS",
      "detail": "1 token(s) are within valid time window"
    },
    {
      "check": "ADVERTISER_MATCH",
      "status": "PASS",
      "detail": "Advertiser \"adworth-demo-advertiser\" matches token grant"
    }
  ],
  "tokenUsed": {
    "tokenId": "9d57bd5bbe34dbf33bd3265e42a9ade7",
    "issuedAt": "2026-07-06T22:31:02.000Z",
    "expiresAt": "2027-02-01T00:00:00.000Z",
    "scope": "running-data-shoe-ads",
    "advertiserId": "adworth-demo-advertiser"
  }
}
Response — Blocked 403 Forbidden
// Fail-closed: the pipeline stops at the first failing check — do NOT access data
{
  "decision": "BLOCKED",
  "evaluationId": "gov_d9a47613-e294-4606-be4e-b781d4e80eb2",
  "evaluatedAt": "2026-07-06T22:17:22.376Z",
  "advertiserId": "adworth-demo-advertiser",
  "userId": "test-user-001",
  "dataScope": "running-data-shoe-ads",
  "blockReason": "NO_CONSENT_TOKEN",
  "checks": [
    {
      "check": "MINOR_SHIELD",
      "status": "PASS",
      "detail": "User test-user-001 is not flagged as a minor. Proceeding to consent evaluation."
    },
    {
      "check": "GPC_OPT_OUT",
      "status": "PASS",
      "detail": "No GPC opt-out signal detected. Proceeding to token evaluation."
    },
    {
      "check": "TOKEN_EXISTS",
      "status": "FAIL",
      "detail": "No consent tokens found for user test-user-001 with advertiser adworth-demo-advertiser"
    }
  ],
  "tokenUsed": null
}
Hit the real API right now
This sandbox calls the live Privacy Governance Engine. Try different user/advertiser/scope combinations and see real-time enforcement. The scope values below are illustrative for the sandbox — Adworth's production consent-scope vocabulary is being finalized.

API Sandbox

Connected to live Bouncer

API access is currently limited while Adworth is pre-seed. Request access →


          
The seven-check pipeline
Every /evaluate call runs these checks in order and fails closed at the first failure. The response’s checks array shows each check that ran with a human-readable detail; blockReason identifies the failing check. Requests missing userId, advertiserId, or dataScope are rejected before the pipeline runs.
🛡️

1 · MINOR_SHIELD

Runs before everything else. Users flagged as minors are blocked from all advertising data access regardless of token status — and the check fails closed on any storage error. blockReason: MINOR_SHIELD_ACTIVE

2 · GPC_OPT_OUT

Global Privacy Control signals are honored as valid opt-outs under CPRA § 1798.135(d). No consent token can override a GPC signal. blockReason: GPC_OPT_OUT

🔍

3 · TOKEN_EXISTS

At least one consent token must exist for this user-advertiser pair. No token means the user never said yes. blockReason: NO_CONSENT_TOKEN

📋

4 · SCOPE_MATCH

The requested data scope must be covered by a token’s granted scope. A token for one data type doesn’t open the door to another.

🚫

5 · REVOCATION_STATUS

Revoked tokens are treated as no consent. Revocation is recorded permanently on the ledger and takes effect at the next evaluation.

6 · EXPIRATION

Consent expires on the schedule the user chose. Stale consent is treated the same as no consent. blockReason: TOKEN_EXPIRED

🔀

7 · ADVERTISER_MATCH

The token must have been granted to the requesting advertiser specifically. Consent is non-transferable between advertisers.

Consented data performs better
This isn't just compliance — it's better advertising. Users who actively consent to data sharing engage more, convert higher, and don't block your ads.
⚖️

Regulatory Compliance

GDPR, CCPA, DSA — one integration produces cryptographic consent records you can bring to any audit, in any jurisdiction.

📈

Higher Engagement

Users who actively consent — rather than dismissing dark-pattern cookie banners — engage more deeply with ads they expected to see. Cryptographic consent filters out hostile audiences.

🛡️

Audit Trail

Every access decision is logged to the Invisibility Ledger. If regulators ask, you have cryptographic proof of compliance.

Flat 2%. Same rate every transaction.
No seat licenses. No minimums. No gatekeeping. No tiers. Flat 2% on every verified consent transaction — paid by advertisers today, by consent transactions in the future consumer marketplace.
2%
per verified consent transaction
  • API calls to /evaluate included — fair-use rate limits apply
  • Real-time consent verification
  • Automatic ledger recording
  • Cryptographic proof of compliance
  • Block reason analytics
  • Block reason codes returned on every decision
Complete Transparency Disclosure: This integration guide connects to the live Adworth Privacy Governance Engine (patent-pending). The API sandbox sends real requests and records real decisions in the Invisibility Ledger. Adworth charges a flat 2% per verified consent transaction — no tiers, no enterprise gatekeeping, no hidden charges. Phase 1 (now): advertisers integrate with the consent infrastructure and pay the 2%. Phase 2 (post-seed): the consumer marketplace opens where users earn directly when they grant consent. See Privacy Policy, Terms of Service, and Services for complete details.