AssetFare

Có giới hạn, không lưu ký, quy trình báo giá và thực thi chưa ký từ Solana SOL sang Base ETH dành cho các tác nhân AI. Mười ba công cụ MCP từ xa; máy chủ không bao giờ nhận khóa riêng tư và không bao giờ ký hoặc gửi giao dịch.

GitHubDùng thử MCP nàyĐược tài trợ

Máy chủ MCP được lưu trữ

npx add-mcp 'https://api.assetfare.dev/mcp'

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

AssetFare MCP — Solana to Base or Arbitrum bridge API

AssetFare MCP connector

An MCP client/server wrapper for AssetFare's capped, non-custodial Solana SOL → Base ETH or Arbitrum ETH workflows. Use it when an AI agent needs a verifiable quote, bridge workflow, or unsigned execution plan without handing custody to a routing service.

MCP is optional. AssetFare's primary machine interface is the public REST API described by OpenAPI. Agents can obtain and compare a quote without installing this wrapper:

  • APIs.json: https://assetfare.dev/apis.json
  • OpenAPI: https://api.assetfare.dev/openapi.json
  • Read-only Arazzo workflow: https://assetfare.dev/arazzo.yaml

Safety model

  • AssetFare MCP never accepts a private key and never signs or submits a transaction.
  • Read-only tools expose current status, signed manifest, and quotes.
  • State-changing tools only create authentication/session records or prepare/verify unsigned workflow actions. MCP clients should require user approval for those calls.
  • The caller independently verifies every returned unsigned action and signs/submits with its own wallets.

Remote endpoint

https://api.assetfare.dev/mcp

Official MCP Registry server: io.github.odaiin/assetfare.

REST/OpenAPI first call

Use the public quote endpoint when an agent has not explicitly connected MCP. No API key, wallet authentication, session, signature, or transaction is required for this read-only evaluation call:

node examples/rest-quote.mjs 300
python3 examples/rest_quote.py 300
curl -sS https://api.assetfare.dev/v1/quote \
  -H 'content-type: application/json' \
  -d '{"from_chain":"solana","from_token":"SOL","to_chain":"base","to_token":"ETH","amount_usd":300}'

Connect a remote MCP client directly—no package installation or AssetFare API key is required:

claude mcp add --transport http assetfare https://api.assetfare.dev/mcp
{
  "mcpServers": {
    "assetfare": {
      "url": "https://api.assetfare.dev/mcp"
    }
  }
}

Codex CLI and app

Add the remote server from the CLI:

codex mcp add assetfare --url https://api.assetfare.dev/mcp

Or add it to ~/.codex/config.toml or a project .codex/config.toml. The writes approval mode prompts for tools that are not annotated read-only:

[mcp_servers.assetfare]
url = "https://api.assetfare.dev/mcp"
default_tools_approval_mode = "writes"

Gemini CLI

gemini mcp add --transport http assetfare https://api.assetfare.dev/mcp

Equivalent ~/.gemini/settings.json entry:

{
  "mcpServers": {
    "assetfare": {
      "url": "https://api.assetfare.dev/mcp",
      "type": "http",
      "trust": false
    }
  }
}

Cursor

Add the following server to a project .cursor/mcp.json or the global ~/.cursor/mcp.json:

{
  "mcpServers": {
    "assetfare": {
      "url": "https://api.assetfare.dev/mcp"
    }
  }
}

Connecting is unauthenticated. Execution tools subsequently require the wallet-bound token produced by AssetFare's non-transactional signMessage flow. Do not place that token in any MCP configuration file.

Agent skill

The portable Agent Skill is skills/assetfare-route/SKILL.md. Skills.lc-compatible clients can install it directly from this public GitHub repository.

First-call evaluation

Run npm run first-call-eval to verify a fresh MCP client can discover the tools, validate the signed manifest and status, and obtain a $300 quote without creating a wallet login, session, signature, or transaction.

Use Streamable HTTP. The endpoint has no server-side API key; wallet authentication happens through the AssetFare tools.

Local stdio

The repository also contains a stdio-compatible wrapper for self-hosting. The public Registry entry uses the remote Streamable HTTP endpoint; npm publication is intentionally deferred until a separate package-release review.

Trust material

  • Security contact: security@assetfare.dev
  • Security policy and private reporting: https://github.com/odaiin/assetfare-mcp/security/policy
  • Signed manifest: https://api.assetfare.dev/.well-known/assetfare-manifest.json
  • Public signing key: https://assetfare.dev/.well-known/assetfare-manifest.pub
  • Status: https://api.assetfare.dev/v1/status
  • OpenAPI: https://api.assetfare.dev/openapi.json
  • APIs.json: https://assetfare.dev/apis.json
  • Arazzo: https://assetfare.dev/arazzo.yaml
  • Server card: https://api.assetfare.dev/.well-known/mcp/server-card.json
  • Agent guide: https://assetfare.dev/llms-full.txt
  • Mainnet evidence: https://assetfare.dev/evidence/
  • Live same-input comparison: https://assetfare.dev/compare/solana-to-base/

Discovery

  • Official MCP Registry: io.github.odaiin/assetfare
  • Smithery: https://smithery.ai/servers/twotw55/assetfare
  • Glama: https://glama.ai/mcp/connectors/io.github.odaiin/assetfare
  • Agent Skill: https://www.skills.sh/odaiin/assetfare-mcp/assetfare-route

The wrapper deliberately contains no AssetFare route engine, wallets, RPC credentials, or internal operations data.

Agent use case

For a Solana-to-Base or Solana-to-Arbitrum $300 request, an agent reads the signed manifest and status, calls assetfare_quote with destination_chain, compares disclosed executable receive and ETA, and only then asks the wallet owner to approve the non-transactional login message. The agent independently signs and submits every on-chain action; this MCP server never does.

See the first-call evaluation script, the public mainnet evidence at https://assetfare.dev/evidence/, and the end-to-end case study at https://assetfare.dev/case-studies/solana-to-base-mainnet-canary/.