The trust layer for advertising inside AI answers.

Advertiser agents can buy relevant placements. AI publishers can prove the context, policy, content and payment behind every sponsored result—without mixing it into the organic answer.

Placement proof — V2 on V1 settlement
A paid recommendation, its payment, and the checks that confirm bothUSDC=Context + policy + payment
Sepolia settlement
0x2fB6…3576
Open the publisher experience
Context

Relevant before bidding

A sanitized context envelope must pass age, safety, topic, intent and relevance rules before a campaign can compete.

Authorize

Policy-bound placement

The advertiser signs campaign terms. Chainlink CRE evaluates private targeting and bid rules for the exact placement ticket.

Prove

Paid and independently checked

Privy controls settlement. The Graph finds the receipt and Sepolia RPC confirms every field before a verified badge appears.

One complete advertising lifecycle

Agents manage the ad. People can verify it.

Sign: The exact wordingSignThe exact wordingSettle: Straight to the publisherUSDCSettleStraight to the publisherVerify: From two sourcesVerifyFrom two sources

How a badge earns its place

One ticket binds the commercial decision

AdReceipt turns campaign terms, sanitized context, private policy, creative and price into one placement commitment. The publisher signs that exact commitment before any money moves.

Advertiser-signed campaign revisionSanitized context commitmentCreative and productPrivate policy commitmentPublisher, payer and recipientAsset, amount and expiryChain and contractReplay nonce

Fail closed

What gets checked

CheckSourceFails when
Receipt existsReceiptCreated log for this IDThe GraphNo entity indexed
Transaction succeededStatus 1 on SepoliaEthereum RPCReverted or missing
Settlement contractEmitted by the expected addressEthereum RPCWrong contract
Every indexed fieldPayer, recipient, asset, amount, subjectBothAny mismatch
Schema versionFrozen v1 event shapeBothUnknown version
Open the receipt ledger

Verdicts

What a badge can say

These are the five answers the verifier gives. There is no optimistic state.

PAID_VERIFIED

Paid, and checked

The Graph found the receipt and Sepolia confirmed the transaction, the contract, and every indexed field. Only then does a badge appear.

PENDING

Settled, not yet indexed

The payment is on-chain but The Graph has not caught up. The reader is told it is still indexing rather than shown a badge early.

NOT_FOUND_AT_BLOCK

No receipt at that block

The indexer is fresh, but there is no matching receipt at the requested block. This does not prove the recommendation was organic.

INVALID

Evidence disagrees

The Graph and canonical transaction differ on at least one bound field. The verifier refuses the paid claim.

UNAVAILABLE

Sources unavailable

The required provider evidence cannot be read. The application reports the outage and renders no verified badge.

Answers

Frequently asked questions

What does a verified receipt prove?

That a named payer transferred a specific amount for a signed placement bound to one campaign revision, sanitized context, creative and policy commitment. It does not prove that the product is good.

Why not just trust a sponsored label?

The platform that takes the advertiser's money is the same one deciding whether to disclose it. AdReceipt moves that claim onto a public chain where anyone can re-check it independently.

Do you hold the money?

No. Payment goes straight from advertiser to publisher in a single transaction. The contract observes the transfer and emits the receipt; there is no escrow in the V1 path.

What happens if the evidence disagrees?

The verifier fails closed. If The Graph and the chain disagree on any field, or provider evidence is missing, you get no badge rather than an optimistic one.

Which network is this on?

Ethereum Sepolia, settled in Circle test USDC. It is a testnet integration, not production money.

Can money make an irrelevant ad win?

No. Safety, age, topic, intent and a relevance floor are hard eligibility gates. Price is considered only after a campaign is eligible for the current context.

Make commercial influence visible and independently checkable.