AssetFare USDC Bridge
Owner verifiedREMOTE · API.ASSETFARE.DEV · SCANNED SEP 27
Non-custodial USDC bridge and cross-chain swap quotes: Solana to Base; unsigned, never signs/submits
Available components
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 → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2786 tokens (~309/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability check failed: schema churn in the 4 days we've observed: 13 tool removals, 6 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the AssetFare USDC Bridge MCP server?
AssetFare USDC Bridge is a hosted endpoint at https://api.assetfare.dev/mcp/bridge, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.assetfare.dev
claude mcp add --transport http odaiin-assetfare-bridge 'https://api.assetfare.dev/mcp/bridge'
{
"mcpServers": {
"odaiin-assetfare-bridge": {
"url": "https://api.assetfare.dev/mcp/bridge"
}
}
} {
"servers": {
"odaiin-assetfare-bridge": {
"type": "http",
"url": "https://api.assetfare.dev/mcp/bridge"
}
}
} [mcp_servers.odaiin-assetfare-bridge] url = "https://api.assetfare.dev/mcp/bridge"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"odaiin-assetfare-bridge": {
"type": "remote",
"url": "https://api.assetfare.dev/mcp/bridge",
"enabled": true
}
}
} openclaw mcp add odaiin-assetfare-bridge --url 'https://api.assetfare.dev/mcp/bridge' --transport streamable-http
mcp_servers:
odaiin-assetfare-bridge:
url: "https://api.assetfare.dev/mcp/bridge" {
"McpServers": {
"odaiin-assetfare-bridge": {
"Transport": "http",
"Url": "https://api.assetfare.dev/mcp/bridge"
}
}
} assistant mcp add odaiin-assetfare-bridge -t streamable-http -u 'https://api.assetfare.dev/mcp/bridge'
{
"mcpServers": {
"odaiin-assetfare-bridge": {
"type": "http",
"url": "https://api.assetfare.dev/mcp/bridge"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 27 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “assetfare_v2_capabilities” rewrote its description, which is the text the model reads security
- Server version: 1.8.4 → 1.11.0 functional
- “assetfare_v2_prepare” reworded the description of “from_chain” cosmetic
- “assetfare_v2_prepare” reworded the description of “to_chain” cosmetic
- “assetfare_v2_prepare” reworded the description of “wallets” cosmetic
- “assetfare_v2_quote” reworded the description of “from_chain” cosmetic
- “assetfare_v2_quote” reworded the description of “to_chain” cosmetic
- “assetfare_v2_session_create” reworded the description of “from_chain” cosmetic
- “assetfare_v2_session_create” reworded the description of “to_chain” cosmetic
- “assetfare_v2_session_create” reworded the description of “wallets” cosmetic
- 26 Sept 26 −1
- Tool “assetfare_v2_prepare” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_create” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_get” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_observe_output” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_observe_source” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_refresh_action” rewrote its description, which is the text the model reads security
- Schema quality: 270 → 306 ▼ functional
- “assetfare_v2_prepare” added a required parameter “verification_context”, so existing callers break ▼ functional
- “assetfare_v2_session_create” added a required parameter “verification_context”, so existing callers break ▼ functional
- “assetfare_v2_session_get” added a required parameter “verification_context”, so existing callers break ▼ functional
- “assetfare_v2_session_observe_output” added a required parameter “verification_context”, so existing callers break ▼ functional
- “assetfare_v2_session_observe_source” added a required parameter “verification_context”, so existing callers break ▼ functional
- “assetfare_v2_session_refresh_action” added a required parameter “verification_context”, so existing callers break ▼ functional
- “assetfare_v2_prepare” made “approval_v3” required, so existing callers break ▼ functional
- “assetfare_v2_session_create” made “approval_v3” required, so existing callers break ▼ functional
- Server version: 1.3.1 → 1.8.4 functional
- “assetfare_v2_prepare” reworded the description of “approval_v3” cosmetic
- “assetfare_v2_session_create” reworded the description of “approval_v3” cosmetic
- 25 Sept 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
- 24 Sept 26 −2
- Stability: unverified → fail ▼ security
- Tool “assetfare_create_session” was removed ▼ security
- Tool “assetfare_finish_wallet_auth” was removed ▼ security
- Tool “assetfare_observe_cctp” was removed ▼ security
- Tool “assetfare_observe_destination” was removed ▼ security
- Tool “assetfare_prepare_cctp_action” was removed ▼ security
- Tool “assetfare_prepare_destination_action” was removed ▼ security
- Tool “assetfare_prepare_source_action” was removed ▼ security
- Tool “assetfare_quote” was removed ▼ security
- Tool “assetfare_read_session” was removed ▼ security
- Tool “assetfare_start_wallet_auth” was removed ▼ security
- Tool “assetfare_status” was removed ▼ security
- Tool “assetfare_v2_new_session_capability” was removed ▼ security
- Tool “assetfare_verify_source_receipt” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “assetfare_manifest” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_capabilities” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_prepare” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_quote” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_create” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_get” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_observe_output” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_observe_source” rewrote its description, which is the text the model reads security
- Tool “assetfare_v2_session_refresh_action” rewrote its description, which is the text the model reads security
- Schema quality: 212 → 248 ▼ functional
- Resource “assetfare-trust-manifest” was removed ▼ functional
- Tool coverage: 5% → 100% ▲ functional
- Tool “assetfare_manifest” now declares an output schema ▲ functional
- Tool “assetfare_v2_capabilities” now declares an output schema ▲ functional
- Tool “assetfare_v2_prepare” now declares an output schema ▲ functional
- Tool “assetfare_v2_quote” now declares an output schema ▲ functional
- Tool “assetfare_v2_session_create” now declares an output schema ▲ functional
- Tool “assetfare_v2_session_get” now declares an output schema ▲ functional
- Tool “assetfare_v2_session_observe_output” now declares an output schema ▲ functional
- Tool “assetfare_v2_session_observe_source” now declares an output schema ▲ functional
- Tool “assetfare_v2_session_refresh_action” now declares an output schema ▲ functional
- The server no longer declares the “resources” capability functional
- Server version: 0.4.11 → 0.4.22 functional
- “assetfare_v2_prepare” reworded the description of “amount_usd” cosmetic
- “assetfare_v2_quote” reworded the description of “amount_usd” cosmetic
- “assetfare_v2_session_create” reworded the description of “amount_usd” cosmetic
- “assetfare_v2_session_create” reworded the description of “session_token” cosmetic
- “assetfare_v2_session_get” reworded the description of “session_token” cosmetic
- “assetfare_v2_session_observe_output” reworded the description of “session_token” cosmetic
- “assetfare_v2_session_observe_source” reworded the description of “session_token” cosmetic
- “assetfare_v2_session_refresh_action” reworded the description of “session_token” cosmetic
- 23 Sept 26 74
First indexed and scored.
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 27 Sept 2026 · Probed https://api.assetfare.dev/mcp/bridge
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.assetfare.dev | CN=YE2,O=Let's Encrypt,C=US | 14 Sept 2026 | 13 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 6d89db84b64463bc05613ce0ff4224f5669 |
| SANs: api.assetfare.dev | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| 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 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.assetfare.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| assetfare.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.assetfare.dev/mcp/bridge | Verified | 200 | |
| http (plaintext) | http://api.assetfare.dev/mcp/bridge | HTTPS enforced | 301 | https://api.assetfare.dev/mcp/bridge |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
assetfare_manifest ~52
Read the Ed25519-signed release manifest and safety-bundle binding before preparing an action. Example: call this once to verify the current release and contract pins; it never creates state, signs, or submits.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| execution | object | yes | – |
| release_commit | string | yes | – |
| safety_bundle | object | yes | – |
| service | string | yes | – |
| signature | object | yes | – |
No examples provided.
assetfare_v2_capabilities ~110
Read the 80-route matrix, live availability, route-specific economic minimums, direct_route_summary, and continuation_v3 contracts before quoting. continuation_v3 is restart-fail-closed and binds the full quote payload, exact path, wallet chains, signer requirement, bounds, and explicit one_shot/session choice. Example: inspect this before requesting ethereum:USDC to base:USDC at USD 500 or more. Read-only; creates no wallet login, session, or action.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| action_lifetime | object | yes | – |
| asset_endpoints | array | yes | – |
| blocked_source_only_routes | array | yes | – |
| caller_owned_agent_execution | – | yes | – |
| continuation_v3 | object | yes | – |
| currently_prepare_ready_routes | integer | – | – |
| direct_route_summary | – | yes | – |
| directed_conversion_routes | number | yes | – |
| execution_availability | object | – | – |
| execution_implemented_routes | number | – | – |
| execution_ready_routes | number | yes | – |
| phase_b_blocked_routes | number | yes | – |
| public_api_enabled | boolean | yes | – |
| server_signing | boolean | yes | – |
| server_submission | boolean | yes | – |
| source_only_asset_endpoints | array | yes | – |
| source_only_routes | array | yes | – |
| status | string | yes | – |
| temporarily_unavailable_route_count | integer | – | – |
| temporarily_unavailable_routes | array | – | – |
| unsigned_route_plans_ready | number | yes | – |
No examples provided.
assetfare_v2_prepare ~505
Return one deeply verified first unsigned bundle plus a self-verifying caller-wallet handoff. Callers must explicitly pass caller_approved=true, approval_v3 selected as one_shot, and the hash-bound verification_context copied from the exact quote/public wallets; multi-step quotes reject one_shot. Example: pass the exact context saved during quote selection. Context is validated before the upstream request and never forwarded. caller_approved:true is not human proof; AssetFare never signs or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_usd | number | yes | Requested input value in USD, minimum 1. USD 1 is reachability/schema smoke only. A USD 50 competitive bucket was observed only for dated 2026-09-23 Solana USDC to Base USDC evidence and must not be… |
| approval_v3 | object | yes | Strict one-shot approval copied from the exact unexpired selected quote; its bounds may only be strengthened. |
| caller_approved | boolean | yes | Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding. |
| event_signer_public | – | – | Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key. |
| from_chain | string | yes | Source chain for the v2 route. Polygon, Optimism, Ethereum and HyperEVM are source-only and cannot be used as to_chain. |
| from_token | string | yes | Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities. |
| to_chain | string | yes | Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations. |
| to_token | string | yes | Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities. |
| verification_context | object | yes | Strict caller-held one-shot context copied from the selected quote, approval and public wallets. It is verified before prepare and never forwarded upstream. |
| wallets | object | yes | Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to eight entries, never private keys or seed phrases. |
| Name | Type | Req | Description |
|---|---|---|---|
| action_verification | object | yes | Fail-closed semantic and approval-bound verification result; it never authorizes a signature by itself. |
| bundle | object | yes | Exact Core bundle whose payload_sha256 remains scoped only to this nested object. |
| caller_wallet_handoff | object | yes | Fresh self-verifying EIP-1193 or Solana Wallet Standard handoff. The caller still simulates, confirms, signs and submits. |
| semantic_verification | boolean | yes | True only after full decoded action, intent, receipt, payload and caller-bound verification. |
No examples provided.
assetfare_v2_quote ~316
Get one unranked fresh candidate with direct_route_summary and continuation_v3. The adapter verifies the canonical full-quote hash, route-summary hash, fingerprint claim, wallet/signer requirements, path, bounds, modes, and TTL. It never auto-selects or treats caller_approved:true as human proof. Example: quote solana USDC to Base USDC at USD 1000. Read-only; never authenticates, prepares, signs, or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_usd | number | yes | Requested input value in USD, minimum 1. USD 1 is reachability/schema smoke only. A USD 50 competitive bucket was observed only for dated 2026-09-23 Solana USDC to Base USDC evidence and must not be… |
| from_chain | string | yes | Source chain for the v2 route. Polygon, Optimism, Ethereum and HyperEVM are source-only and cannot be used as to_chain. |
| from_token | string | yes | Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities. |
| to_chain | string | yes | Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations. |
| to_token | string | yes | Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities. |
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | yes | – |
| caller_action_plan_handoff | object | yes | – |
| continuation_v3 | object | yes | – |
| cost_summary | object | yes | – |
| direct_route_summary | object | yes | – |
| eta | object | yes | – |
| execution | object | yes | – |
| intent | object | yes | – |
| offer | object | yes | – |
| quote_id | string | yes | – |
| risk | object | yes | – |
| route | object | yes | – |
| status | string | yes | – |
| ttl_seconds | integer | yes | – |
No examples provided.
assetfare_v2_session_create ~636
Create one receipt-driven workflow. Callers must explicitly pass caller_approved=true, the exact approval_v3 selected as session, the same idempotency_key, a caller-local session token, and verification_context copied from the selected quote/public wallets. Example: validate and pass the exact context saved with the selected quote. The adapter validates approval and context before the upstream request. Every returned action is deeply verified and receives a self-verifying wallet handoff. AssetFare never signs or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_usd | number | yes | Requested input value in USD, minimum 1. USD 1 is reachability/schema smoke only. A USD 50 competitive bucket was observed only for dated 2026-09-23 Solana USDC to Base USDC evidence and must not be… |
| approval_v3 | object | yes | Strict Core 2.4.1 session quote-bound selection from the exact unexpired quote. Required for every remote session flow. |
| caller_approved | boolean | yes | Legacy caller assertion that MUST be supplied explicitly. It is not human-proof and is never auto-inserted; approval_v3 adds server-enforced quote binding. |
| event_signer_public | – | – | Solana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key. |
| from_chain | string | yes | Source chain for the v2 route. Polygon, Optimism, Ethereum and HyperEVM are source-only and cannot be used as to_chain. |
| from_token | string | yes | Input token symbol on from_chain. The chain-token pair must appear in current v2 capabilities. |
| idempotency_key | string | yes | Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII k… |
| session_token | string | yes | Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access… |
| to_chain | string | yes | Destination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Source-only chains are not destinations. |
| to_token | string | yes | Output token symbol on to_chain. The chain-token pair must appear in current v2 capabilities. |
| verification_context | object | yes | Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP… |
| wallets | object | yes | Map each chain needed by this route to the caller's public wallet address. Include public addresses only; one to eight entries, never private keys or seed phrases. |
| Name | Type | Req | Description |
|---|---|---|---|
| action_available | boolean | yes | – |
| current_action | – | yes | – |
| quote_binding | – | yes | – |
| server_signing | boolean | yes | – |
| server_submission | boolean | yes | – |
| session_id | string | yes | – |
| signed | boolean | yes | – |
| status | string | yes | – |
| submitted | boolean | yes | – |
No examples provided.
assetfare_v2_session_get ~212
Read an existing v2 workflow without advancing it. Example: pass session_id, session_token, and the original verification_context after restart. The adapter deeply verifies any current_action and emits a self-verifying wallet handoff, or fails closed. Read-only; never signs or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID. |
| session_token | string | yes | Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access… |
| verification_context | object | yes | Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP… |
| Name | Type | Req | Description |
|---|---|---|---|
| action_available | boolean | yes | – |
| current_action | – | yes | – |
| quote_binding | – | yes | – |
| server_signing | boolean | yes | – |
| server_submission | boolean | yes | – |
| session_id | string | yes | – |
| signed | boolean | yes | – |
| status | string | yes | – |
| submitted | boolean | yes | – |
No examples provided.
assetfare_v2_session_observe_output ~299
Record an already-produced bridge or destination output, then advance the workflow. Example: pass the output hash, a new idempotency key, and the original verification_context. Any next current_action is deeply verified and receives a wallet handoff. AssetFare never signs or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII k… |
| session_id | string | yes | V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID. |
| session_token | string | yes | Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access… |
| transaction_hash | string | – | Optional bridge or destination transaction hash already produced outside AssetFare. Omit only when the provider output can be observed without a hash. |
| verification_context | object | yes | Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP… |
| Name | Type | Req | Description |
|---|---|---|---|
| action_available | boolean | yes | – |
| current_action | – | yes | – |
| quote_binding | – | yes | – |
| server_signing | boolean | yes | – |
| server_submission | boolean | yes | – |
| session_id | string | yes | – |
| signed | boolean | yes | – |
| status | string | yes | – |
| submitted | boolean | yes | – |
No examples provided.
assetfare_v2_session_observe_source ~300
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 original verification_context. Any next current_action is deeply verified and receives a wallet handoff. AssetFare never signs or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII k… |
| session_id | string | yes | V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID. |
| session_token | string | yes | Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access… |
| transaction_hashes | array | yes | One to eight hashes for source transactions the caller already signed and submitted. Do not provide unsigned payloads or destination hashes. |
| verification_context | object | yes | Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP… |
| Name | Type | Req | Description |
|---|---|---|---|
| action_available | boolean | yes | – |
| current_action | – | yes | – |
| quote_binding | – | yes | – |
| server_signing | boolean | yes | – |
| server_submission | boolean | yes | – |
| session_id | string | yes | – |
| signed | boolean | yes | – |
| status | string | yes | – |
| submitted | boolean | yes | – |
No examples provided.
assetfare_v2_session_refresh_action ~267
Refresh an expired action only while it remains unsubmitted. Example: pass the existing session, a new idempotency key, and the original verification_context. The refreshed action is deeply verified and receives a wallet handoff. Never refresh a submitted step; AssetFare never signs or submits.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | Caller-generated retry key, 8-128 characters. Reuse it only when retrying the same logical mutation; choose a new key for a new operation. Strict approval_v3 requests additionally enforce its ASCII k… |
| session_id | string | yes | V2 workflow session UUID returned by assetfare_v2_session_create. Use only with assetfare_v2_session_* tools; do not pass a legacy session ID. |
| session_token | string | yes | Sensitive caller-generated v2 session capability: at least 32 CSPRNG bytes encoded as 43-128 URL-safe base64 characters. Generate it locally; never log it or substitute a private key or legacy access… |
| verification_context | object | yes | Strict caller-held context copied from the selected quote and approval. It contains public intent/wallet data only, never the raw session token or a private key, and is required whenever a remote MCP… |
| Name | Type | Req | Description |
|---|---|---|---|
| action_available | boolean | yes | – |
| current_action | – | yes | – |
| quote_binding | – | yes | – |
| server_signing | boolean | yes | – |
| server_submission | boolean | yes | – |
| session_id | string | yes | – |
| signed | boolean | yes | – |
| status | string | yes | – |
| submitted | boolean | yes | – |
No examples provided.
What is the AssetFare USDC Bridge MCP server?
AssetFare USDC Bridge is an MCP server listed in the public MCP registry as io.github.odaiin/assetfare-bridge. Non-custodial USDC bridge and cross-chain swap quotes: Solana to Base; unsigned, never signs/submits. This page covers its hosted endpoint (https://api.assetfare.dev/mcp/bridge). Its publisher has verified ownership with us.
Is the AssetFare USDC Bridge MCP server safe to use?
AssetFare USDC Bridge scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the AssetFare USDC Bridge MCP server expose?
AssetFare USDC Bridge exposes 9 tools: assetfare_manifest, assetfare_v2_capabilities, assetfare_v2_quote, assetfare_v2_prepare, assetfare_v2_session_create, and 4 more. Their descriptions and schemas cost roughly 2,697 tokens of context every time the server is loaded.
Does the AssetFare USDC Bridge MCP server require authentication?
No. We connected to AssetFare USDC Bridge without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the AssetFare USDC Bridge MCP server still maintained?
AssetFare USDC Bridge is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.