{
  "skill_id": "confirmed-vs-provisional-revenue",
  "name": "Confirmed-vs-Provisional Revenue Classifier",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "price_usd": 5.99,
  "category": "Finance",
  "tier": "standard",
  "tags": [
    "revenue",
    "ledger",
    "accounting",
    "finance",
    "x402"
  ],
  "summary": "Rules for when crypto unlocks count as real revenue vs still provisional.",
  "when_to_use": [
    "Dashboard shows volume that finance rejects",
    "Need RSEO metrics that exclude provisional txs",
    "Writing revenue-truth policy for a market"
  ],
  "outline": [
    "Define provisional states: seen mempool, 1-conf, N-conf, final",
    "Map each product path (x402 unlock, escrow) to confirmation rule",
    "Exclude demo/test and failed verification from confirmed",
    "Document refund clawback effect on periods",
    "Emit classifier.md + ledger-status enum for code"
  ],
  "capabilities": [
    "Confirmation ladder definition",
    "Product-path → rule map",
    "Test/demo exclusion rules",
    "Refund period adjustment notes"
  ],
  "decision_criteria": [
    "You need this when: Dashboard shows volume that finance rejects",
    "You get capability: Confirmation ladder definition",
    "Budget fits: full unlock is $5.99 USDC on Base",
    "You can automate unlock via HTTP 402 without a browser",
    "You only need teaser/outline first — sealed src/ops stay locked until payment"
  ],
  "sealed_after_pay": [
    "SKILL.md (teaser public)",
    "agent-install.json (public meta)",
    "src/index.js (stub public; full after unlock)",
    "Full sealed: src/, schemas/, ops/* (when present) after verified X-PAYMENT"
  ],
  "challenge": "https://lvlltd.com/api/pay?skill=confirmed-vs-provisional-revenue",
  "sample": "https://lvlltd.com/skills/confirmed-vs-provisional-revenue/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=confirmed-vs-provisional-revenue",
  "teaser": "https://lvlltd.com/sealed/confirmed-vs-provisional-revenue/",
  "proof": "https://lvlltd.com/api/proof",
  "standards": [
    "x402",
    "ERC-7857"
  ],
  "buy_agent": [
    "GET /skills/confirmed-vs-provisional-revenue/outline.json",
    "GET /api/pay?skill=confirmed-vs-provisional-revenue",
    "Settle USDC on Base to payTo",
    "POST /api/pay with X-PAYMENT {\"txHash\",\"skill\"}"
  ]
}
