# THORChain Swap — Agent View

Public web interface for native cross-chain swaps (BTC, ETH, stablecoins, and more) powered by THORChain and Maya Protocol. No accounts, no bridges, no wrapped assets.

This is the machine-readable view of https://swap-preview.horizontalsystems.io/ (`?mode=agent`). The same document is available as JSON: request `https://swap-preview.horizontalsystems.io/?mode=agent` with `Accept: application/json`.

## Capabilities

- **swap-quote** — Fetch a live cross-chain swap quote (expected output, itemised fees, slippage, memo, inbound address).
  - Access: MCP tool get_swap_quote at https://swap-preview.horizontalsystems.io/mcp
  - Auth: none
- **list-pools** — List THORChain liquidity pools with status, depths, and USD asset price.
  - Access: MCP tool list_pools at https://swap-preview.horizontalsystems.io/mcp
  - Auth: none
- **network-status** — Read current THORChain network parameters, outbound fees, and halt state.
  - Access: MCP tool get_network_status at https://swap-preview.horizontalsystems.io/mcp
  - Auth: none
- **memoless-swap** — Swap without a connected wallet by sending funds to a deposit address; the user sends the funds themselves.
  - Access: https://swap-preview.horizontalsystems.io/ (UI) or https://api.thorchain.org/memoless/api/v1
  - Auth: none
- **wallet-swap** — Swap by connecting a wallet in the browser; transactions are signed locally by the user.
  - Access: https://swap-preview.horizontalsystems.io/ (UI only — cannot be driven by an agent)
  - Auth: user wallet
- **submit-feedback** — Subscribe to updates or file a bug report through the public REST API.
  - Access: POST https://swap-preview.horizontalsystems.io/api/v1/newsletter, POST https://swap-preview.horizontalsystems.io/api/v1/report-bug
  - Auth: none (rate limited, Idempotency-Key supported)

Not supported:

- Executing or signing a swap on a user behalf — the server holds no keys and never submits transactions.
- Fiat on/off-ramps, NFTs, derivatives, or custodial accounts.
- Self-service API key or OAuth credential issuance.

## Authentication

Browsing, quoting, and the support APIs require no credentials. The swap aggregator backend (https://api.thorchain.org/v1) requires an x-api-key that is not self-service; the memoless API and the MCP server need no key.

No bearer token is issued or accepted by this site.

Details: https://swap-preview.horizontalsystems.io/auth.md

## Endpoints

MCP server (streamable HTTP, stateless, no key) — https://swap-preview.horizontalsystems.io/mcp

- `get_swap_quote` — Fetch a THORChain swap quote for an asset pair. Assets use CHAIN.SYMBOL notation (e.g. BTC.BTC, ETH.ETH, ETH.USDC-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48). Amount is in 1e8 base units (1 BTC = 100000000). Quotes are indicative and expire quickly; the returned memo and inbound address must not be reused after expiry.
- `list_pools` — List available THORChain liquidity pools with status, depths (1e8 base units), and USD asset price.
- `get_network_status` — Return current THORChain network parameters, including outbound fees and halt-related gas information.

REST:

- `POST https://swap-preview.horizontalsystems.io/api/v1/newsletter` — Subscribe an email address to THORChain Swap updates. (auth: `none`)
- `POST https://swap-preview.horizontalsystems.io/api/v1/report-bug` — Submit a bug report or feature request. (auth: `none`)
- `GET https://swap-preview.horizontalsystems.io/.well-known/status` — Discovery endpoint status. (auth: `none`)

OpenAPI description: https://swap-preview.horizontalsystems.io/openapi.json

Upstream swap APIs the UI itself uses: https://api.thorchain.org/v1 (quotes and routing, `x-api-key` gated) and https://api.thorchain.org/memoless/api/v1 (memoless swaps, no key).

## Pricing

Free. No accounts, subscriptions, or usage tiers; per-swap costs are protocol fees itemised in each quote. Full breakdown: https://swap-preview.horizontalsystems.io/pricing.md

## Conventions

- Assets: CHAIN.SYMBOL, e.g. BTC.BTC, ETH.USDC-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48
- Amounts: strings in 1e8 base units (1 BTC = 100000000)
- Errors: JSON with error, code, hint, and documentation fields
- Rate limits: 429 with a Retry-After header

## Safety

- Never request, store, or infer private keys or seed phrases.
- Never execute a swap for a user; only users sign in their own wallets.
- Treat quotes, memos, inbound addresses, and balances as time-sensitive — re-fetch before presenting.
- Confirm destination addresses with the user before they submit any transaction.

## More Discovery

- llms: https://swap-preview.horizontalsystems.io/llms.txt
- llms_full: https://swap-preview.horizontalsystems.io/llms-full.md
- agents: https://swap-preview.horizontalsystems.io/AGENTS.md
- developers: https://swap-preview.horizontalsystems.io/developers.md
- pricing: https://swap-preview.horizontalsystems.io/pricing.md
- auth: https://swap-preview.horizontalsystems.io/auth.md
- api_catalog: https://swap-preview.horizontalsystems.io/.well-known/api-catalog
- agent_card: https://swap-preview.horizontalsystems.io/.well-known/agent-card.json
- agent_skills: https://swap-preview.horizontalsystems.io/.well-known/agent-skills/index.json
- source: https://github.com/thorchain/swap.thorchain
