Odel
CrossFin

CrossFin

@bubilife1202Developer ToolsTypeScriptMITUpdated 3mo ago

AI agent access to Asian crypto markets. Korean exchange routing and x402 paid APIs.

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

CrossFin

The only way AI agents access Asian crypto markets.

CrossFin is a financial router for AI agents. It finds the cheapest path to move money across 14 exchanges (Bithumb, Upbit, Coinone, GoPax, bitFlyer, WazirX, bitbank, Indodax, Bitkub, Binance, OKX, Bybit, KuCoin, Coinbase), pays for APIs with crypto (x402 protocol), and gives agents real-time access to market data that's normally locked behind Korean-language interfaces and IP restrictions.

Live: crossfin.dev | Demo: live.crossfin.dev


Install in 30 seconds

Add this to your MCP client config:

{
  "mcpServers": {
    "crossfin": {
      "command": "npx",
      "args": ["-y", "crossfin-mcp"],
      "env": {
        "EVM_PRIVATE_KEY": "0x..."
      }
    }
  }
}

Restart your MCP client. Done. 16 tools available immediately.

All API endpoints are currently free during open beta. No API key required. EVM wallet is optional (needed for x402 payment flow testing).


What can it do?

Ask your agent:

  • "빗썸에서 바이낸스로 500만원 USDC 만들려면 가장 싼 방법이 뭐야?" → Routing engine evaluates 13 bridge coins across 14 exchanges, returns optimal path with fees
  • "지금 한국-글로벌 스프레드 얼마야?" → Real-time price spread between Korean and global exchanges for 13 crypto pairs
  • "일본이랑 태국 프리미엄 비교해줘" → Asian Premium Index across Korea, Japan, Indonesia, Thailand
  • "오늘 한국 시장 브리핑해줘" → Morning Brief bundle: route spread + FX + headlines

For developers/agents:

  • find_optimal_route — cheapest/fastest/balanced path across Bithumb, Upbit, Coinone, GoPax, bitFlyer, WazirX, bitbank, Indodax, Bitkub, Binance, OKX, Bybit, KuCoin, Coinbase using 13 bridge coins (BTC, ETH, XRP, SOL, DOGE, ADA, DOT, LINK, AVAX, TRX, KAIA, SUI, APT)
  • get_kimchi_premium — real-time Korean vs. global route spread
  • compare_exchange_prices — live Bithumb KRW vs Binance USD price comparison
  • call_paid_service — call any paid API with automatic x402 USDC payment (currently free during open beta)
  • Asian Premium endpoints — Japan, Indonesia, Thailand crypto premiums vs global markets

Why CrossFin?

Korean exchanges are a walled garden. Korean-language APIs, IP restrictions, real-name bank account requirements (실명확인 계좌제), and no English documentation. AI agents can't access them — unless they go through CrossFin.

Prices differ across exchanges. The same BTC can be 2-3% more expensive on Korean exchanges (route spread). CrossFin's routing engine finds the cheapest bridge coin and path, factoring in trading fees, withdrawal fees, slippage, and transfer time.

x402 ready. No API keys, no subscriptions, no invoices. All endpoints are currently free during open beta. x402 payment infrastructure (USDC on Base) ready for future activation.


Routing Engine

The core product. Given a source (exchange + currency) and destination, CrossFin evaluates all possible paths:

Input:  bithumb:KRW → binance:USDC, ₩5,000,000
Output: Buy AVAX on Bithumb → Transfer to Binance → Sell for USDC
        Cost: 0.07% (₩3,500) | Time: ~3 min | Output: $3,452 USDC

        Alternatives:
        BTC  → 0.33% | ~21 min | $3,443
        DOT  → 0.38% | ~6 min  | $3,441

Considers: trading fees (0.10–0.25%), withdrawal fees (fixed per coin), orderbook slippage, transfer time, route spread direction.

Supports bidirectional routing: Korea → Global and Global → Korea.

Free preview: POST /api/acp/quote (ACP compatible) Full route: GET /api/premium/route/find (free during open beta)


MCP Tools (16 total)

ToolWhat it does
find_optimal_routeOptimal crypto transfer path across 14 exchanges (free)
list_exchange_feesTrading + withdrawal fee comparison
compare_exchange_pricesLive Bithumb KRW vs Binance USD comparison
get_kimchi_premiumKorean vs. global route spread (free preview)
search_servicesSearch registered services
get_guideFull agent guide (services, payment flow, examples)
call_paid_serviceCall any paid API with automatic x402 payment
create_walletLocal ledger wallet
get_balanceCheck wallet balance
transferTransfer between wallets
list_transactionsTransaction history
set_budgetDaily spend limit
list_servicesBrowse service catalog
get_serviceService details
list_categoriesService categories
get_analyticsGateway usage stats

Asian Premium Index (v1.18.0)

Real-time crypto premium analysis across 4 Asian countries. All free, no API key needed.

EndpointDescription
GET /api/premium/asia/japanJapan premium — bitbank.cc JPY vs Binance USD
GET /api/premium/asia/indonesiaIndonesia premium — Indodax IDR vs Binance USD
GET /api/premium/asia/thailandThailand premium — Bitkub THB vs Binance USD
GET /api/premium/asia/overview4-country overview (Korea + Japan + Indonesia + Thailand)

Data sources: bitbank.cc (Japan), Indodax (Indonesia), Bitkub (Thailand), Bithumb (Korea), Binance (Global)


API Endpoints (Currently All Free)

All endpoints are currently free during open beta. x402 payment infrastructure is ready for future activation.

Korean Market APIs
EndpointPriceDescription
/api/premium/arbitrage/kimchiFreeFull Route Spread (13 pairs incl. KAIA, SUI, APT)
/api/premium/arbitrage/opportunitiesFreeArbitrage indicators (POSITIVE_SPREAD/NEUTRAL/NEGATIVE_SPREAD)
/api/premium/bithumb/orderbook?pair=BTCFreeBithumb orderbook (30 levels)
/api/premium/market/upbit/tickerFreeUpbit ticker
/api/premium/market/upbit/orderbookFreeUpbit orderbook
/api/premium/market/coinone/tickerFreeCoinone ticker
/api/premium/market/fx/usdkrwFreeUSD/KRW exchange rate
/api/premium/market/koreaFreeKorean market sentiment
/api/premium/market/cross-exchangeFreeCross-exchange arbitrage decision
/api/premium/news/korea/headlinesFreeKorean headlines
/api/premium/arbitrage/kimchi/historyFreeRoute spread history (7 days)
/api/premium/bithumb/volume-analysisFreeBithumb volume analysis
/api/premium/market/upbit/signalsFreeUpbit trading signals
/api/premium/crypto/korea/5exchangeFreeCross-exchange price comparison
/api/premium/crypto/korea/exchange-statusFreeDeposit/withdrawal status
/api/premium/crypto/korea/fx-rateFreeReal-time KRW/USD (Upbit CRIX)
/api/premium/crypto/korea/upbit-candlesFreeUpbit OHLCV candles
Bundle APIs
EndpointPriceDescription
/api/premium/morning/briefFreeMorning Brief (route spread + FX + headlines)
/api/premium/crypto/snapshotFreeCrypto Snapshot (4-exchange + route spread + volume + FX)
/api/premium/kimchi/statsFreeRoute Spread Stats (spreads + trend + arbitrage signal)
Utility APIs (Temporarily Free in Open Beta)
EndpointPriceDescription
/api/premium/reportFreePremium report (agents/wallets/transactions summary)
/api/premium/enterpriseFreeEnterprise receipt/proof endpoint
/api/legal/disclaimerFreeFull legal disclaimer (EN/KO)
/api/analytics/overviewFreeGateway analytics overview
/api/analytics/funnel/overviewFreeFunnel analytics overview
/api/analytics/funnel/eventsFreeFunnel analytics event ingestion
/api/analytics/services/{serviceId}FreePer-service analytics
/api/onchain/usdc-transfersFreeOn-chain USDC transfer monitor (Base)
/api/proxy/{serviceId}FreeProxy endpoint for registered services
/api/telegram/webhookFreeTelegram bot webhook endpoint
Protocol APIs (A2A + ACP)
EndpointPriceDescription
POST /api/a2a/tasksFreeA2A task execution (crypto-routing, route-spread, market data)
GET /api/acp/statusFreeACP protocol status and capabilities
POST /api/acp/quoteFreeACP-compatible routing quote (preview)
POST /api/acp/executeFreeACP execution endpoint
Routing Engine
EndpointPriceDescription
GET /api/route/exchangesFreeSupported exchanges and coins
GET /api/route/feesFreeFee comparison table
GET /api/route/pairsFreeTrading pairs with live prices
GET /api/route/statusFreeExchange health check
GET /api/premium/route/findFreeFull optimal route analysis
POST /api/acp/quoteFreeACP-compatible routing quote (preview)
Registry & Discovery (Free)
EndpointDescription
GET /api/registryList all registered services
GET /api/registry/search?q=...Full-text search
GET /api/registry/categoriesCategories with counts
GET /api/registry/statsRegistry stats (total/crossfin/external)
GET /api/docs/guideStructured agent guide
GET /.well-known/crossfin.jsonAgent auto-discovery
GET /.well-known/x402.jsonx402 discovery metadata
GET /.well-known/agent.jsonA2A Agent Card
GET /.well-known/ai-plugin.jsonOpenAI plugin manifest
GET /llms.txtLLM-readable site map
GET /api/openapi.jsonOpenAPI 3.1 spec

Payment (x402)

Note: All endpoints are currently free during open beta. The x402 payment code below is for reference when payments are re-enabled.

No API keys. No subscriptions. Pay per call with USDC on Base.

import { x402Client, wrapFetchWithPayment } from '@x402/fetch'
import { registerExactEvmScheme } from '@x402/evm/exact/client'
import { privateKeyToAccount } from 'viem/accounts'

const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY)
const client = new x402Client()
registerExactEvmScheme(client, { signer })

const paidFetch = wrapFetchWithPayment(fetch, client)
const res = await paidFetch('https://crossfin.dev/api/premium/arbitrage/kimchi')
console.log(await res.json())
Python
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

client = x402ClientSync()
account = Account.from_key(os.environ['EVM_PRIVATE_KEY'])
register_exact_evm_client(client, EthAccountSigner(account))

with x402_requests(client) as session:
    r = session.get('https://crossfin.dev/api/premium/arbitrage/kimchi')
    print(r.json())

Tech Stack

Cloudflare Workers + Hono, D1 (SQLite), x402 protocol, USDC on Base, MCP SDK, React + Vite (dashboard)

Project Structure

apps/
  api/          Cloudflare Workers API
  mcp-server/   MCP Server (16 tools, npm: crossfin-mcp)
  web/          Gateway Dashboard (crossfin.dev)
  live/         Live Demo (live.crossfin.dev)
  docs/         Documentation (docs.crossfin.dev)

Release Verification

Run a full pre-deploy verification sweep in one command:

npm --prefix apps/api run verify:release

This command runs API contract/catalog verification, builds API/web/docs in parallel, checks production API/page responses, and fails on stale copy patterns in README/docs/web/live/examples.

Links

Built with AI

CrossFin was built entirely through AI collaboration by a non-developer in 1 week. Zero prior coding experience. This project is proof that AI agents can build production software — and CrossFin is the infrastructure for that future.