{
  "x402Version": 1,
  "service": "fee-history",
  "description": "Agent-payable dated history of overwrite-in-place government fees & rates — county recording fees, commercial assessment ratios, effective property-tax rates, permit/court/bankruptcy filing fees. Agencies overwrite the number in place; we keep every hashed observation, so we hold the only public dated record of what a fee was on a given date. The forward change-alert is the day-1 product; the dated diff history is the compounding litigation/audit-evidence asset appeal firms, permit expediters and refund shops pay for because they CANNOT reconstruct an overwritten fee.",
  "homepage": "https://feehistory.returnmytax.com",
  "mcp": {
    "endpoint": "https://feehistory.returnmytax.com/mcp",
    "transport": "streamable-http",
    "protocol": "mcp"
  },
  "payment": {
    "scheme": "exact",
    "network": "base",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetName": "USD Coin",
    "decimals": 6,
    "payTo": "0x38134a7F97636E26365Fb17405566595B917a341",
    "facilitator": "https://facilitator.payai.network",
    "keyless": true
  },
  "paidTools": [
    {
      "tool": "fee_history_full",
      "type": "mcp-tool",
      "transport": "mcp",
      "endpoint": "https://feehistory.returnmytax.com/mcp",
      "method": "POST tools/call (x402 challenge rides in the tool result)",
      "description": "Full signed append-only history for one tracked fee/rate field: every hashed dated observation + every change-diff. The evidence record for what a fee was on a date the agency has since overwritten. $0.20 / field.",
      "outputSchema": {
        "type": "object",
        "description": "The full append-only dated history for one tracked government fee/rate: the current value, every hashed observation we recorded, and every change-diff with its date — the signed provenance an appeal firm or audit shop cites when the agency has overwritten the value in place.",
        "properties": {
          "field": {
            "type": "object",
            "description": "Field identity: jurisdiction, fee type, unit, source URL, provenance."
          },
          "current": {
            "type": "object",
            "description": "Latest accepted observation: { value, sha256, observed_at }."
          },
          "trackedSince": {
            "type": "string",
            "description": "ISO date FeeHistory first observed this field."
          },
          "observations": {
            "type": "array",
            "description": "Append-only hashed observations (dated record).",
            "items": {
              "type": "object"
            }
          },
          "changes": {
            "type": "array",
            "description": "Every observed change: { from, to, observed_at, prevSeen }.",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "field",
          "current",
          "observations",
          "changes"
        ]
      },
      "price": {
        "scheme": "exact",
        "network": "base",
        "maxAmountRequired": "200000",
        "amountUSD": "$0.20",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "decimals": 6
      },
      "payTo": "0x38134a7F97636E26365Fb17405566595B917a341",
      "resource": "https://feehistory.returnmytax.com/mcp#fee_history_full"
    },
    {
      "tool": "diff_feed_full",
      "type": "mcp-tool",
      "transport": "mcp",
      "endpoint": "https://feehistory.returnmytax.com/mcp",
      "method": "POST tools/call (x402 challenge rides in the tool result)",
      "description": "Full global change feed across all tracked jurisdictions (not the truncated preview) — every fee/rate that moved with from/to/date. $0.10.",
      "outputSchema": {
        "type": "object",
        "description": "The global change feed: every fee/rate value that moved across all tracked jurisdictions, newest first, each with from/to/date — a forward change-alert stream.",
        "properties": {
          "count": {
            "type": "number"
          },
          "diffs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fieldId": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "from": {},
                "to": {},
                "observed_at": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "count",
          "diffs"
        ]
      },
      "price": {
        "scheme": "exact",
        "network": "base",
        "maxAmountRequired": "100000",
        "amountUSD": "$0.10",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "decimals": 6
      },
      "payTo": "0x38134a7F97636E26365Fb17405566595B917a341",
      "resource": "https://feehistory.returnmytax.com/mcp#diff_feed_full"
    }
  ],
  "freeTools": [
    {
      "tool": "fee_catalog",
      "description": "Every tracked field + source URL + unit.",
      "price": "free"
    },
    {
      "tool": "diff_feed_preview",
      "description": "Recent changes (truncated preview).",
      "price": "free"
    }
  ],
  "docs": {
    "llms": "https://feehistory.returnmytax.com/llms.txt",
    "spec": "https://github.com/coinbase/x402"
  },
  "directory": {
    "catalog": "https://x402.dropwatchhq.com/x402",
    "catalogJson": "https://x402.dropwatchhq.com/x402.json",
    "description": "Full directory of dropwatchhq agent-payable x402 tools (USDC on Base, keyless)."
  }
}