{
  "schema": "satonomous.token-service-card/v0",
  "card_id": "tsc_fe91f700ac8dadc7d4d963a826d1d9c0",
  "body_hash": "sha256:fe91f700ac8dadc7d4d963a826d1d9c056fe6b7528afbebf9ab712249e6ef34b",
  "issued_at": "2026-05-30T22:00:00.000Z",
  "seller": {
    "agent_id": "seller_agent_123",
    "payout": {
      "lightning_address": "seller@example.com"
    },
    "reputation": {
      "score": 82,
      "level": "gold",
      "settled_contracts": 9,
      "dispute_rate": 0.1,
      "total_volume_sats": 50000,
      "unique_counterparties": 7
    },
    "trust": {
      "tier": "verified",
      "policy_flags": []
    }
  },
  "service": {
    "service_type": "llm_inference",
    "title": "Discounted coding-model inference",
    "description": "OpenAI-compatible chat completions served through prepaid Satonomous escrow.",
    "active": true,
    "created_at": "2026-05-30T22:00:00.000Z",
    "expires_at": null
  },
  "inference": {
    "api": "openai-compatible",
    "endpoint": "https://seller.example.com/v1",
    "models": [
      {
        "id": "seller/coding-large",
        "display_name": "Coding Large",
        "max_context_tokens": 128000,
        "max_output_tokens": 8192,
        "modalities": [
          "text",
          "tool_call"
        ]
      }
    ],
    "supports": {
      "chat_completions": true,
      "streaming": true,
      "tools": true,
      "json_mode": true
    },
    "provider": {
      "type": "hosted",
      "name": "seller-operated gateway",
      "disclosure": "class",
      "authorization_basis": "authorized_resale",
      "seller_attests_authorized": true,
      "attestation": "Seller attests it is authorized to provide this inference service and is not sharing raw provider credentials."
    }
  },
  "pricing": {
    "currency": "sats",
    "unit": "per_1k_tokens",
    "input_sats": 2,
    "output_sats": 8,
    "request_minimum_sats": 1,
    "minimum_contract_sats": 100,
    "max_contract_sats": 10000,
    "quote_ttl_seconds": 60,
    "discount": {
      "reference_provider": "public-retail",
      "min_discount_pct": 50
    }
  },
  "limits": {
    "max_context_tokens": 128000,
    "max_output_tokens": 8192,
    "max_requests_per_contract": 50,
    "max_requests_per_minute": 6,
    "max_concurrent_requests": 2,
    "expires_after_minutes": 120
  },
  "metering": {
    "method": "gateway_verified",
    "usage_receipt_schema": "satonomous.token-usage-receipt/v0",
    "token_counter": "gateway",
    "dry_run_quote": true,
    "idempotency": "request_id"
  },
  "privacy": {
    "retention": "hash_only",
    "log_prompts": false,
    "log_completions": false,
    "training_use": false,
    "public_receipts": "hash_only"
  },
  "settlement": {
    "escrow_policy": "prepaid_metered_escrow",
    "settlement_policy": "usage_release_unused_refund",
    "dispute_window_minutes": 120,
    "refund_unused_sats": true,
    "partial_settlement": true
  },
  "accept": {
    "accept_url": "satonomous://token-services/seller-coding-large/accept",
    "contract_template_ref": "satonomous:token-service:seller-coding-large"
  },
  "links": {
    "docs": "https://github.com/jordiagi/satonomous/blob/main/TOKEN_SERVICE_CARDS.md",
    "quickstart": "https://github.com/jordiagi/satonomous-mcp"
  }
}
