> For the complete documentation index, see [llms.txt](https://docs.leather.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.leather.io/developers/methods/openswap.md).

# openSwap

Open the Leather swap screen with a trading pair preselected.

## Method name

`openSwap`

`openSwap` is a Leather method. It is not part of SIP-030.

## **Parameters**

| Parameter | Description                                                  | Required | Type     |
| --------- | ------------------------------------------------------------ | -------- | -------- |
| `base`    | Symbol of the asset to swap from, for example `STX` or `BTC` | ✅        | `string` |
| `quote`   | Symbol of the asset to swap to                               | ✅        | `string` |

A symbol is 1 to 32 characters from `a-z`, `A-Z`, `0-9`, `$`, `.`, `_` and `-`. If `base` is missing or not a valid symbol, Leather uses `STX`. A `base` of `BTC` opens a Bitcoin swap. Any other `base` opens a Stacks swap.

## **Example request**

```typescript
try {
  const response = await window.LeatherProvider.request("openSwap", {
    base: "STX",
    quote: "sBTC",
  });

  console.log("Response:", response);
} catch (error) {
  console.log("Request error:", error);
}
```

## Example Response

```json
{
    "jsonrpc": "2.0",
    "id": "3b2f0c1e-7a4d-4c8e-9f15-2d6a8b1e0c47",
    "result": {
        "message": "Success"
    }
}
```

The response returns as soon as the swap screen opens. It does not report whether the user completed a swap.
