{
  "protocolVersion": "0.3.0",
  "name": "RailFi Payout Plans",
  "description": "Non-custodial helper for stablecoin payout runs: validate a bounded payout plan (recipients, budget, time window), return an approve-once pack the owner approves in their own wallet, and reconcile on-chain transfers back to invoices. Never holds funds or keys, never executes payments. Free. Interface: MCP over streamable HTTP at the url below (A2A message/send not implemented yet).",
  "url": "https://railfi.xyz/api/mcp",
  "provider": { "organization": "RailFi", "url": "https://railfi.xyz" },
  "version": "0.1.0",
  "documentationUrl": "https://railfi.xyz/plans",
  "capabilities": { "streaming": false, "pushNotifications": false },
  "defaultInputModes": ["application/json"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    { "id": "create_payout_plan", "name": "Create payout plan", "description": "Validate bounds and return an approve-once JSON pack for the owner's wallet.", "tags": ["payouts", "stablecoin", "usdc", "usdt", "non-custodial"] },
    { "id": "validate_payout_plan", "name": "Validate payout plan", "description": "Find bad addresses, amounts, duplicates and over-budget totals.", "tags": ["validation"] },
    { "id": "reconcile_payouts", "name": "Reconcile payouts", "description": "Match transfers (to, amount, txHash) to invoice lines.", "tags": ["reconciliation", "invoices"] }
  ],
  "additionalInterfaces": [{ "url": "https://railfi.xyz/api/mcp", "transport": "MCP streamable-http" }]
}
