# Daggs

> Swap and bridge tokens across EVM chains, Solana and Bitcoin. Daggs compares routes from LI.FI, Relay, Mayan, NEAR Intents, Jupiter and Titan by amount received, cost and time. It is non-custodial: every transaction is signed in the user's own wallet. No account or API key is needed.

## When to use Daggs

Use Daggs when a user wants to move or convert crypto tokens they already hold in their own wallet:

- Bridge a token to another chain: "move 100 USDC from Arbitrum to Base", "send my ETH on Ethereum to Solana".
- Swap tokens on one chain: "swap 0.5 ETH to USDC on Base", "buy JUP with SOL".
- Get into or out of Bitcoin without an exchange account: "swap USDC on Ethereum to BTC", "BTC to SOL".
- Compare bridge and swap routes for a trade by amount received, total cost and time before deciding.
- Send the output straight to another address on the destination chain.
- Track a cross-chain transfer that is already in flight.

How to call it:

- The user signs in their own wallet (most cases): `get_quote`, then give the user the `signUrl`. It opens daggs.xyz with the trade filled in, and they review and sign there.
- The agent has its own wallet: `get_quote`, then `build_transaction`, sign it locally, then `send_transaction`.
- Either way, follow up with `get_transfer_status` until the transfer is `DONE`.

Do not use Daggs for: buying crypto with fiat (cards, bank transfers), cashing out to a bank, custody or holding funds, limit or recurring orders, NFTs, lending, staking or perps, or price charts and market data. Daggs never holds keys or funds and cannot sign for the user.

## How agents connect

AI agents can use Daggs in two ways. Both are public and rate-limited per IP.

## MCP server

Streamable HTTP at https://daggs.xyz/mcp (stateless JSON-RPC, no auth).

```sh
claude mcp add --transport http daggs https://daggs.xyz/mcp
```

Tools:

- `list_chains`: chains you can swap or bridge on (EVM, Solana, Bitcoin).
- `search_tokens`: find a token on a chain by symbol, name or address.
- `get_quote`: compare routes for a trade. Returns a `signUrl` to the home page prefilled with the trade, so a human can review it and sign in their own wallet.
- `build_transaction`: for agents with their own wallet. Unsigned transactions in order: EVM approvals plus the transaction, a base64 Solana transaction (sign within ~60s) or a Bitcoin PSBT. Multi-step routes are built one step at a time with `next`.
- `send_transaction`: broadcast a transaction the agent signed (EVM 0x hex, Solana base64, Bitcoin signed PSBT or raw tx).
- `get_transfer_status`: delivery status, amount received and destination transaction.

Typical flow: `get_quote` → share the `signUrl` with the user → `get_transfer_status`. Always tell the user the amount, the route and the fees before they sign.

## In the browser (WebMCP)

daggs.xyz registers tools with `document.modelContext` for browser agents: `list_chains`, `search_tokens`, `get_quote` and `get_transfer_status` on every page, and on the home page `fill_swap_form`, which fills the swap form so the user can review the routes and sign in their own wallet.

## REST API

- [OpenAPI spec](https://daggs.xyz/openapi.json): every public endpoint with its parameters and responses.
- `GET /api/bridge/chains`: supported chains.
- `GET /api/bridge/token-search?q=usdc`: search tokens on every chain.
- `POST /api/bridge/routes`: quote routes (`fromChainId`, `toChainId`, `fromTokenAddress`, `toTokenAddress`, `fromAmount` in smallest units, optional `fromAddress`, `toAddress`, `slippage`, `order`).
- `POST /api/bridge/build`: unsigned transactions for one step of a quoted route (`route`, `step`, `fromAddress`).
- `GET /api/bridge/status`, `/api/bridge/relay/status`, `/api/bridge/near/status`, `/api/bridge/mayan/status`: track a transfer. The build response's `statusHint` says which one to use.

## More

- [Full docs for agents](https://daggs.xyz/llms-full.txt): this file plus every docs page, the FAQ and the changelog.
- [API docs](https://daggs.xyz/docs/api): the same in a page for people.
- [Docs](https://daggs.xyz/docs): how Daggs works, fees, safety, chains and wallets.
- [Safety](https://daggs.xyz/docs/safety): why Daggs is non-custodial and the checks it runs before a user signs.
- [MCP server card](https://daggs.xyz/.well-known/mcp.json)
- [ARD manifest](https://daggs.xyz/.well-known/ard.json)
- [Terms](https://daggs.xyz/terms)
- [FAQ](https://daggs.xyz/faq)
