RailFi Payout Plans
Free, non-custodial tools to validate bounded USDC/USDT payout plans and reconcile payouts.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"payout-plans": {
"url": "https://railfi.xyz/api/mcp"
}
}
}遠端端點
https://railfi.xyz/api/mcpstreamable-http它能做什麼
工具清單
工具(4)
🟡create_payout_plan(name, token, network, budget, windowStart, ...)
Validate a bounded stablecoin payout run (recipients, budget, time window) and return an approve-once pack the OWNER approves in their own wallet. RailFi never holds funds or keys and does not execute payments.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"token": {
"type": "string",
"enum": [
"USDC",
"USDT"
]
},
"network": {
"type": "string",
"enum": [
"polygon",
"base",
"ethereum",
"arbitrum"
]
},
"budget": {
"type": "string",
"description": "Max total in token units, e.g. \"1000\""
},
"windowStart": {
"type": "string",
"description": "ISO 8601"
},
"windowEnd": {
"type": "string",
"description": "ISO 8601"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"invoiceRef",
"recipient",
"amount"
],
"properties": {
"invoiceRef": {
"type": "string"
},
"recipient": {
"type": "string"
},
"amount": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
},
"csv": {
"type": "string",
"description": "Optional CSV: invoice_ref,recipient,amount[,note]"
}
},
"required": [
"name",
"token",
"network",
"budget",
"windowStart",
"windowEnd"
]
}🟢validate_payout_plan(name, token, network, budget, windowStart, ...)
Check a payout plan for bad addresses, bad amounts, duplicates, inverted window and over-budget totals.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"token": {
"type": "string",
"enum": [
"USDC",
"USDT"
]
},
"network": {
"type": "string",
"enum": [
"polygon",
"base",
"ethereum",
"arbitrum"
]
},
"budget": {
"type": "string",
"description": "Max total in token units, e.g. \"1000\""
},
"windowStart": {
"type": "string",
"description": "ISO 8601"
},
"windowEnd": {
"type": "string",
"description": "ISO 8601"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"invoiceRef",
"recipient",
"amount"
],
"properties": {
"invoiceRef": {
"type": "string"
},
"recipient": {
"type": "string"
},
"amount": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
},
"csv": {
"type": "string",
"description": "Optional CSV: invoice_ref,recipient,amount[,note]"
}
},
"required": [
"name",
"token",
"network",
"budget",
"windowStart",
"windowEnd"
]
}⚪reconcile_payouts(lines, transfers)
Match on-chain transfer records (recipient, amount, txHash) to plan lines and report which invoices are paid, unpaid, or unexpected transfers.
輸入結構描述
{
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"invoiceRef",
"recipient",
"amount"
],
"properties": {
"invoiceRef": {
"type": "string"
},
"recipient": {
"type": "string"
},
"amount": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
},
"transfers": {
"type": "array",
"items": {
"type": "object",
"required": [
"to",
"amount"
],
"properties": {
"to": {
"type": "string"
},
"amount": {
"type": "string"
},
"txHash": {
"type": "string"
}
}
}
}
},
"required": [
"lines",
"transfers"
]
}🟢fetch_transfers(network, token, recipients, from, fromBlock, ...)
Read-only: look up public USDC/USDT Transfer events to the given recipients (optionally from one payer) over up to 10000 recent blocks via a public RPC. Output plugs straight into reconcile_payouts. No keys, no signing.
輸入結構描述
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"polygon",
"base",
"ethereum",
"arbitrum"
]
},
"token": {
"type": "string",
"enum": [
"USDC",
"USDT"
]
},
"recipients": {
"type": "array",
"maxItems": 50,
"items": {
"type": "string"
}
},
"from": {
"type": "string",
"description": "Optional payer address"
},
"fromBlock": {
"type": "integer"
},
"toBlock": {
"type": "integer",
"description": "Default: latest block; default range 5000 blocks"
}
},
"required": [
"network",
"token",
"recipients"
]
}社群
證據