Partner rails · USDC · Base
How we do business with partners
No handshake deals. USDC locked on Base, service terms hashed on-chain, AI scores delivery, humans can veto — then the contract pays.
Promise in JSON, bound by hash
Telegram promos, channel ads, investor referrals — every deliverable, KPI, and deadline lives in canonical JSON. Only keccak256(metadata) goes on-chain. Change the terms, change the hash.
DAO locks USDC before work starts
The treasury funds ServiceDealEscrow on Base. Money stays in the contract — not in a partner's wallet — until fulfillment is ruled.
Provider submits evidence
Analytics exports, UTM reports, screenshots, on-chain attribution. Evidence is hashed and anchored on-chain before any payout logic runs.
AI proposes payout (0–100%)
Our evaluator compares KPIs vs evidence and proposes payoutBps — full pay, partial pay, or full refund. Reasoning is stored as auditable ruling JSON.
Council can veto within 72h
Ops multisig reviews AI reasoning and can override the payout during the veto window. Trust is optional; verification is default.
Contract splits automatically
After the window, anyone can settle. Provider receives their share; the DAO gets the remainder. No manual wire, no "we'll pay you later."
Measurable, not vibes
Every deal lists KPIs (members gained, wallet connects, impressions) with evidence types.
Partial pay is native
6500 bps = 65% to provider, 35% back to treasury. No awkward renegotiation after the fact.
Public by design
Deal hash, evidence hash, ruling hash — all verifiable. Partners and auditors read the same chain.
Example: Telegram channel promo
1,000 USDC lockedDeliverables
- Pinned post (7 days)40%
200 new members - UTM investor funnel60%
25 wallet connects
Settlement outcomes
- Full delivery100% to provider
- Partial (e.g. 90% of KPIs)Weighted partial + refund
- Nothing delivered100% refund to DAO
Canonical JSON schema and deploy notes ship with the protocol repo under docs/protocol/SERVICE_DEAL_SCHEMA.md