{"serverId":"mcp-registry/com.cofferline/treasury","tools":[{"name":"cancel_all_pm_orders","fixed":{"name":"cancel_all_pm_orders","description":"Cancel every resting order for the credential, optionally within one market. Auth required.","inputSchema":{"type":"object","required":["credential_id"],"properties":{"market":{"type":"string","description":"optional market filter"},"credential_id":{"type":"string","description":"stored credential id (uuid)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"cancel_intent","fixed":{"name":"cancel_intent","description":"Cancel a planned intent (a few-second window before execution claims it). Auth required.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"intent id (uuid)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"cancel_pm_order","fixed":{"name":"cancel_pm_order","description":"Cancel one resting prediction-market order. Auth required.","inputSchema":{"type":"object","required":["order_id","credential_id"],"properties":{"venue":{"enum":["polymarket"],"type":"string","default":"polymarket","description":"prediction-market venue (default polymarket)"},"order_id":{"type":"string","description":"the venue's order id"},"credential_id":{"type":"string","description":"stored credential id (uuid)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"check_pm_order","fixed":{"name":"check_pm_order","description":"Pre-flight policy check for a prediction-market order: would this cost be allowed right now? Auth required.","inputSchema":{"type":"object","required":["wallet","condition_id","cost_usd"],"properties":{"state":{"type":"object","description":"optional current exposure: {market_exposure_usd, realized_loss_today_usd, total_open_exposure_usd} as decimal strings"},"wallet":{"type":"string","description":"wallet address"},"cost_usd":{"type":"string","description":"order cost in USD, decimal string"},"condition_id":{"type":"string","description":"market/condition identifier"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":172,"tokensAfter":172},{"name":"check_spend","fixed":{"name":"check_spend","description":"Pre-flight policy check: would this spend be allowed under the wallet's policy right now? Auth required.","inputSchema":{"type":"object","required":["wallet","amount_usd","token"],"properties":{"token":{"type":"string","description":"token symbol, e.g. USDC"},"wallet":{"type":"string","description":"wallet address"},"amount_usd":{"type":"string","description":"spend amount in USD, decimal string"},"counterparty":{"type":"string","description":"optional counterparty address to screen"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"create_intent","fixed":{"name":"create_intent","description":"Create a conversion or gas_topup intent; the executor pipeline plans and fills it under policy. Auth required.","inputSchema":{"type":"object","required":["wallet","kind","sell_token","buy_token","sell_amount"],"properties":{"kind":{"enum":["conversion","gas_topup"],"type":"string"},"venues":{"type":"array","items":{"type":"string"},"description":"optional venue override"},"wallet":{"type":"string","description":"wallet address"},"buy_token":{"type":"string","description":"ERC-20 address being bought"},"sell_token":{"type":"string","description":"ERC-20 address being sold"},"sell_amount":{"type":"string","description":"base units, decimal string"},"max_slippage_bps":{"type":"number","description":"optional per-intent slippage cap"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":218,"tokensAfter":218},{"name":"create_pm_order","fixed":{"name":"create_pm_order","description":"Place a prediction-market limit order under policy, signed server-side with the stored credential. Polymarket: condition_id, token_id, action, price_usd (e.g. '0.55'), size_shares. Auth required.","inputSchema":{"type":"object","required":["wallet","credential_id","action"],"properties":{"state":{"type":"object","description":"optional current exposure: {market_exposure_usd, realized_loss_today_usd, total_open_exposure_usd} as decimal strings"},"venue":{"enum":["polymarket"],"type":"string","default":"polymarket","description":"prediction-market venue (default polymarket)"},"action":{"enum":["buy","sell"],"type":"string"},"wallet":{"type":"string","description":"treasury wallet whose policy governs the order"},"token_id":{"type":"string","description":"Polymarket: outcome token id, decimal string"},"price_usd":{"type":"string","description":"Polymarket: limit price, '0.xx'"},"size_shares":{"type":"string","description":"Polymarket: share count, decimal string"},"condition_id":{"type":"string","description":"Polymarket: market condition id"},"credential_id":{"type":"string","description":"stored credential id (uuid)"},"client_order_id":{"type":"string","description":"optional idempotency uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":349,"tokensAfter":349},{"name":"export_account","fixed":{"name":"export_account","description":"Export all of this account's data in one document. Auth required.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":47,"tokensAfter":47},{"name":"get_auto_topup","fixed":{"name":"get_auto_topup","description":"The auto-topup rule and how many pre-signed authorizations remain. Auth required.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"get_balance","fixed":{"name":"get_balance","description":"Prepaid fee balance: settled credits minus fee debits. Auth required.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":48,"tokensAfter":48},{"name":"get_benchmarks","fixed":{"name":"get_benchmarks","description":"Measured execution benchmarks: median savings vs arrival quote by USD size bucket, from real completed intents only. Free, no auth.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"get_delegation","fixed":{"name":"get_delegation","description":"Fetch one delegation. Auth required.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"delegation id (uuid)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"get_intent","fixed":{"name":"get_intent","description":"Fetch an intent, including fills and the post-trade report once filled. Auth required.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"intent id (uuid)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"get_me","fixed":{"name":"get_me","description":"Identify the authenticated account: address, kind, scopes. Auth required.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":47,"tokensAfter":47},{"name":"get_pm_onboarding","fixed":{"name":"get_pm_onboarding","description":"Polymarket trade-readiness for an address: live approval status plus the calldata for anything missing (executed outside MCP — this server cannot sign). Auth required.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"the trading address to check"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"get_pm_signer_rotation","fixed":{"name":"get_pm_signer_rotation","description":"Calldata to swap the Polymarket funder Safe's owner to a new EOA — the owner executes it outside MCP (this server cannot sign). Auth required.","inputSchema":{"type":"object","required":["id","new_owner"],"properties":{"id":{"type":"string","description":"credential id (uuid)"},"new_owner":{"type":"string","description":"the replacement owner address"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"get_policy","fixed":{"name":"get_policy","description":"List policy versions, newest first (the first entry is active). Auth required.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number","description":"max results"},"wallet":{"type":"string","description":"optional wallet filter"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"get_quotes","fixed":{"name":"get_quotes","description":"Live venue quote comparison for a token conversion (CoW + ParaSwap on Base). Free, no auth.","inputSchema":{"type":"object","required":["sell_token","buy_token","sell_amount"],"properties":{"chain_id":{"type":"number","description":"8453 (Base)"},"buy_token":{"type":"string","description":"ERC-20 address being bought"},"sell_token":{"type":"string","description":"ERC-20 address being sold"},"sell_amount":{"type":"string","description":"sell amount in base units, decimal string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"get_statement","fixed":{"name":"get_statement","description":"Deterministic monthly statement derived from the append-only ledger — same period, same bytes. Auth required.","inputSchema":{"type":"object","required":["wallet","period"],"properties":{"format":{"type":"string","description":"'json' (default) or 'csv'"},"period":{"type":"string","description":"calendar month, YYYY-MM"},"wallet":{"type":"string","description":"wallet address"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":118,"tokensAfter":118},{"name":"list_delegations","fixed":{"name":"list_delegations","description":"List delegations, newest first. Auth required.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number","description":"max results"},"account":{"type":"string","description":"optional smart-account filter"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"list_feedback","fixed":{"name":"list_feedback","description":"Every feature request ever submitted, public and unauthenticated. Free.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number","description":"max results"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"list_intents","fixed":{"name":"list_intents","description":"List intents, newest first. Auth required.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number","description":"max results"},"offset":{"type":"number","description":"skip this many"},"wallet":{"type":"string","description":"optional wallet filter"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"list_pm_credentials","fixed":{"name":"list_pm_credentials","description":"List stored venue credentials — metadata only, never material. Auth required.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"list_pm_orders","fixed":{"name":"list_pm_orders","description":"The credential's resting orders straight from the venue — recover state after a disconnect. Auth required.","inputSchema":{"type":"object","required":["credential_id"],"properties":{"market":{"type":"string","description":"optional market filter"},"credential_id":{"type":"string","description":"stored credential id (uuid)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"list_tokens","fixed":{"name":"list_tokens","description":"Tokens the platform accepts on an intent, per chain — what create_intent will admit. Free, no auth.","inputSchema":{"type":"object","required":[],"properties":{"chain_id":{"type":"number","description":"limit to one chain; omit for every supported chain"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"prepare_pm_order","fixed":{"name":"prepare_pm_order","description":"Prepare a client-signed Polymarket order: policy-checked, then returns the exact EIP-712 payload to sign outside MCP (this server cannot sign) plus a prepare_id — submit both via submit_pm_order. Auth required.","inputSchema":{"type":"object","required":["venue","wallet","credential_id","condition_id","token_id","action","price_usd","size_shares"],"properties":{"state":{"type":"object","description":"optional current exposure: {market_exposure_usd, realized_loss_today_usd, total_open_exposure_usd} as decimal strings"},"venue":{"enum":["polymarket"],"type":"string"},"action":{"enum":["buy","sell"],"type":"string"},"wallet":{"type":"string","description":"treasury wallet whose policy governs the order"},"token_id":{"type":"string","description":"outcome token id, decimal string"},"price_usd":{"type":"string","description":"limit price, '0.xx'"},"size_shares":{"type":"string","description":"share count, decimal string"},"condition_id":{"type":"string","description":"market condition id"},"credential_id":{"type":"string","description":"stored credential id (uuid)"},"client_order_id":{"type":"string","description":"optional idempotency uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":334,"tokensAfter":334},{"name":"put_policy","fixed":{"name":"put_policy","description":"Create or update the wallet's treasury policy (immutable versioning; PUT creates the next version). Auth required. Body must match /schemas/policy-v1.json — only version, wallet and chain_id are required; omitted fields take the platform defaults published in the manifest and are stored into the document, and the response lists them in `defaulted`.","inputSchema":{"type":"object","required":["policy"],"properties":{"policy":{"type":"object","description":"PolicyV1 document; {\"version\":1,\"wallet\":\"0x…\",\"chain_id\":8453} is a complete one"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":164,"tokensAfter":164},{"name":"remove_auto_topup","fixed":{"name":"remove_auto_topup","description":"Remove the auto-topup rule and its unused authorizations. Auth required.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":50,"tokensAfter":50},{"name":"resolve_pm_funder","fixed":{"name":"resolve_pm_funder","description":"Resolve an owner EOA to its Polymarket funder Safe candidates. Auth required.","inputSchema":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"owner EOA address"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"revoke_delegation","fixed":{"name":"revoke_delegation","description":"Revoke a delegation. The reply includes calldata the owner can send on-chain for hard finality. Auth required.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"delegation id (uuid)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"revoke_pm_credential","fixed":{"name":"revoke_pm_credential","description":"Revoke a venue credential; its sealed ciphertext is destroyed. Auth required.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"credential id (uuid)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"screen_address","fixed":{"name":"screen_address","description":"OFAC SDN counterparty screening for an address. Free, no auth.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"EVM address to screen"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"set_auto_topup","fixed":{"name":"set_auto_topup","description":"Configure auto-topup: when the prepaid balance falls below threshold_usd, the platform settles one of the pre-signed EIP-3009 authorizations you supply (signed outside MCP — this server cannot sign). Auth required.","inputSchema":{"type":"object","required":["threshold_usd","authorizations"],"properties":{"max_per_month":{"type":"number","description":"cap on automatic top-ups per month (default 10)"},"threshold_usd":{"type":"string","description":"refill when balance drops below this, USD decimal string"},"authorizations":{"type":"array","items":{"type":"object","required":["from","to","value","valid_after","valid_before","nonce","signature"],"properties":{"to":{"type":"string","description":"platform recipient address"},"from":{"type":"string","description":"payer address"},"nonce":{"type":"string","description":"32-byte nonce, 0x…"},"value":{"type":"string","description":"USDC base units, decimal string"},"signature":{"type":"string","description":"EIP-3009 signature, 0x…"},"valid_after":{"type":"string","description":"unix seconds, decimal string"},"valid_before":{"type":"string","description":"unix seconds, decimal string"}}},"description":"pre-signed transferWithAuthorization payloads: each {from, to, value, valid_after, valid_before, nonce, signature}"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":368,"tokensAfter":368},{"name":"start_siwe_login","fixed":{"name":"start_siwe_login","description":"Start wallet sign-in: returns a single-use SIWE message. Sign it with the wallet outside MCP (this server cannot sign), then call complete_siwe_login. Free, no auth.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"wallet address to authenticate"},"chain_id":{"type":"number","description":"8453"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"submit_feedback","fixed":{"name":"submit_feedback","description":"Submit a feature request ($1 anti-spam fee, charged to the prepaid balance when funded). Auth required. Payment flow: call once without x_payment — a 402 reply lists the exact EIP-3009 requirements (amount, USDC asset, recipient, EIP-712 domain). Sign a transferWithAuthorization for them outside MCP (this server cannot sign), then call again with x_payment set to the base64 of {x402Version:1, scheme:'exact', network, payload:{signature, authorization}}.","inputSchema":{"type":"object","required":["title","body"],"properties":{"body":{"type":"string","description":"the request, 20-4000 chars"},"title":{"type":"string","description":"short title, 8-120 chars"},"x_payment":{"type":"string","description":"base64 X-PAYMENT value from a previously answered 402 (see description)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":230,"tokensAfter":230},{"name":"submit_pm_order","fixed":{"name":"submit_pm_order","description":"Submit a prepared Polymarket order with the maker's EIP-712 signature from prepare_pm_order. Auth required.","inputSchema":{"type":"object","required":["prepare_id","signature"],"properties":{"signature":{"type":"string","description":"the maker's 65-byte EIP-712 signature, 0x…"},"prepare_id":{"type":"string","description":"prepare id (uuid) from prepare_pm_order"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":115,"tokensAfter":115}],"toolsChanged":36,"tokensSaved":0,"todo":[{"tool":"create_intent","params":["kind"]},{"tool":"create_pm_order","params":["action"]},{"tool":"prepare_pm_order","params":["venue","action"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}