merona — x402 settlement index

See what actually settles on x402: wash-adjusted volume, payTo checks. Free, no key, no signup.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
65%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,342Tokens (tool definitions)
~2.7 KBTypical response size
Moderate attention impact (1.05% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "settlement-index": {
      "url": "https://api.merona.io/mcp"
    }
  }
}

Remote endpoints

https://api.merona.io/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢payto_check(query)

Check whether an x402 endpoint or wallet pays out where it claims to, before your agent sends funds. Takes one wallet address or endpoint URL. Returns any catalog-vs-live payout mismatch, dated payout-rotation history, and whether the address has settled on chain. Free, no key. Use mismatch_feed instead to list every known mismatch. Records are dated facts, not accusations, and no record found is not a clearance.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 256,
      "description": "Wallet address (0x… or base58) or endpoint URL/hostname to look up."
    }
  },
  "required": [
    "query"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The query as interpreted."
    },
    "matches": {
      "type": "array",
      "description": "Mismatch/rotation records touching the query; empty when none known."
    },
    "note": {
      "type": "string",
      "description": "Interpretation guidance — dated facts, not accusations."
    },
    "error": {
      "type": "string",
      "description": "Present only on backend failure."
    }
  },
  "additionalProperties": true,
  "description": "Match results for the queried wallet/endpoint."
}
🟢mismatch_feed

List x402 endpoints currently advertising one payout address while asking payers for another, from merona's nightly probe of the public catalog — the top 10 entries with advertised vs live addresses, full counts and as-of dates (complete feed, uncapped: merona.io/mismatches.json). Takes no arguments. Free, no key. Use payto_check instead when you already have a specific address or endpoint to check.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "description": "This tool takes no arguments."
}

Output Schema

{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "description": "Feed provenance: generated-at, counts, method pointer."
    },
    "catalog_vs_live": {
      "type": "array",
      "description": "Endpoints advertising one payout address while asking payers for another (top 10)."
    },
    "payto_rotation_count": {
      "type": "integer",
      "description": "Endpoints with dated payout-address rotation history."
    },
    "error": {
      "type": "string",
      "description": "Present only on backend failure."
    }
  },
  "additionalProperties": true,
  "description": "The current public mismatch feed."
}
🟢clean_stats

Get wash-adjusted x402 settlement volume per chain — spend that survives removal of funded loops and self-dealing cycles, which can differ from raw transfer totals by orders of magnitude. Returns clean settlement count, clean volume in USD and an as-of date per chain. Takes no arguments. Free, no key. These are the figures published on merona.io.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "description": "This tool takes no arguments."
}

Output Schema

{
  "type": "object",
  "properties": {
    "clean": {
      "type": "array",
      "description": "One entry per chain.",
      "items": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string"
          },
          "clean_settlements": {
            "type": "integer"
          },
          "clean_volume_usd": {
            "type": "number"
          },
          "as_of": {
            "type": "string",
            "description": "Measurement date (UTC)."
          }
        }
      }
    },
    "note": {
      "type": "string",
      "description": "Scope and method pointer."
    },
    "error": {
      "type": "string",
      "description": "Present only on backend failure."
    }
  },
  "additionalProperties": true,
  "description": "Wash-adjusted settlement figures per chain."
}
🟢trust_score(chain, address, api_key, payment)

Score a specific seller wallet before paying it: wash-aware m.Score with an A–F grade, component breakdown, wash flags including multi-hop cycle detection, and the snapshot SHA so the result can be re-derived independently. Requires chain and address. Free — no key or payment needed. Optional: pass payment=<base64 X-PAYMENT payload> to pay $0.001 via x402 and receive a settlement-receipted response.

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "description": "Chain the seller settles on, e.g. base, polygon, solana."
    },
    "address": {
      "type": "string",
      "description": "Seller wallet address to score."
    },
    "api_key": {
      "type": "string",
      "description": "merona API key. Alternative to per-call x402 payment."
    },
    "payment": {
      "type": "string",
      "description": "Base64 X-PAYMENT payload for a single x402 payment."
    }
  },
  "required": [
    "chain",
    "address"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "grade": {
      "type": [
        "string",
        "null"
      ],
      "description": "A–F letter; null means unrated (evidence gate, not an adverse signal)."
    },
    "score": {
      "type": [
        "number",
        "null"
      ],
      "description": "Numeric m.Score behind the letter."
    },
    "tier": {
      "type": "string",
      "description": "unrated | provisional | verified."
    },
    "suggested_action": {
      "type": "object",
      "description": "Deterministic action hint (PROCEED/CAUTION/INVESTIGATE/DECLINE/INSUFFICIENT_EVIDENCE) with reasons and rule version."
    },
    "components": {
      "type": "object",
      "description": "Score component breakdown."
    },
    "snapshot_sha256": {
      "type": "string",
      "description": "Snapshot hash for independent re-derivation."
    },
    "delivery": {
      "type": "object",
      "description": "Paid-probe delivery evidence, when merona has bought from this seller: status delivery_verified (dated) or charged_unserved (payment settled, request refused; settlement tx included). This score covers base/polygon/solana, but delivery evidence is base-only today (see PROBE_COVERAGE_CHAINS) — null here on polygon/solana means no probe was possible, not a clean record."
    },
    "payment_required": {
      "type": "object",
      "description": "x402 payment instructions; present only when the call is unpaid."
    },
    "error": {
      "type": "string",
      "description": "Present only on failure."
    }
  },
  "additionalProperties": true,
  "description": "The seller's score, or x402 payment instructions when called without api_key/payment."
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools