{
  "name": "mediaminer.fun-agent-api",
  "version": "3",
  "agent_first": true,
  "authentication": {
    "creator_session": {
      "challenge": "POST /auth/challenge",
      "proofs": ["EIP-191 personal_sign", "Solana Ed25519"],
      "exchange": "POST /register",
      "session_header": "Authorization: Bearer <session_token>"
    },
    "distribution_partner": {
      "catalog_key_header": "X-Partner-Key: <partner_key>",
      "alternative_header": "Authorization: Partner <partner_key>",
      "usage_signature": "Ed25519 over the canonical content-fun-partner-v1 message"
    },
    "notes": [
      "Sign the exact wallet challenge or exact partner canonical message.",
      "Only hashes of opaque creator sessions and partner API keys are stored.",
      "Never send a private key, seed phrase, or service-role credential."
    ]
  },
  "discovery": {
    "catalog": "GET /v1/catalog",
    "details": "GET /v1/catalog/{content_id}",
    "sorts": [
      "trending",
      "newest",
      "most_watched",
      "most_liked",
      "most_bought",
      "most_traded",
      "most_revenue"
    ],
    "filters": {
      "media_type": ["audio", "video", "av"],
      "generation_source": ["human", "ai", "hybrid", "unknown"],
      "nsfw": ["exclude", "include", "only"]
    },
    "metric_classes": [
      "first_party",
      "partner_attested",
      "trusted"
    ],
    "ranking_rule": "Partner-attested values do not influence trusted ranking until reconciled."
  },
  "distribution": {
    "create_delivery_grant": "POST /v1/partner/content/{content_id}/grants",
    "submit_usage": "POST /v1/partner/usage-batches",
    "statements": "GET /v1/partner/statements",
    "requirements": [
      "active reviewed rights and license scope",
      "moderation and maturity eligibility",
      "NSFW permission when applicable",
      "available prepayment or approved credit billing",
      "delivery-grant evidence for every usage event"
    ]
  },
  "creator_endpoints": [
    {"method": "GET", "path": "/health"},
    {"method": "POST", "path": "/auth/challenge"},
    {"method": "POST", "path": "/register"},
    {"method": "GET", "path": "/clips"},
    {
      "method": "POST",
      "path": "/clips",
      "auth": "wallet session",
      "rights_attestation_required": true
    },
    {"method": "GET", "path": "/chain/config"},
    {"method": "GET", "path": "/chain/markets"},
    {"method": "GET", "path": "/shares/positions"}
  ],
  "accounting_notice": "Reported external revenue creates only non-claimable shadow accounting until payment, reconciliation, immutable holder snapshot, allocation, and a verified claim mechanism exist.",
  "onchain_notice": "Current markets use capped linear mint/burn pricing. Markets, trades, positions, campaigns, rewards, and claims are authoritative only onchain. Fixed-supply x*y=k is a proposed V2, not live."
}
