MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

IFSO

Conditional USDG payments on Robinhood Chain: look up, explain and prepare if-so payments.

Checks passed
9 / 22

3 failed · 10 not measured

Median response
732 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
14

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Check failed

The last measured handshake failed. Open the listing for evidence.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
131
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
003
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Fail
    Reachable

    Latest probe outcome is http_error, HTTP 521.

  • Fail
    Valid handshake

    initialize did not return a supported protocolVersion and serverInfo.name.

  • Fail
    Lists tools

    tools/list did not return a tool.

  • Not measured
    Current protocol

    No negotiated protocol version.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 732 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 732 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 2 attempts returned a tool list in 30 days (50%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Not measured
    Open access

    The latest probe was http_error, so open access is not measured.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    47 of 56 parameters have a description (84%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-11-09T05:13:26.728776Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using IFSO

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http ifso https://api.ifso.tech/mcp

Capabilities

Tools 14

ifso_check_x402_offer

Run before signing a 402 that carries the ifso-conditional extension. Recomputes the payment address from the terms against IFSO's own v2.1 factory and refuses: an untrusted factory, a terms hash mismatch, a payTo that is not the terms' address, an amount or asset mismatch, a sender that is not the payer, a refund address that is not the payer, expired terms, a closed window or a window without a referee. Optionally checks the signed EIP-3009 authorization (to, value, from). Read only.

Discovered
ifso_create_request

Creates a payment request: someone asks to be paid an amount of USDG, USDe or ETH, and gets a link to share. The payer opens the link and funds an if-so payment to them. An optional note (at most 140 characters) and how many days the link stays open (1 to 30, default 7). Nothing moves until the payer funds it.

Discovered
ifso_dispute

For the buyer, inside the release window: returns the EIP-712 Decision (action 5, dispute) to sign with the buyer's wallet, and the relay call (POST /v1/v2/vaults/{vault}/dispute with the signature) that sends it with IFSO paying the gas. After a dispute only the referee decides (or the buyer's own OK, or the seller's decline); a silent referee means the money comes back at expiry. This tool never signs.

Discovered
ifso_explain_payment

One if-so payment in plain words, from the same chain read as ifso_get_payment: what it waits for, the deadline, who can do what next (claim, accept, tap OK, decide, settle, send back, cancel) and when and where it comes back if nothing happens. Payment ids are large whole numbers; pass them as a string.

Discovered
ifso_get_payment

The current state of one if-so payment, read from the chain: status (OPEN, MET, RELEASED, RETURNED, VOIDED, CANCELLED), amount in USDG, sender, recipient or claim link key, expiry and the condition that unlocks it. Payment ids are large whole numbers (up to 78 digits); pass them as a string.

Discovered
ifso_get_v2_payment

One v2 if-so payment by its payment address: the terms, the asset and amount, whether the money has arrived, and the live state on the chain (not opened yet, OPEN, MET, RELEASED, RETURNED or CANCELLED).

Discovered
ifso_list_conditions

The kinds of condition an if-so payment can wait for (a date, a price at or by a deadline, a football league result, a Polymarket question, both people tapping OK, or a named referee), with example commands, the price tickers, the timing rules and the amount limits read from the contract. Use the example command format with ifso_prepare_payment.

Discovered
ifso_list_payments

The if-so payments where an address is the sender or the recipient, newest first, 20 at a time (the same list as the web dashboard, from the IFSO index of the chain, up to the newest 100). Each item has the id, status, amount, the other side and the expiry. Pass nextCursor back as cursor for the next page. For the live chain state of one payment use ifso_get_payment.

Discovered
ifso_prepare_payment

Turns a command like "/ifso 0x... 20 on 2026-12-01" into a plain preview and the UNSIGNED data to create that if-so payment from the sender's own wallet: two transactions (USDG approve, then create) or one gasless authorization to sign. This server never signs, never holds a key and never sends anything; the sender reviews and signs in their own wallet. Same checks as the site's build step.

Discovered
ifso_prepare_v2_payment

Builds a v2 if-so payment in USDG, USDe or ETH and returns its own payment address, known before any money moves, so it can be funded from anywhere on Robinhood Chain (any wallet, or the Robinhood app, which can send ETH and USDG to any address). Also returns the UNSIGNED data the sender may sign instead: an EIP-3009 authorization for USDG, a Permit2 signature for USDe, or one fundETH transaction for ETH. The money moves when the condition is met, or comes back to the sender after the expiry. This server never signs and never sends.

Discovered
ifso_prepare_x402_conditional

For a seller's 402: returns x402 v2 PaymentRequirements (scheme exact, USDG on Robinhood Chain eip155:4663, payTo = the payment's own IFSO v2.1 address) plus the ifso-conditional extension with the full terms. Any facilitator that settles USDG there lands the money at that address. The seller is paid after the release window unless the buyer disputes before it ends; a dispute goes to the named referee, and if the referee stays silent the money comes back to the buyer at expiry. The flat agent fee (0.02 USDG) is added to the amount. Nothing is signed or sent.

Discovered
ifso_quote_fees

The fee for an if-so payment of one condition kind (TIME, PRICE, SPORTS, MARKET, APPROVE_PARTIES or APPROVE_REFEREE): the flat creation fee, plus the flat result fee for SPORTS and MARKET, read from the contract (the same numbers as ifso_version). With an amount, also the total the sender approves and whether the amount is inside the contract's limits. Fees are flat and never a share of the amount.

Discovered
ifso_release_status

The state of an x402 conditional payment by its terms hash (the x402 payment identifier): pending (no money yet), settled (the money is at the address), duplicate_swept (a second settle landed and went back to the buyer), disputed, released (paid to the seller) or returned (back to the buyer), with the window end and expiry. Retrying a settle with the same terms lands at the same address, so this tells failed from landed late. Read only.

Discovered
ifso_version

Which IFSO build is running, the chain id (Robinhood Chain mainnet is 4663), the address of every contract it uses (payments, conditions, outcome resolver, USDG) and the fee constants in base units and USDG. The same answer as GET /v1/version. Check these addresses before approving anything in a wallet.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
http error487 ms—
Connected732 ms14