{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_pz95ffg2uzvh","handle":"assetfare-usdc-bridge","url":"https://wellknown.network/agents/assetfare-usdc-bridge","links":{"self":"https://wellknown.network/agents/assetfare-usdc-bridge/record.json","html":"https://wellknown.network/agents/assetfare-usdc-bridge","markdown":"https://wellknown.network/agents/assetfare-usdc-bridge/record.md","api":"https://wellknown.network/api/v1/agents/assetfare-usdc-bridge","status":"https://wellknown.network/api/v1/agents/assetfare-usdc-bridge/status","claim":"https://wellknown.network/agents/assetfare-usdc-bridge/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/assetfare-usdc-bridge/claim.json","badge":"https://wellknown.network/agents/assetfare-usdc-bridge/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/assetfare-usdc-bridge/history","tools":"https://wellknown.network/api/v1/agents/assetfare-usdc-bridge/tools"},"ard":{"identifier":"urn:air:api.assetfare.dev:server:assetfare-usdc-bridge","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"AssetFare USDC Bridge","summary":"100 available-route USDC bridge; caller signs; server never signs or submits","description":"100 available-route USDC bridge; caller signs; server never signs or submits","publisher":{"name":"assetfare","url":null},"homepage":null,"repository":"https://github.com/assetfare/assetfare-mcp","version":"1.17.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.assetfare.dev/mcp/bridge","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-09T15:34:12.68612Z","publishedAt":"2026-10-09T15:34:12.68612Z","registryName":"io.github.assetfare/assetfare-bridge"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"productivity.hr","name":"HR & Recruiting","confidence":0.554,"provenance":"derived"},{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","documents","productivity"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-10-10T22:20:37.593Z","lastProbedAt":"2026-10-10T22:20:37.593Z","statusComputedAt":"2026-10-10T22:22:47.919Z","reliability30d":{"probes":61,"successRate":1,"p50Ms":243,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":61,"ok":61,"authBoundaryOk":0,"serviceOk":61,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T22:20:37.593Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":237,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 100 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting."},{"name":"assetfare_v2_route_selection","description":"Use recent multi-amount exploration only to shortlist three candidates, quote all three at the caller's actual requested amount, and return up to two fresh comp"},{"name":"assetfare_v2_quote_selected_candidate","description":"Return the chosen candidate's exact request-time quote without another provider call while it remains valid. If it expired, refresh only that candidate at the s"},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":11,"toolsHash":"ea4a0fda9a2589b70ff34b2c0bc5bc130ebd4ed593ab3dbd8e4ed8cb9a9c31a4","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.19.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T15:31:46.778Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":240,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 100 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting."},{"name":"assetfare_v2_route_selection","description":"Return up to two fresh, complete all-in route recommendations for one exact route and amount. Example: compare Solana USDC to Base USDC at USD 1,000 with the ba"},{"name":"assetfare_v2_quote_selected_candidate","description":"Fresh-requote exactly one candidate from assetfare_v2_route_selection without silent reselection. Example: pass the chosen candidate_id and exact selection rece"},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":11,"toolsHash":"67585d8574ad3c0faf19fe020ab748fe36f4f3d9883c3b757a3ba6b827411b7d","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.18.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T08:32:08.157Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":241,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 100 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting."},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"83ccb239950ad49c1a15a9694b619eba8cbb13ed22d81d6311b250d7a95c5a87","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.17.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T01:25:05.029Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":239,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 100 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting."},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"83ccb239950ad49c1a15a9694b619eba8cbb13ed22d81d6311b250d7a95c5a87","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.17.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:27:47.974Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":240,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 100 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting."},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"83ccb239950ad49c1a15a9694b619eba8cbb13ed22d81d6311b250d7a95c5a87","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.17.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:32:01.592Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":238,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 98 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting. "},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"2feea66f6a8508b76b7c6ce07f55fe8b19823757a4bb2f1ea5fcb6e6348d47c8","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.16.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:25:59.926Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":240,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 98 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting. "},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"2feea66f6a8508b76b7c6ce07f55fe8b19823757a4bb2f1ea5fcb6e6348d47c8","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.16.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:25:15.455Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":233,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 98 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting. "},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"2feea66f6a8508b76b7c6ce07f55fe8b19823757a4bb2f1ea5fcb6e6348d47c8","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.16.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:27:47.247Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":237,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 98 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting. "},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"2feea66f6a8508b76b7c6ce07f55fe8b19823757a4bb2f1ea5fcb6e6348d47c8","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.16.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:24:23.647Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":695,"error":null,"detail":{"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read the 54 active routes, 44 economically inactive routes, live availability, route-specific guidance, direct_route_summary, and continuation_v3 contracts befo"},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with route-specific economic_guidance, direct_route_summary, and continuation_v3. For a price-verified route, use AssetFare first "},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle plus a self-verifying caller-wallet handoff. Callers must explicitly pass caller_approved=true, approval_v3 sel"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Callers must explicitly pass caller_approved=true, the exact approval_v3 selected as session, the same idempotency_key, a ca"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"toolCount":9,"toolsHash":"f9f26ae956bbaee3984f1abb03af9fd8a7aa2e71039074343e2d17dfd9788828","serverName":"AssetFare","capabilities":["tools"],"serverVersion":"1.15.3","protocolVersion":"2025-06-18"}}],"tools":[{"name":"assetfare_manifest","description":"Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contrac"},{"name":"assetfare_v2_capabilities","description":"Read all 100 technically available routes, live provider readiness, route-specific guidance, direct_route_summary, and continuation_v3 contracts before quoting."},{"name":"assetfare_v2_route_selection","description":"Use recent multi-amount exploration only to shortlist three candidates, quote all three at the caller's actual requested amount, and return up to two fresh comp"},{"name":"assetfare_v2_quote_selected_candidate","description":"Return the chosen candidate's exact request-time quote without another provider call while it remains valid. If it expired, refresh only that candidate at the s"},{"name":"assetfare_v2_quote","description":"Get one fresh AssetFare quote with amount-specific economic_guidance, direct_route_summary, continuation_v3, and unsigned_prepare_requirements. Example: quote S"},{"name":"assetfare_v2_prepare","description":"Return one deeply verified first unsigned bundle and caller-wallet handoff. Example: pass caller_approved=true, a one_shot approval_v3, and the quote-bound veri"},{"name":"assetfare_v2_session_create","description":"Create one receipt-driven workflow. Example: pass caller_approved=true, a session approval_v3, its idempotency_key, a caller-local session token, and the quote-"},{"name":"assetfare_v2_session_get","description":"Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter dee"},{"name":"assetfare_v2_session_observe_source","description":"Record source hashes the caller already signed and submitted, then advance the workflow. Example: pass one finalized source hash, a new idempotency key, and the"},{"name":"assetfare_v2_session_observe_output","description":"Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verif"},{"name":"assetfare_v2_session_refresh_action","description":"Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. T"}],"package":null,"toolSurface":{"id":"ts_2zc96brswt3f","endpointId":"ep_6typerjp5usk","hash":"ea4a0fda9a2589b70ff34b2c0bc5bc130ebd4ed593ab3dbd8e4ed8cb9a9c31a4","toolCount":11,"serverName":"AssetFare","serverVersion":"1.19.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-10T22:20:37.597Z","lastSeenAt":"2026-10-10T22:20:37.597Z","observations":1,"toolNames":["assetfare_manifest","assetfare_v2_capabilities","assetfare_v2_route_selection","assetfare_v2_quote_selected_candidate","assetfare_v2_quote","assetfare_v2_prepare","assetfare_v2_session_create","assetfare_v2_session_get","assetfare_v2_session_observe_source","assetfare_v2_session_observe_output","assetfare_v2_session_refresh_action"],"distinctSurfaces":19},"endpointFacts":[{"id":"ep_6typerjp5usk","url":"https://api.assetfare.dev/mcp/bridge","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T22:20:37.628Z","auth":{"observedAt":"2026-10-10T22:20:37.863Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T22:20:38.334Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.assetfare.dev","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-14T01:46:13.000Z","validTo":"2026-12-13T01:46:12.000Z","daysToExpiry":62,"sanCount":1,"fingerprint256":"CB:19:6A:84:E2:5C:BD:42:75:F1:F6:F7:8F:C5:75:C5:49:60:2A:A9:9D:93:12:41:9A:15:2D:41:D6:0C:99:06"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.assetfare/assetfare-bridge","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.assetfare%2Fassetfare-bridge","firstSeenAt":"2026-10-01T13:20:24.478Z","fetchedAt":"2026-10-10T05:21:39.957Z","normalizedAt":"2026-10-10T05:21:39.957Z"},{"source":"mcp_registry","key":"io.github.odaiin/assetfare-bridge","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.odaiin%2Fassetfare-bridge","firstSeenAt":"2026-09-24T09:19:04.457Z","fetchedAt":"2026-09-26T21:18:02.270Z","normalizedAt":"2026-09-26T21:18:02.270Z"}]},"firstSeenAt":"2026-09-24T09:19:04.457Z","updatedAt":"2026-10-10T22:23:24.944Z"}