Attribution Ledger
The Attribution Ledger is an immutable record on Sui that links AI outputs back to specific Walrus Blob IDs and content chunks. This ensures creators are properly credited whenever their content is used by AI agents.
Overview
Every time an AI agent queries and uses content from the search index, an immutable record is created:
AI Query → Search Index → Content Chunks → Creator
↓
Attribution Ledger → Source Walrus Blob → Royalty Tracking
↓
Immutable record ensures:
- Creator gets credited
- Usage is transparent
- Royalties are tracked
The Attribution Record Model
Properties
- Name
id- Type
- string
- Description
Unique identifier for the attribution record.
- Name
query_id- Type
- string
- Description
The search/chunk query transaction ID.
- Name
chunk_id- Type
- integer
- Description
The content chunk that was accessed.
- Name
blob_id- Type
- string
- Description
The source Walrus blob ID.
- Name
creator- Type
- string
- Description
The creator's Sui address.
- Name
query_creator- Type
- string
- Description
The AI agent/researcher who queried.
- Name
usage_purpose- Type
- string
- Description
Declared purpose of the query.
- Name
created_at- Type
- timestamp
- Description
When the attribution was recorded.
- Name
fee_paid- Type
- string
- Description
The fee paid for this query.
Get Creator Attributions
Get attribution records for a creator.
Query parameters
- Name
owner_address- Type
- string
- Description
Creator's Sui address.
- Name
limit- Type
- integer
- Description
Number of results (default: 50).
- Name
offset- Type
- integer
- Description
Pagination offset (default: 0).
Request
curl "https://search.zing.services/attributions/creator?owner_address=0xcreator...alice&limit=20"
Get Article Attributions
Get payment attributions for a specific article.
Query parameters
- Name
article_id- Type
- string
- Description
The article address.
Request
curl "https://search.zing.services/attributions/article?article_id=0x8a0f..."
Attribution Stats
Get aggregated attribution statistics across all articles.
Request
curl https://search.zing.services/attributions/article/stats
How Attribution Works
1. AI Agent initiates search or chunk query
↓
2. Content chunks retrieved via search API
↓
3. Attribution record created atomically:
┌────────────────────────────────────────┐
│ ON-CHAIN ATTRIBUTION RECORD │
│ │
│ chunk_id → article_id → blob_id │
│ creator → query_creator │
│ purpose → fee_paid → timestamp │
└────────────────────────────────────────┘
↓
4. Record immutable on Sui blockchain
↓
5. Creator can view in dashboard
↓
6. Fees tracked for royalty reporting
Attribution Dashboard
Creators can view:
| Metric | Description |
|---|---|
| Total Attributions | Number of times content was queried |
| Unique Agents | Number of different AI agents |
| Fees Earned | Total fees from AI attribution |
| Top Content | Most frequently accessed articles |
| Usage by Purpose | Breakdown of how content is used |
Earnings
Attribution records feed into the creator earnings system:
GET /earnings/summary
curl "https://search.zing.services/earnings/summary?owner_address=0x1aa2..."
{
"owner_address": "0x1aa2...",
"total_earned_usdc": 150000,
"total_attributions": 25,
"last_settled_at": null
}
GET /earnings/monthly
Get earnings aggregated by calendar month, with gross/net breakdown and platform fee deduction.
GET /earnings/articles
Get earnings broken down by article, ordered by total descending. Each entry shows article_id, title, total_usdc, query_count, and last_queried timestamp.
Royalty Tracking
// Creator royalty calculation
const royalties = {
membership_fees: '500.00', // From memberships
donation_fees: '50.00', // From donations
search_royalties: '1.25', // From AI search attribution
total: '551.25',
}
// Platform share: 10% (configurable)
const creator_share = parseFloat(royalties.search_royalties) * 0.9
Benefits
| For Creators | For AI Agents |
|---|---|
| Transparent usage tracking | Compliant data access |
| Royalties from AI usage | Clear attribution records |
| Insight into content value | Audit trail for outputs |
| Control over search opt-in | Direct payment to creators |
Compliance
Creator Consent: Content on Zing Protocol is opt-in for search indexing. Creators toggle search visibility via PUT /chunk/config/enabled.
Immutable Records: Attribution records cannot be altered or deleted, ensuring long-term auditability.
Transparent Fees: All query fees are tracked and traceable to specific content chunks.
Next Steps
- Search API - Explore search and chunk APIs
- Pay-Per-Query API - Per-chunk retrieval pricing
- Synthesis - Multi-source collaborative research