AssetFare Route Quotes
api.assetfare.dev
· AssetFare
AssetFare is a non-custodial service with 100 technically available routes. Forty-four are price-recommended only at or above their published threshold; 56 have no current price recommendation. Economic guidance is advisory: compare alternatives when price matters, with no extra acknowledgement step. Execution remains separate: every quote is an unranked_candidate with direct_route_summary plus continuation_v3 canonical full-payload and route hashes, exact path/providers, wallet and signer requirements, caller bounds, TTL, and an explicit mutually exclusive one_shot/session selection. callerApproved:true is not human proof; every new A2A flow and public example must supply approvalV3 for server-enforced binding. AssetFare never auto-selects, auto-creates approval, signs, or submits.
api.assetfare.dev via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
B
Conformance score: 82/100
B-grade: working agent with minor gaps (often unsigned cards or thin metadata).
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
10 snapshots drifted 2× Every change toagent-card.json
| Captured | Hash | Snapshot |
|---|---|---|
| 2026-10-09 17:52:54 current | 9c0be3535fa8… |
view → |
| 2026-10-08 16:55:15 | f7a3a05a02c6… |
view → |
| 2026-10-05 04:43:46 | bc33a49aa48c… |
view → |
| 2026-10-04 20:47:20 | bc33a49aa48c… |
view → |
| 2026-10-04 14:12:05 | bc33a49aa48c… |
view → |
| 2026-10-04 07:10:43 | bc33a49aa48c… |
view → |
| 2026-10-03 18:35:44 | bc33a49aa48c… |
view → |
| 2026-10-03 12:09:58 | bc33a49aa48c… |
view → |
| 2026-10-03 05:53:16 | bc33a49aa48c… |
view → |
| 2026-10-02 23:42:51 | bc33a49aa48c… |
view → |
GET /api/agents/api.assetfare.dev/snapshots.Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
| Agent card | https://api.assetfare.dev/.well-known/agent-card.json |
| Provider | https://assetfare.dev |
| Docs | https://assetfare.dev/llms-full.txt |
Skills · 3 declared · mapped to canonical taxonomy
Return one fresh unranked_candidate quote with amount-specific guidance, total token-path cost, direct_route_summary, strict continuation_v3 binding, and route-…
Explicit one-shot POST /v2/prepare. The caller supplies approvalV3 selected_mode=one_shot and the exact hash-bound verificationContext. The adapter validates co…
Full quote-bound receipt-driven session lifecycle. Every A2A session call requires the caller-held hash-bound verificationContext; the adapter validates it befo…
Health · last 30 probes
Who's calling this agent 30d
1 interactions captured (impressions + lookups + A2A calls)
rest
1
Public view: top 3 per dimension. Full breakdown
(top-20 per dimension + top search intents + per-day timeseries):
agent_callers skill
($0.05/call, $0 on
Enterprise).
Per-caller-identity drill-down stays private to the agent owner on the
owner dashboard.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/api.assetfare.dev) [](https://agenstry.com/agents/api.assetfare.dev) [](https://agenstry.com/agents/api.assetfare.dev) [](https://agenstry.com/agents/api.assetfare.dev)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "AssetFare Route Quotes",
"description": "AssetFare is a non-custodial service with 100 technically available routes. Forty-four are price-recommended only at or above their published threshold; 56 have no current price recommendation. Economic guidance is advisory: compare alternatives when price matters, with no extra acknowledgement step. Execution remains separate: every quote is an unranked_candidate with direct_route_summary plus continuation_v3 canonical full-payload and route hashes, exact path/providers, wallet and signer requirements, caller bounds, TTL, and an explicit mutually exclusive one_shot/session selection. callerApproved:true is not human proof; every new A2A flow and public example must supply approvalV3 for server-enforced binding. AssetFare never auto-selects, auto-creates approval, signs, or submits.",
"supportedInterfaces": [
{
"url": "https://api.assetfare.dev/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "AssetFare",
"url": "https://assetfare.dev"
},
"version": "1.7.0",
"documentationUrl": "https://assetfare.dev/llms-full.txt",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extensions": [],
"extendedAgentCard": false
},
"securitySchemes": {},
"securityRequirements": [],
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "quote-cross-chain-route",
"name": "Quote a cross-chain route",
"description": "Return one fresh unranked_candidate quote with amount-specific guidance, total token-path cost, direct_route_summary, strict continuation_v3 binding, and route-exact unsigned prepare requirements. price_recommended_for_amount is advisory; compare alternatives when price matters, but no economic acknowledgement field is required. It does not inspect balances, react automatically to a 402, or auto-select or auto-prepare. Execution remains separate: the caller must supply approvalV3 for exactly one mode. Read-only; never prepares, signs, or submits.",
"tags": [
"native-usdc",
"solana-usdc",
"base-usdc",
"unsigned-transaction-plan",
"caller-signed",
"agent-wallet-funding",
"payment-wallet-funding",
"x402-wallet-funding",
"cross-chain",
"bridge",
"swap",
"crypto",
"quote",
"solana",
"base",
"arbitrum",
"robinhood",
"polygon",
"optimism",
"non-custodial"
],
"examples": [
"{\"fromChain\":\"solana\",\"fromToken\":\"USDC\",\"toChain\":\"base\",\"toToken\":\"USDC\",\"amountUsd\":1000}",
"{\"fromChain\":\"solana\",\"fromToken\":\"SOL\",\"toChain\":\"base\",\"toToken\":\"USDC\",\"amountUsd\":1000}",
"{\"fromChain\":\"optimism\",\"fromToken\":\"USDC\",\"toChain\":\"base\",\"toToken\":\"USDC\",\"amountUsd\":1000}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"securityRequirements": []
},
{
"id": "prepare-first-unsigned-action",
"name": "Prepare the first unsigned action (caller-approved)",
"description": "Explicit one-shot POST /v2/prepare. The caller supplies approvalV3 selected_mode=one_shot and the exact hash-bound verificationContext. The adapter validates context before upstream, deeply verifies the returned EVM/Solana action and caller bounds, then emits a self-verifying caller-wallet handoff. Multi-step quotes reject one-shot. callerApproved must be supplied explicitly and is not human proof. Never auto-called; AssetFare never signs or submits.",
"tags": [
"prepare",
"unsigned-action",
"cross-chain",
"non-custodial",
"caller-approved"
],
"examples": [
"{\"operation\":\"prepare\",\"callerApproved\":true,\"fromChain\":\"arbitrum\",\"fromToken\":\"ETH\",\"toChain\":\"arbitrum\",\"toToken\":\"USDC\",\"amountUsd\":2500,\"wallets\":{\"arbitrum\":\"0x2222222222222222222222222222222222222222\"},\"approvalV3\":{\"version\":\"assetfare-quote-bound-approval-v3\",\"quote_id\":\"<COPY_FROM_QUOTE>\",\"quote_fingerprint\":\"<COPY_64_HEX_FROM_QUOTE>\",\"selection_status\":\"selected\",\"selected_mode\":\"one_shot\",\"maximum_input_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MAXIMUM>\",\"minimum_output_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MINIMUM>\",\"direct_route_summary_sha256\":\"<COPY_64_HEX_FROM_QUOTE>\",\"idempotency_key\":\"prepare-0001\"},\"verificationContext\":{\"version\":\"assetfare-one-shot-verification-context-v1\",\"intent\":\"<COPY_EXACT_INTENT_OBJECT>\",\"wallets\":\"<COPY_PUBLIC_WALLET_MAP>\",\"event_signer_public\":null,\"approval_v3\":\"<COPY_EXACT_APPROVAL_V3_OBJECT>\",\"direct_route_summary\":\"<COPY_EXACT_DIRECT_ROUTE_SUMMARY_OBJECT>\",\"verification_context_sha256\":\"<RECOMPUTE_64_HEX>\"}}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"securityRequirements": []
},
{
"id": "session-lifecycle",
"name": "Run the caller-approved session lifecycle",
"description": "Full quote-bound receipt-driven session lifecycle. Every A2A session call requires the caller-held hash-bound verificationContext; the adapter validates it before any upstream call, deeply verifies every current EVM/Solana action, and returns a fresh self-verifying caller-wallet handoff. Session create also requires approvalV3 selected_mode=session and the same idempotencyKey. The caller locally generates the sessionToken and never exposes its raw value in logs. callerApproved is explicit but not human proof. Never auto-chains, signs, or submits.",
"tags": [
"session",
"lifecycle",
"observe",
"receipts",
"non-custodial",
"caller-approved"
],
"examples": [
"{\"operation\":\"session_create\",\"callerApproved\":true,\"fromChain\":\"arbitrum\",\"fromToken\":\"ETH\",\"toChain\":\"arbitrum\",\"toToken\":\"USDC\",\"amountUsd\":2500,\"wallets\":{\"arbitrum\":\"0x2222222222222222222222222222222222222222\"},\"sessionToken\":\"<CALLER_GENERATED_43_CHAR_BASE64URL_CAPABILITY>\",\"idempotencyKey\":\"create-0001\",\"approvalV3\":{\"version\":\"assetfare-quote-bound-approval-v3\",\"quote_id\":\"<COPY_FROM_QUOTE>\",\"quote_fingerprint\":\"<COPY_64_HEX_FROM_QUOTE>\",\"selection_status\":\"selected\",\"selected_mode\":\"session\",\"maximum_input_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MAXIMUM>\",\"minimum_output_base\":\"<COPY_OR_STRENGTHEN_QUOTE_MINIMUM>\",\"direct_route_summary_sha256\":\"<COPY_64_HEX_FROM_QUOTE>\",\"idempotency_key\":\"create-0001\"},\"verificationContext\":{\"version\":\"assetfare-session-verification-context-v1\",\"intent\":\"<COPY_EXACT_INTENT_OBJECT>\",\"wallets\":\"<COPY_PUBLIC_WALLET_MAP>\",\"event_signer_public\":null,\"approval_v3\":\"<COPY_EXACT_APPROVAL_V3_OBJECT>\",\"direct_route_summary\":\"<COPY_EXACT_DIRECT_ROUTE_SUMMARY_OBJECT>\",\"verification_context_sha256\":\"<RECOMPUTE_64_HEX>\"}}",
"{\"operation\":\"observe_source\",\"sessionId\":\"00000000-0000-4000-8000-000000000001\",\"sessionToken\":\"<capability>\",\"idempotencyKey\":\"src-0001\",\"transactionHashes\":[\"<caller-submitted-hash>\"],\"verificationContext\":\"<SAME_HASHED_CONTEXT_USED_AT_CREATE>\"}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"securityRequirements": []
}
],
"signatures": []
}