Skip to content

Synthex Forge — x402 Paid Agent Services

by x402.synthexforge.com · remote · no sign-in to list tools · v1.0.0 · published by com.synthexforge.x402

Paid agent services settled in USDC on Base via x402. Signed, verifiable, and free to verify.

Changes · 15

20 tools: 15 change things and 5 only read.

Scanned Oct 22, 2026

21 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http paid-agent-services https://x402.synthexforge.com/mcp

Findings

Matches of fixed checks, with the text they matched.

21 warn
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
Show 15 more findings
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The server marks "signed_attest" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The server marks "signed_research" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The server marks "memory_put" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "memory_put" says "put": a word for a change.

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for
  • The description contains a 42-character base64 string.

    Matched text

    description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

20 tools

Changes things 15Claude Code: ask
  • attestation_receiptMint a signed typed receipt for any transaction or action.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Mint a signed typed receipt for any transaction or action. PRICE: $0.25 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • attested_financial_evidenceAssess and attest a financial statement or metrics payload into signed, reproducible evidence.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Assess and attest a financial statement or metrics payload into signed, reproducible evidence. PRICE: $0.35 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • edge_priorPrior-test registry query: what has actually been tested on an instrument/timeframe/strategy-type before, and what the prior evidence says.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Prior-test registry query: what has actually been tested on an instrument/timeframe/strategy-type before, and what the prior evidence says. Every field is optional but at least one must be supplied. PRICE: $0.05 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • forensics_ingestSeal one signed-attribution / forensics evidence record into a tamper-evident vault entry.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Seal one signed-attribution / forensics evidence record into a tamper-evident vault entry. PRICE: $0.20 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • healthFREE — service liveness, version, settlement network, receive address and whether settlement is currently enabled.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    FREE — service liveness, version, settlement network, receive address and whether settlement is currently enabled. FREE — no payment required. Call it directly. No payment, no headers, no account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • memory_putPersist a budget-capped state version into a signed, reproducible memory vault.2 findings

    Why it is in this group

    • The name "memory_put" says "put": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    • Warn

      The server marks "memory_put" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "memory_put" says "put": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Persist a budget-capped state version into a signed, reproducible memory vault. PRICE: $0.10 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • policy_checkDeterministic policy evaluation: is this action allowed under this policy given this caller state?1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Deterministic policy evaluation: is this action allowed under this policy given this caller state? Returns a signed allow/deny verdict with the specific rule that fired. Safe-deny on malformed input. PRICE: $0.10 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • preflightSigned preflight verdict on a counterparty BEFORE you pay them.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Signed preflight verdict on a counterparty BEFORE you pay them. Returns a three-state verdict (go | caution | avoid | unknown) with dated, signed evidence. Fewer than 3 independent observations in 30 days returns `unknown` with the coverage gap named — never a guessed `go`. PRICE: $0.01 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • rates_referenceSigned reference rates, always as-of stamped.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Signed reference rates, always as-of stamped. FX leg is the ECB euro reference rates (official, daily); crypto leg is the Binance public spot bookTicker. On a weekend or holiday the LAST BUSINESS DAY is returned with is_stale=true and the real staleness in seconds — a stale rate is never presented as live. PRICE: $0.01 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • signed_attestCreate a signed, tamper-evident track-record attestation (Ed25519 + SHA-256) over any claim.2 findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    • Warn

      The server marks "signed_attest" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Create a signed, tamper-evident track-record attestation (Ed25519 + SHA-256) over any claim. PRICE: $0.25 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • signed_researchGenerate a tamper-evident, signed research brief on a requested topic.2 findings

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    • Warn

      The server marks "signed_research" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate a tamper-evident, signed research brief on a requested topic. PRICE: $2.00 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • synthesis_verdictFold research + quant + audit inputs into ONE signed verdict.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Fold research + quant + audit inputs into ONE signed verdict. PRICE: $0.50 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_catalog_registerRegister a service into the network-effect verify catalog and grow the trust index.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Register a service into the network-effect verify catalog and grow the trust index. PRICE: $0.25 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_signatureFREE — independently re-verify an Ed25519 + SHA-256 signed receipt you already hold.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    FREE — independently re-verify an Ed25519 + SHA-256 signed receipt you already hold. Recomputes the canonical digest and checks the signature against our published public key. No payment, no network call, no side effect. FREE — no payment required. Call it directly. No payment, no headers, no account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • x402_indexThe queryable index of the agent economy: what is offered, what it costs, and whether it still works.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    The queryable index of the agent economy: what is offered, what it costs, and whether it still works. An endpoint is never invented — every result exists in the corpus with a `last_seen`. PRICE: $0.02 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 5Claude Code: allow
  • data_validateValidate, normalise and mechanically repair a payload against a declared JSON-Schema subset.1 finding

    Why it is in this group

    • The name "data_validate" says "validate": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Validate, normalise and mechanically repair a payload against a declared JSON-Schema subset. Repair never fabricates data: a required property with no default is reported missing, not inserted. Keywords outside the supported subset are reported in schema_keys_unsupported rather than silently ignored. PRICE: $0.02 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • forensics_queryBind sealed forensics-vault entries into ONE signed query receipt.1 finding

    Why it is in this group

    • The name "forensics_query" says "query": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Bind sealed forensics-vault entries into ONE signed query receipt. PRICE: $0.15 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • memory_getReturn the latest signed, reproducible sealed state for a key.1 finding

    Why it is in this group

    • The name "memory_get" says "get": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Return the latest signed, reproducible sealed state for a key. PRICE: $0.05 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • reputation_lookupCompute a signed agent-reputation composite from an agent id and its event list.1 finding

    Why it is in this group

    • The name "reputation_lookup" says "lookup": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Compute a signed agent-reputation composite from an agent id and its event list. PRICE: $0.25 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • trusted_route_lookupCompute a signed trusted-route ranking for a counterparty.1 finding

    Why it is in this group

    • The name "trusted_route_lookup" says "lookup": a word for reading.

    Findings

    • Warn

      The description contains a 42-character base64 string.

      Matched text

      description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."

      What this check looks for
    Description, as the server wrote it
    Compute a signed trusted-route ranking for a counterparty. PRICE: $0.30 USDC per call. HOW TO PAY: USDC on eip155:8453, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 transferWithAuthorization for the exact amount and put it in the `X-PAYMENT` header, then retry the same request. An unpaid call returns a `payment_required` payload with the amount, asset, network and payTo already filled in. The `synthex-x402` SDK (PyPI and npm) does the 402 -> sign -> retry loop in one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http paid-agent-services https://x402.synthexforge.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__paid-agent-services__data_validate",
      "mcp__paid-agent-services__reputation_lookup",
      "mcp__paid-agent-services__trusted_route_lookup",
      "mcp__paid-agent-services__forensics_query",
      "mcp__paid-agent-services__memory_get"
    ],
    "ask": [
      "mcp__paid-agent-services__preflight",
      "mcp__paid-agent-services__edge_prior",
      "mcp__paid-agent-services__x402_index",
      "mcp__paid-agent-services__policy_check",
      "mcp__paid-agent-services__rates_reference",
      "mcp__paid-agent-services__verify_signature",
      "mcp__paid-agent-services__health",
      "mcp__paid-agent-services__signed_attest",
      "mcp__paid-agent-services__signed_research",
      "mcp__paid-agent-services__forensics_ingest",
      "mcp__paid-agent-services__memory_put",
      "mcp__paid-agent-services__synthesis_verdict",
      "mcp__paid-agent-services__attested_financial_evidence",
      "mcp__paid-agent-services__verify_catalog_register",
      "mcp__paid-agent-services__attestation_receipt"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as paid-agent-services. Review it before you use it.