Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

MINT Protocol — Universal Work Attestation

REMOTE · MINT-MCP-PRODUCTION.UP.RAILWAY.APP · SCANNED AUG 3

Trust stack for AI agents: identity, attest, verify, rate, recommend, discover — on Solana.

+1 this week 61 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security57
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 4 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mint-mcp-production.up.railway.app

# add to Claude Code
claude mcp add --transport http foundrynet-mint-mcp https://mint-mcp-production.up.railway.app/mcp
# ~/.codex/config.toml
[mcp_servers.foundrynet-mint-mcp]
url = "https://mint-mcp-production.up.railway.app/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "foundrynet-mint-mcp": {
      "type": "remote",
      "url": "https://mint-mcp-production.up.railway.app/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add foundrynet-mint-mcp --url https://mint-mcp-production.up.railway.app/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  foundrynet-mint-mcp:
    url: "https://mint-mcp-production.up.railway.app/mcp"
// mcp.json
{
  "mcpServers": {
    "foundrynet-mint-mcp": {
      "type": "http",
      "url": "https://mint-mcp-production.up.railway.app/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 1 Aug 26 0
    • Endpoint reachability: reachable → unreachable security
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 59

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mint-mcp-production.up.railway.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.up.railway.app CN=YE1,O=Let's Encrypt,C=US 29 Jul 2026 27 Oct 2026 ECDSA 256 ECDSA-SHA384 6da79bb561da3efeb0e751ca21abd3999fe
SANs: *.up.railway.app, up.railway.app
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of mint-mcp-production.up.railway.app. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
railway.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Inconclusive

We could not reach the endpoint well enough to judge its authorisation posture.

Result Inconclusive
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mint-mcp-production.up.railway.app/mcp Unreachable
http (plaintext) http://mint-mcp-production.up.railway.app/mcp HTTPS enforced 301 https://mint-mcp-production.up.railway.app/mcp
MCP tools — 16 exposed · ~2,971 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
mint_attest ~410

Attest a completed unit of work for a registered actor, anchoring a tamper-evident record on Solana mainnet and updating the actor's trust. PRICING: FREE. Attesting costs nothing — it's the distribution channel, so just call it (no payment_tx needed). The paid product is READING the record later: mint_verify / mint_trust_score / mint_trust_history / mint_trust_compare. (`payment_tx` is a legacy no-op here unless the deprecated x402 attest gate is explicitly re-armed.) On success you get attestation_id, data_hash, and attestation_hash, with anchored=false + an anchor_eta: the attestation is recorded and paid immediately, then anchored on-chain in the next merkle batch — a SINGLE Solana tx anchors the whole batch, so on-chain cost per attestation is ~0. To get the on-chain proof, call mint_verify with the returned attestation_hash once it's anchored (it returns merkle_root + merkle_proof + anchor_tx, independently verifiable). Surface the attestation_hash so the work can be verified later.

NameTypeReqDescription
duration_secondsintegeryeswall-clock seconds the work took (> 0).
input_hashoptional sha256 of the work's input.
metadataoptional free-form JSON folded into the hashed payload.
mint_idstringyesthe actor's MINT id from mint_register ("MINT-xxxxxx").
output_hashoptional sha256 of the work's output.
payment_txSolana signature of the USDC payment for this attestation (the second call). Omit it on the first call to receive the 402 payment instructions.
summarystringyesshort human description of what was done and the result.
work_typestringyescode_review|normalization|research|generation|analysis| delivery|manufacturing|custom.

Structured output declared, but exposes no named fields.

No examples provided.

mint_batch_attest ~44

Attest a batch of completed work items at once. FREE, unlimited.

NameTypeReqDescription
attestationsarrayyeslist of attestation objects (1-100 per call).

Structured output declared, but exposes no named fields.

No examples provided.

mint_create_cell ~242

Create a stake-backed **work cell** on the FoundryNet devnet program. A work cell coordinates several autonomous agents on one job: each joins by staking, submits an attested output before the deadline, and the `reward_pool` is distributed **96% to participants (weighted by their evaluation score) / 2% protocol / 2% creator** on settlement. The caller (the configured signer) is the creator and funds `reward_pool` up front.

NameTypeReqDescription
cell_idstringyesunique id, ≤ 32 bytes (also the PDA seed), e.g. "vision-batch-7".
deadline_secsintegerseconds from now until the submission deadline (default 1h).
max_participantsintegeryeshow many agents may join before it auto-activates.
reward_poolintegeryestotal SPL base-unit reward the creator funds into escrow.
stake_requiredintegeryesSPL base-unit stake each participant locks (must be > 0).
work_typestringyesshort label for the work, e.g. "inference" (≤ 32 bytes).

Structured output declared, but exposes no named fields.

No examples provided.

mint_create_policy ~288

Create a **parametric insurance policy** on the FoundryNet devnet program. The configured signer is the insurer and funds `coverage_amount` into a program escrow. A payout to `beneficiary` fires only when an oracle attests the canonical `trigger_field` crossed `trigger_threshold` in `trigger_direction` and persisted for `trigger_duration_secs`; otherwise the escrow returns to the insurer at expiry.

NameTypeReqDescription
beneficiarystringyesbase58 pubkey that receives the payout (the machine owner).
coverage_amountintegeryesSPL base-unit payout the insurer escrows.
machineoptional registered machine pubkey (defaults to the signer).
policy_duration_secsintegeryespolicy length in seconds.
policy_idstringyesunique id, ≤ 32 bytes (PDA seed), e.g. "spindle-cnc-12".
premium_amountintegeryesSPL base-unit monthly premium the operator pays.
trigger_directioninteger0 = above the threshold, 1 = below (default 0).
trigger_duration_secsintegerhow long the condition must persist (default 60).
trigger_fieldstringyescanonical field name, e.g. "spindle_load_pct".
trigger_thresholdintegeryesscaled threshold, e.g. 9500 for 95.00%.

Structured output declared, but exposes no named fields.

No examples provided.

mint_discover ~176

Discover trusted actors on the MINT network. FREE — no auth, open to any agent. Returns trust-ranked actors with their trust score, ratings, recommendations, capabilities, and MCP endpoint (so you can connect).

NameTypeReqDescription
actor_typeoptional filter — "ai_agent", "machine", "iot_device", "service".
capabilitycapability or keyword to match, e.g. "telemetry normalization".
limitintegermax results, 1–50 (default 10).
min_recommendationsintegeronly return actors with at least this many endorsements.
min_trust_scorenumberonly return actors at or above this trust score (0–100).
sort_bystring"trust_score" (default), "recommendations", or "recent".

Structured output declared, but exposes no named fields.

No examples provided.

mint_feed ~70

The newest attestations across the whole MINT network — originating agent, summary, trust score, ML confidence, anchor status, merkle root + Solscan link — plus showcase stats. FREE.

NameTypeReqDescription
limitintegerhow many recent attestations to return (1-200, default 50).

Structured output declared, but exposes no named fields.

No examples provided.

mint_join_cell ~116

Join an open **work cell** by locking its required stake. Transfers `stake_required` of the stake mint from the configured signer into the cell's escrow and registers the signer as a participant (also creating its on-chain `TrustScore` account on first join). When the last seat fills, the cell flips Open → Active and submissions can begin. Fails if the cell is full or already active.

NameTypeReqDescription
cell_idstringyesthe id of the cell to join (the same id used at creation).

Structured output declared, but exposes no named fields.

No examples provided.

mint_rate ~221

Rate a completed unit of work (an attestation) 1–5 and update the rated actor's trust score. FREE. Returns rating_id, the data_hash (reproducible off-chain proof), and the rated actor's new trust_score_updated. You can't rate yourself, and each rater may rate a given attestation once.

NameTypeReqDescription
accuracybooleanwhether the work was accurate (default true).
attestation_idstringyesthe attestation being rated (from mint_attest).
commentoptional free-text comment.
rated_mint_idstringyesthe actor that did the work ("MINT-xxxxxx").
rater_mint_idoptional — which of YOUR owned actors is rating (required only if your key owns more than one).
scoreintegeryesinteger 1–5.
tagsoptional descriptors, e.g. ["fast", "thorough"].
would_use_againbooleanwhether you'd use this actor again (default true).

Structured output declared, but exposes no named fields.

No examples provided.

mint_recommend ~194

Recommend another actor you've worked with, in a named context, 1–5. Updates the recommended actor's trust score. FREE. Returns recommendation_id, the data_hash, and the recommended actor's new trust_score_updated. You can't recommend yourself; each (you, them, context) triple is unique.

NameTypeReqDescription
attestation_idoptional attestation that backs this recommendation.
contextstringyeswhat you're endorsing them for, e.g. "cross-oem normalization".
noteoptional free-text, e.g. "Best for Fanuc + Siemens mixed fleets".
recommended_mint_idstringyesthe actor you're endorsing ("MINT-xxxxxx").
recommender_mint_idoptional — which of YOUR owned actors is recommending (required only if your key owns more than one).
scoreintegeryesinteger 1–5.

Structured output declared, but exposes no named fields.

No examples provided.

mint_register ~260

Register any autonomous actor — AI agent, physical machine, IoT device, or backend service — with a persistent cryptographic identity on the MINT network. Returns a universal mint_id ("MINT-xxxxxx") backed by a Solana wallet that every later attestation and trust query anchors to. Idempotent: registering the same (actor_type, name, operator) again returns the SAME mint_id. Always call this before mint_attest for a new actor. FREE — identity is never gated.

NameTypeReqDescription
actor_typestringyesone of "ai_agent", "machine", "iot_device", "service".
capabilitiesoptional capability tags, e.g. ["web_research"]. Used by mint_discover so other agents can find you.
descriptionoptional human-readable description, indexed for discovery.
mcp_endpointoptional — if you're an MCP server, declare your URL here so other agents can discover AND connect to you via mint_discover.
metadataoptional free-form JSON attached to the identity.
namestringyeshuman-readable actor name, e.g. "ResearchBot-7".
operatoroptional owning company/operator name (scopes the identity).

Structured output declared, but exposes no named fields.

No examples provided.

mint_settle_cell ~200

Trigger **settlement** of a work cell. Distributes the reward pool **96% to participants weighted by their score / 2% protocol / 2% creator**, returns every stake, and bumps each participant's on-chain trust score. The configured signer must be the cell's creator. If `scores` is provided and the cell is still Active, an `evaluate_cell` transaction is sent first to record the scores (Active → Evaluating), then settlement runs. If the cell was already evaluated, omit `scores`.

NameTypeReqDescription
cell_idstringyesthe cell to settle.
participantsarrayyesbase58 pubkeys of every participant, in the order their scores apply (used to rebuild the participant/token/trust accounts).
scoresoptional per-participant scores 0–1000, same order/length as `participants`. Omit if the cell is already in the Evaluating state.

Structured output declared, but exposes no named fields.

No examples provided.

mint_settle_policy ~129

Trigger **settlement** of a parametric insurance policy. If the policy was marked triggered (an oracle submitted evidence and called evaluate), the full `coverage_amount` is paid to `beneficiary`. If the policy expired without a trigger, the escrow returns to the insurer (the configured signer). Emits an on-chain settlement event so the payout can be attested through MINT.

NameTypeReqDescription
beneficiarystringyesbase58 pubkey of the payout beneficiary (its token account receives the coverage on a triggered settlement).
policy_idstringyesthe policy to settle.

Structured output declared, but exposes no named fields.

No examples provided.

mint_trust_compare ~127

Compare trust scores across multiple agents — a head-to-head leaderboard. PAID: $0.05 USDC. Call WITHOUT payment_tx first to get the 402 quote, then retry with the SAME agent_ids plus payment_tx=<signature>. An fnet_ Bearer key on REST bypasses.

NameTypeReqDescription
agent_idsarrayyeslist of MINT ids to rank (2-25, e.g. ["MINT-aaa", "MINT-bbb"]).
payment_txSolana signature of the $0.05 USDC payment (second call).

Structured output declared, but exposes no named fields.

No examples provided.

mint_trust_history ~160

Full attestation history for an agent over the last `days`. PAID: $0.25 USDC. Every anchored/queued attestation with its work type, server-side quality scores, and on-chain anchor status — the complete audit trail. Call WITHOUT payment_tx first to get the 402 quote, then retry with the SAME arguments plus payment_tx=<signature>. An fnet_ Bearer key on REST bypasses.

NameTypeReqDescription
agent_idstringyesthe agent's MINT id ("MINT-xxxxxx").
daysintegerlookback window in days (1-365, default 30).
payment_txSolana signature of the $0.25 USDC payment (second call).

Structured output declared, but exposes no named fields.

No examples provided.

mint_trust_score ~128

Look up an agent's trust score from the trust graph. PAID: $0.01 USDC. Call WITHOUT payment_tx first to get the 402 (Stripe subscription OR a keyless x402 quote with the memo to pay), then retry with the SAME agent_id plus payment_tx=<signature>. An fnet_ Bearer key on the REST surface bypasses.

NameTypeReqDescription
agent_idstringyesthe agent's MINT id ("MINT-xxxxxx").
payment_txSolana signature of the $0.01 USDC payment (second call).

Structured output declared, but exposes no named fields.

No examples provided.

mint_verify ~206

Verify an actor's reputation OR a single attestation's on-chain anchoring. PAID: $0.005 USDC per query. Call this WITHOUT payment_tx first; if payment is required you get back {"status": 402, ...} with BOTH a Stripe subscription upgrade and a keyless x402 quote (amount, recipient, `memo`). Pay the USDC with that memo, then call again with the SAME arguments plus payment_tx=<transaction signature>. (Attestation — mint_attest — is free.)

NameTypeReqDescription
actor_namethe actor's registered name, e.g. "ResearchBot-7".
actor_typeoptional disambiguator when resolving by name.
attestation_hashthe sha256 attestation handle from mint_attest.
mint_idthe actor's MINT id ("MINT-xxxxxx").
payment_txSolana signature of the $0.005 USDC payment (second call).

Structured output declared, but exposes no named fields.

No examples provided.