What a campaign delivers
Each passing verification produces:- Full conversation transcript (all turns, both sides)
- Kimi quality score (0–1)
- Group context (topic, member count at time of completion)
- Onchain record of the completion on Base
- Payout transaction hash
Campaign setup
Write a brief
Describe who you want to reach and what signal you want to collect. 2–4 sentences is enough. The brief drives the conversation the Canvas agent runs with each user — see Sample briefs for worked examples.
Select groups
Browse the Canvas registry filtered by topic, audience type, and member count. A single campaign can target multiple groups. Different briefs can run on different groups simultaneously.
Set a bid
Set a price per verified conversation. Minimum is the group owner’s floor price (default $0.10). If multiple advertisers are competing for the same group, the highest bid wins each join. You are not billed for holding the top position — only for completions.
Lock escrow
Lock USDC into the Canvas escrow contract on Base. Budget draws down as verifications pass. Unspent budget is refundable at any time.
Bidding
One advertiser holds the top bid per group at any given time. On each new join:- Bot checks which advertiser holds the top bid for that group
- That advertiser’s brief drives the conversation
- On a passing verification, that advertiser’s bid price is drawn from escrow
Completion payload
Refunds
CallwithdrawUnallocated on the escrow contract with your depositor address, or request a refund via @CanvasVerificationBot. No lock period — budget is refundable at any time.
Contract address: 0xf808b264E13Bf809C8e86afaF4e14c200931101E on Base mainnet.