# Quickstart

There are three ways to use PulseSwap, and they take about a minute, ten minutes and an afternoon respectively. All three quote the same routes and settle the same way — non-custodial, straight from the user's wallet.

## 1. Swap on pulseswap.io

No account, no signup, no email. Open the swap, pick a pair, and PulseSwap quotes every DEX & aggregator enabled for that chain at once — 11 of them on PulseChain, across 17 blockchains in total — then routes your trade through whichever one pays out the most.

1. Open [the swap](https://pulseswap.io/?chain=pulsechain) and pick the network.
2. Choose the token you are selling and the one you are buying, then type an amount.
3. Compare the routes: every quote stays on screen with what it would pay out, and the best one is selected for you. Take a different one by hand whenever you disagree.
4. Connect a wallet and confirm. Quotes are fetched with no wallet attached, so connecting is the last step.

## 2. Embed the widget on your site

One `<iframe>` puts the whole swap card on your own page — best-rate quotes, wallet connect and execution, without sending your users anywhere. No key, no registration, no rate limit, and the same rates as pulseswap.io itself.

The URL takes `chain`, `from`, `to`, `amount` and `border`, so you can hand a visitor a preselected pair. [Embed the widget](https://pulseswap.io/docs/embed-swap-widget) has the copy-paste snippet, a live demo of the real widget and every parameter.

> **⚠️ Always pass `chain` in a deep link.** Without it the URL normalizer rewrites the query to its default and your `to` token is dropped.

## 3. Build against the API or the SDK

For wallets, dApps and trading tools that need the quote itself rather than a UI. The quote service takes a JSON body and answers with the amount out, a gas estimate and — when you pass a user address — ready-to-send transaction data.

Two endpoints, same request and response shape: `POST /quotes` for the standard routing algorithm, and `POST /quotes/advanced` for a deeper route search on large or illiquid pairs. Both live under `https://quotes.pulseswap.io/api/v2`.

```bash
curl -X POST https://quotes.pulseswap.io/api/v2/quotes \
  -H "Content-Type: application/json" \
  -d '{
    "chainId": 369,
    "platform": "pulsex_v2",
    "fromToken": "0x0000000000000000000000000000000000000000",
    "toToken": "0x95B303987A60C71504D99Aa1b13B4DA07b0790ab",
    "amountIn": "1000000000000000000",
    "slippage": 0.5
  }'
```

That is the whole handshake. [API reference](https://pulseswap.io/docs/api) documents the request and response schemas, the platforms you can name, the validation rules and the error shapes; if you are writing TypeScript, the [SDK reference](https://pulseswap.io/docs/sdk) wraps the same service in a typed client (`pulseswap-sdk` on npm) that picks the right endpoint for you.

> **Piteas is one of the partners PulseSwap routes through, and its quote API is origin-whitelisted.** It answers requests from the pulseswap.io origin — so it works on the live site and in your embedded widget, while a `curl` from your laptop gets a 403 and simply sees one route fewer.

## What next

- [What is PulseSwap](https://pulseswap.io/docs/what-is-pulseswap) — how best-rate routing and custody actually work.
- [Supported chains & DEXes](https://pulseswap.io/docs/supported-chains) — every network and every quote source, generated from the live routing config.
- [API reference](https://pulseswap.io/docs/api) and [SDK reference](https://pulseswap.io/docs/sdk) — the developer surface in full.

---

Canonical HTML page: <https://pulseswap.io/docs/quickstart>
