Skip to content
Back to RailFi Payout Plans

Card snapshot

railfi.xyz · 2026-10-15 22:02:02 UTC · 23c9fccae09af524ff8a34314ed54d28499e009c8e9ed45773ad026e2c84b2bd

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "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"
      ]
    },
    {
      "id": "fetch_transfers",
      "name": "Fetch transfers",
      "description": "Read-only lookup of public USDC/USDT Transfer events to plan recipients (Polygon, Base, Ethereum, Arbitrum) for reconcile_payouts. No keys or signing.",
      "tags": [
        "onchain",
        "read-only",
        "reconciliation"
      ]
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://railfi.xyz/api/mcp",
      "transport": "MCP streamable-http"
    }
  ]
}