Cofferline
Treasury and risk controls for agent wallets: policies, quotes, prediction-market orders.
What it can do
What data it sees
Do you need an account
An API key from the service settings is required
Treasury and risk controls for agent wallets: policies, quotes, prediction-market orders.
How to connect
How to connect Cofferline to Claude
The server address to paste into Claude settings:
https://mcp.cofferline.com
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Cofferline to ChatGPT
The server address to paste into ChatGPT settings:
https://mcp.cofferline.com
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Cofferline to Cursor
The server address to paste into Cursor settings:
https://mcp.cofferline.com
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (47)
Raw names from tools/list. Only developers need these.
| get_quotes | Live venue quote comparison for a token conversion (CoW + ParaSwap on Base). Free, no auth. |
| get_benchmarks | Measured execution benchmarks: median savings vs arrival quote by USD size bucket, from real completed intents only. Free, no auth. |
| screen_address | OFAC SDN counterparty screening for an address. Free, no auth. |
| list_tokens | Tokens the platform accepts on an intent, per chain — what create_intent will admit. Free, no auth. |
| list_feedback | Every feature request ever submitted, public and unauthenticated. Free. |
| submit_feedback | 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}}. |
| start_siwe_login | 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. |
| complete_siwe_login | Finish wallet sign-in: exchanges the signed SIWE message for a cl_sess_… session token — use it as the Authorization bearer on every authenticated tool. Free, no auth. |
| get_me | Identify the authenticated account: address, kind, scopes. Auth required. |
| export_account | Export all of this account's data in one document. Auth required. |
| offboard_account | Close this account for good: revokes every credential, scrubs personal data, retires the account. Irreversible; confirm_wallet_address must be the account's own wallet address, typed exactly. Auth required. |
| put_policy | 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`. |
| get_policy | List policy versions, newest first (the first entry is active). Auth required. |
| check_spend | Pre-flight policy check: would this spend be allowed under the wallet's policy right now? Auth required. |
| check_pm_order | Pre-flight policy check for a prediction-market order: would this cost be allowed right now? Auth required. |
| poll_events | Poll typed treasury events with a monotonic cursor (intent lifecycle, budget thresholds, reconciliation, security alerts). Auth required. |
| get_statement | Deterministic monthly statement derived from the append-only ledger — same period, same bytes. Auth required. |
| create_intent | Create a conversion or gas_topup intent; the executor pipeline plans and fills it under policy. Auth required. |
| get_intent | Fetch an intent, including fills and the post-trade report once filled. Auth required. |
| list_intents | List intents, newest first. Auth required. |
| cancel_intent | Cancel a planned intent (a few-second window before execution claims it). Auth required. |
| prepare_delegation | Prepare a scoped session-key grant for a Kernel smart account: exact call allowlist, expiry, optional rate limit. Returns the ONE EIP-712 digest the account owner signs outside MCP (this server cannot sign) — then call confirm_delegation with the signature. Auth required. |
| confirm_delegation | Activate a prepared delegation by supplying the owner's signature over its enable digest. Auth required. |
| renew_delegation | Renew an active delegation: same scope, fresh expiry, no authority gap. Returns a NEW digest to sign and confirm exactly like prepare_delegation. Auth required. |
| revoke_delegation | Revoke a delegation. The reply includes calldata the owner can send on-chain for hard finality. Auth required. |
| get_delegation | Fetch one delegation. Auth required. |
| list_delegations | List delegations, newest first. Auth required. |
| panic | Emergency stop, one call: suspends the account, revokes every API key, session, delegation and venue credential, and returns all unwind calldata for the owner. Auth required. |
| get_balance | Prepaid fee balance: settled credits minus fee debits. Auth required. |
| topup_balance | Top up the prepaid balance with USDC. 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}}. |
| set_auto_topup | 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. |
| get_auto_topup | The auto-topup rule and how many pre-signed authorizations remain. Auth required. |
| remove_auto_topup | Remove the auto-topup rule and its unused authorizations. Auth required. |
| store_pm_credential | Store a prediction-market venue credential (verified live against the venue, sealed at rest, material never returned). Polymarket, either shape: signer_private_key + maker (derives API creds), or api_key + secret + passphrase + maker + signer. Auth required. |
| list_pm_credentials | List stored venue credentials — metadata only, never material. Auth required. |
| revoke_pm_credential | Revoke a venue credential; its sealed ciphertext is destroyed. Auth required. |
| get_pm_signer_rotation | 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. |
| create_pm_order | 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. |
| list_pm_orders | The credential's resting orders straight from the venue — recover state after a disconnect. Auth required. |
| cancel_pm_order | Cancel one resting prediction-market order. Auth required. |
| cancel_all_pm_orders | Cancel every resting order for the credential, optionally within one market. Auth required. |
| prepare_pm_order | 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. |
| submit_pm_order | Submit a prepared Polymarket order with the maker's EIP-712 signature from prepare_pm_order. Auth required. |
| get_pm_onboarding | Polymarket trade-readiness for an address: live approval status plus the calldata for anything missing (executed outside MCP — this server cannot sign). Auth required. |
| resolve_pm_funder | Resolve an owner EOA to its Polymarket funder Safe candidates. Auth required. |
| sync_pm_fills | Pull the venue's fills for a credential into the wallet's ledger. Idempotent — safe to repeat. Auth required. |
| wrap_pm_usdc | Wrap the funder Safe's USDC.e into Polymarket's pUSD, platform-relayed so the user pays no gas. Omit amount_base_units to wrap the full balance. Auth required. |