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.
20 tools: 15 change things and 5 only read.
Scanned Oct 22, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things15Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnpreflight
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnedge_prior
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnx402_index
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warndata_validate
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnpolicy_check
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnrates_reference
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
Show 15 more findingsShow fewer
- Warnsigned_attest
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnsigned_attest
The server marks "signed_attest" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.
- Warnsigned_research
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnsigned_research
The server marks "signed_research" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnforensics_ingest
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnforensics_query
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnmemory_put
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warnmemory_put
The server marks "memory_put" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "memory_put" says "put": a word for a change.
- Warnmemory_get
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warn
The server marks "memory_put" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "memory_put" says "put": a word for a change.
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warn
The server marks "signed_attest" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "create": a word for a change.
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
- Warn
The server marks "signed_research" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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.
What this check looks forMatched text
description: "...3, exact scheme, to 0xc8fF67FAE72596478599EAAcfad8656fAe1113c8. Sign an EIP-3009 t..."
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.