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/attributions/creator

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

GET
/attributions/creator
curl "https://search.zing.services/attributions/creator?owner_address=0xcreator...alice&limit=20"

GET/attributions/article

Get Article Attributions

Get payment attributions for a specific article.

Query parameters

  • Name
    article_id
    Type
    string
    Description

    The article address.

Request

GET
/attributions/article
curl "https://search.zing.services/attributions/article?article_id=0x8a0f..."

GET/attributions/article/stats

Attribution Stats

Get aggregated attribution statistics across all articles.

Request

GET
/attributions/article/stats
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:

MetricDescription
Total AttributionsNumber of times content was queried
Unique AgentsNumber of different AI agents
Fees EarnedTotal fees from AI attribution
Top ContentMost frequently accessed articles
Usage by PurposeBreakdown 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 CreatorsFor AI Agents
Transparent usage trackingCompliant data access
Royalties from AI usageClear attribution records
Insight into content valueAudit trail for outputs
Control over search opt-inDirect payment to creators

Compliance

Next Steps

Was this page helpful?