# SwapperWithSigner\<T, ChainIdentifier>

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:40](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L40)

Chain and signer-specific wrapper for automatic signer injection into swap methods

## Type Parameters

| Type Parameter                              |
| ------------------------------------------- |
| `T` *extends* `MultiChain`                  |
| `ChainIdentifier` *extends* `ChainIds`<`T`> |

## Constructors

### Constructor

```
new SwapperWithSigner<T, ChainIdentifier>(swapper, signer): SwapperWithSigner<T, ChainIdentifier>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:87](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L87)

#### Parameters

| Parameter | Type                                                                                                                                    |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `swapper` | [`SwapperWithChain`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/SwapperWithChain.md)<`T`, `ChainIdentifier`> |
| `signer`  | `T`\[`ChainIdentifier`]\[`"Signer"`]                                                                                                    |

#### Returns

`SwapperWithSigner`<`T`, `ChainIdentifier`>

## Properties

### chainIdentifier

```
readonly chainIdentifier: ChainIdentifier;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:51](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L51)

Smart chain identifier of this swapper with chain and signer

## Accessors

### intermediaryDiscovery

#### Get Signature

```
get intermediaryDiscovery(): IntermediaryDiscovery;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:62](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L62)

Intermediary discovery instance

##### Returns

[`IntermediaryDiscovery`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/IntermediaryDiscovery.md)

***

### prices

#### Get Signature

```
get prices(): SwapPriceWithChain<T, ChainIdentifier>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:56](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L56)

Pricing API used by the SDK

##### Returns

[`SwapPriceWithChain`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/SwapPriceWithChain.md)<`T`, `ChainIdentifier`>

***

### SwapTypeInfo

#### Get Signature

```
get SwapTypeInfo(): Record<SwapType, {

  requiresInputWallet: boolean;

  requiresOutputWallet: boolean;

  supportsGasDrop: boolean;

}>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:83](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L83)

Helper information about various swap protocol and their features:

* `requiresInputWallet`: Whether a swap requires a connected wallet on the input chain able to sign arbitrary transaction
* `requiresOutputWallet`: Whether a swap requires a connected wallet on the output chain able to sign arbitrary transactions
* `supportsGasDrop`: Whether a swap supports the "gas drop" feature, allowing to user to receive a small amount of native token as part of the swap when swapping to smart chains

Uses a `Record` type here, use the [SwapProtocolInfo](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/variables/SwapProtocolInfo.md) import for a literal readonly type, with pre-filled exact values in the type.

##### Returns

`Record`<[`SwapType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md), { `requiresInputWallet`: `boolean`; `requiresOutputWallet`: `boolean`; `supportsGasDrop`: `boolean`; }>

***

### Utils

#### Get Signature

```
get Utils(): SwapperUtils<T>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:68](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L68)

Miscellaneous utility functions

##### Returns

[`SwapperUtils`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/SwapperUtils.md)<`T`>

## Methods

### \_syncSwaps()

```
_syncSwaps(): Promise<void>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:412](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L412)

Synchronizes swaps from chain, this is usually ran when SDK is initialized, deletes expired quotes

#### Returns

`Promise`<`void`>

***

### create()

```
create(

   srcToken, 

   dstToken, 

   amount, 

   exactIn, 

addressLnurlLightningInvoice): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:353](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L353)

Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true) or output amount (exactIn=false), NOTE: For regular -> BTC-LN (lightning) swaps the passed amount is ignored and invoice's pre-set amount is used instead.

#### Parameters

| Parameter                      | Type                                                                                                                  | Description                                                                                              |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `srcToken`                     | [`SCToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SCToken.md)<`ChainIdentifier`> | Source token of the swap, user pays this token                                                           |
| `dstToken`                     | [`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`true`>          | Destination token of the swap, user receives this token                                                  |
| `amount`                       | `undefined`                                                                                                           | Amount of the swap                                                                                       |
| `exactIn`                      | `false`                                                                                                               | Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)       |
| `addressLnurlLightningInvoice` | `string`                                                                                                              | Bitcoin on-chain address, lightning invoice, LNURL-pay to pay or LNURL-withdrawal to withdraw money from |

#### Returns

`Promise`<[`ToBTCLNSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ToBTCLNSwap.md)<`T`\[`ChainIdentifier`]>>

***

### createFromBTCLNSwap()

```
createFromBTCLNSwap(

   tokenAddress, 

   amount, 

   exactOut?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<FromBTCLNSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:227](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L227)

Creates LEGACY Bitcoin Lightning -> Smart chain ([SwapType.FROM\_BTCLN](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btcln)) swap

#### Parameters

| Parameter           | Type                      | Description                                                                                           |
| ------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                  | Token address to receive                                                                              |
| `amount`            | `bigint`                  | Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`) |
| `exactOut?`         | `boolean`                 | Whether to use a exact out instead of exact in                                                        |
| `additionalParams?` | `Record`<`string`, `any`> | Additional parameters sent to the LP when creating the swap                                           |
| `options?`          | `FromBTCLNOptions`        | Additional options for the swap                                                                       |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`FromBTCLNSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/FromBTCLNSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createFromBTCLNSwapNew()

```
createFromBTCLNSwapNew(

   tokenAddress, 

   amount, 

   exactOut?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<FromBTCLNAutoSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:268](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L268)

Creates Bitcoin Lightning -> Smart chain ([SwapType.FROM\_BTCLN\_AUTO](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btcln_auto)) swap

#### Parameters

| Parameter           | Type                      | Description                                                                                           |
| ------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                  | Token address to receive                                                                              |
| `amount`            | `bigint`                  | Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`) |
| `exactOut?`         | `boolean`                 | Whether to use a exact out instead of exact in                                                        |
| `additionalParams?` | `Record`<`string`, `any`> | Additional parameters sent to the LP when creating the swap                                           |
| `options?`          | `FromBTCLNAutoOptions`    | Additional options for the swap                                                                       |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`FromBTCLNAutoSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/FromBTCLNAutoSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createFromBTCLNSwapNewViaLNURL()

```
createFromBTCLNSwapNewViaLNURL(

   tokenAddress, 

   lnurl, 

   amount, 

   exactOut?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<FromBTCLNAutoSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:290](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L290)

Creates Bitcoin Lightning -> Smart chain ([SwapType.FROM\_BTCLN\_AUTO](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btcln_auto)) swap, withdrawing from an LNURL-withdraw link

#### Parameters

| Parameter           | Type                                                                                                                       | Description                                                                                           |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                                                                                                                   | Token address to receive                                                                              |
| `lnurl`             | `string` \| [`LNURLWithdraw`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/LNURLWithdraw.md) | LNURL-withdraw link to pull the funds from                                                            |
| `amount`            | `bigint`                                                                                                                   | Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`) |
| `exactOut?`         | `boolean`                                                                                                                  | Whether to use a exact out instead of exact in                                                        |
| `additionalParams?` | `Record`<`string`, `any`>                                                                                                  | Additional parameters sent to the LP when creating the swap                                           |
| `options?`          | `FromBTCLNAutoOptions`                                                                                                     | Additional options for the swap                                                                       |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`FromBTCLNAutoSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/FromBTCLNAutoSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createFromBTCLNSwapViaLNURL()

```
createFromBTCLNSwapViaLNURL(

   tokenAddress, 

   lnurl, 

   amount, 

   exactOut?, 

additionalParams?): Promise<SwapWithSigner<FromBTCLNSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:248](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L248)

Creates LEGACY Bitcoin Lightning -> Smart chain ([SwapType.FROM\_BTCLN](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btcln)) swap, withdrawing from an LNURL-withdraw link

#### Parameters

| Parameter           | Type                                                                                                                       | Description                                                                                           |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                                                                                                                   | Token address to receive                                                                              |
| `lnurl`             | `string` \| [`LNURLWithdraw`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/LNURLWithdraw.md) | LNURL-withdraw link to pull the funds from                                                            |
| `amount`            | `bigint`                                                                                                                   | Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`) |
| `exactOut?`         | `boolean`                                                                                                                  | Whether to use a exact out instead of exact in                                                        |
| `additionalParams?` | `Record`<`string`, `any`>                                                                                                  | Additional parameters sent to the LP when creating the swap                                           |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`FromBTCLNSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/FromBTCLNSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createFromBTCSwap()

```
createFromBTCSwap(

   tokenAddress, 

   amount, 

   exactOut?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<FromBTCSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:207](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L207)

Creates LEGACY Bitcoin -> Smart chain ([SwapType.FROM\_BTC](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btc)) swap

#### Parameters

| Parameter           | Type                      | Description                                                                                           |
| ------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                  | Token address to receive                                                                              |
| `amount`            | `bigint`                  | Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`) |
| `exactOut?`         | `boolean`                 | Whether to use a exact out instead of exact in                                                        |
| `additionalParams?` | `Record`<`string`, `any`> | Additional parameters sent to the LP when creating the swap                                           |
| `options?`          | `FromBTCOptions`          | Additional options for the swap                                                                       |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`FromBTCSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/FromBTCSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createFromBTCSwapNew()

```
createFromBTCSwapNew(

   tokenAddress, 

   amount, 

   exactOut?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<SpvFromBTCSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:187](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L187)

Creates Bitcoin -> Smart chain ([SwapType.SPV\_VAULT\_FROM\_BTC](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#spv_vault_from_btc)) swap

#### Parameters

| Parameter           | Type                      | Description                                                                                           |
| ------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                  | Token address to receive                                                                              |
| `amount`            | `bigint`                  | Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`) |
| `exactOut?`         | `boolean`                 | Whether to use a exact out instead of exact in                                                        |
| `additionalParams?` | `Record`<`string`, `any`> | Additional parameters sent to the LP when creating the swap                                           |
| `options?`          | `SpvFromBTCOptions`       | Additional options for the swap                                                                       |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`SpvFromBTCSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/SpvFromBTCSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createToBTCLNSwap()

```
createToBTCLNSwap(

   tokenAddress, 

   paymentRequest, 

   additionalParams?, 

options?): Promise<SwapWithSigner<ToBTCLNSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:124](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L124)

Creates Smart chain -> Bitcoin Lightning ([SwapType.TO\_BTCLN](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#to_btcln)) swap

#### Parameters

| Parameter           | Type                        | Description                                                                                                                                                                  |
| ------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                    | Token address to pay with                                                                                                                                                    |
| `paymentRequest`    | `string`                    | BOLT11 lightning network invoice to be paid (needs to have a fixed amount), and the swap amount is taken from this fixed amount, hence only exact output swaps are supported |
| `additionalParams?` | `Record`<`string`, `any`>   | Additional parameters sent to the LP when creating the swap                                                                                                                  |
| `options?`          | `ToBTCLNOptions` & `object` | Additional options for the swap                                                                                                                                              |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`ToBTCLNSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ToBTCLNSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createToBTCLNSwapViaInvoiceCreateService()

```
createToBTCLNSwapViaInvoiceCreateService(

   tokenAddress, 

   service, 

   amount, 

   exactIn?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<ToBTCLNSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:166](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L166)

Creates Smart chain -> Bitcoin Lightning ([SwapType.TO\_BTCLN](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#to_btcln)) swap via [LightningInvoiceCreateService](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/LightningInvoiceCreateService.md)

#### Parameters

| Parameter           | Type                                                                                                                                           | Description                                                                                         |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                                                                                                                                       | Token address to pay with                                                                           |
| `service`           | [`LightningInvoiceCreateService`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/LightningInvoiceCreateService.md) | Invoice create service object which facilitates the creation of fixed amount LN invoices            |
| `amount`            | `bigint`                                                                                                                                       | Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`) |
| `exactIn?`          | `boolean`                                                                                                                                      | Whether to do an exact in swap instead of exact out                                                 |
| `additionalParams?` | `Record`<`string`, `any`>                                                                                                                      | Additional parameters sent to the LP when creating the swap                                         |
| `options?`          | `ToBTCLNOptions`                                                                                                                               | Additional options for the swap                                                                     |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`ToBTCLNSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ToBTCLNSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createToBTCLNSwapViaLNURL()

```
createToBTCLNSwapViaLNURL(

   tokenAddress, 

   lnurlPay, 

   amount, 

   exactIn?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<ToBTCLNSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:144](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L144)

Creates Smart chain -> Bitcoin Lightning ([SwapType.TO\_BTCLN](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#to_btcln)) swap via LNURL-pay link

#### Parameters

| Parameter           | Type                                                                                                             | Description                                                                                         |
| ------------------- | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                                                                                                         | Token address to pay with                                                                           |
| `lnurlPay`          | `string` \| [`LNURLPay`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/LNURLPay.md) | LNURL-pay link to use for the payment                                                               |
| `amount`            | `bigint`                                                                                                         | Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`) |
| `exactIn?`          | `boolean`                                                                                                        | Whether to do an exact in swap instead of exact out                                                 |
| `additionalParams?` | `Record`<`string`, `any`>                                                                                        | Additional parameters sent to the LP when creating the swap                                         |
| `options?`          | `ToBTCLNOptions`                                                                                                 | Additional options for the swap                                                                     |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`ToBTCLNSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ToBTCLNSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createToBTCSwap()

```
createToBTCSwap(

   tokenAddress, 

   address, 

   amount, 

   exactIn?, 

   additionalParams?, 

options?): Promise<SwapWithSigner<ToBTCSwap<T[ChainIdentifier]>>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:103](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L103)

Creates Smart chain -> Bitcoin ([SwapType.TO\_BTC](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#to_btc)) swap

#### Parameters

| Parameter           | Type                      | Description                                                                                         |
| ------------------- | ------------------------- | --------------------------------------------------------------------------------------------------- |
| `tokenAddress`      | `string`                  | Token address to pay with                                                                           |
| `address`           | `string`                  | Recipient's bitcoin address                                                                         |
| `amount`            | `bigint`                  | Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`) |
| `exactIn?`          | `boolean`                 | Whether to use exact in instead of exact out                                                        |
| `additionalParams?` | `Record`<`string`, `any`> | Additional parameters sent to the LP when creating the swap                                         |
| `options?`          | `ToBTCOptions`            | Additional options for the swap                                                                     |

#### Returns

`Promise`<[`SwapWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapWithSigner.md)<[`ToBTCSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ToBTCSwap.md)<`T`\[`ChainIdentifier`]>>>

***

### createTrustedLNForGasSwap()

```
createTrustedLNForGasSwap(amount, trustedIntermediaryOrUrl?): Promise<LnForGasSwap<T[ChainIdentifier]>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:309](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L309)

Creates a trusted Bitcoin Lightning -> Smart chain ([SwapType.TRUSTED\_FROM\_BTCLN](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#trusted_from_btcln)) gas swap

#### Parameters

| Parameter                   | Type                                                                                                                | Description                                                                           |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `amount`                    | `bigint`                                                                                                            | Amount of native token to receive, in base units                                      |
| `trustedIntermediaryOrUrl?` | `string` \| [`Intermediary`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/Intermediary.md) | URL or Intermediary object of the trusted intermediary to use, otherwise uses default |

#### Returns

`Promise`<[`LnForGasSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/LnForGasSwap.md)<`T`\[`ChainIdentifier`]>>

#### Throws

If no trusted intermediary specified

***

### createTrustedOnchainForGasSwap()

```
createTrustedOnchainForGasSwap(

   amount, 

   refundAddress?, 

trustedIntermediaryOrUrl?): Promise<OnchainForGasSwap<T[ChainIdentifier]>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:321](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L321)

Creates a trusted Bitcoin -> Smart chain ([SwapType.TRUSTED\_FROM\_BTC](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#trusted_from_btc)) gas swap

#### Parameters

| Parameter                   | Type                                                                                                                | Description                                                                           |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `amount`                    | `bigint`                                                                                                            | Amount of native token to receive, in base units                                      |
| `refundAddress?`            | `string`                                                                                                            | Bitcoin refund address, in case the swap fails the funds are refunded here            |
| `trustedIntermediaryOrUrl?` | `string` \| [`Intermediary`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/Intermediary.md) | URL or Intermediary object of the trusted intermediary to use, otherwise uses default |

#### Returns

`Promise`<[`OnchainForGasSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/OnchainForGasSwap.md)<`T`\[`ChainIdentifier`]>>

#### Throws

If no trusted intermediary specified

***

### getActionableSwaps()

```
getActionableSwaps(): Promise<ISwap<T[ChainIdentifier], SwapTypeDefinition<T[ChainIdentifier], ISwapWrapper<T[ChainIdentifier], any, ISwapWrapperOptions>, ISwap<T[ChainIdentifier], any, any>>, number>[]>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:381](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L381)

Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address

#### Returns

`Promise`<[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `SwapTypeDefinition`<`T`\[`ChainIdentifier`], [`ISwapWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwapWrapper.md)<`T`\[`ChainIdentifier`], `any`, `ISwapWrapperOptions`>, [`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `any`, `any`>>, `number`>\[]>

***

### getAllSwaps()

```
getAllSwaps(): Promise<ISwap<T[ChainIdentifier], SwapTypeDefinition<T[ChainIdentifier], ISwapWrapper<T[ChainIdentifier], any, ISwapWrapperOptions>, ISwap<T[ChainIdentifier], any, any>>, number>[]>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:374](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L374)

Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address

#### Returns

`Promise`<[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `SwapTypeDefinition`<`T`\[`ChainIdentifier`], [`ISwapWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwapWrapper.md)<`T`\[`ChainIdentifier`], `any`, `ISwapWrapperOptions`>, [`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `any`, `any`>>, `number`>\[]>

***

### getRefundableSwaps()

```
getRefundableSwaps(): Promise<IToBTCSwap<T[ChainIdentifier], IToBTCDefinition<T[ChainIdentifier], IToBTCWrapper<T[ChainIdentifier], any, ISwapWrapperOptions>, IToBTCSwap<T[ChainIdentifier], any>>>[]>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:388](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L388)

Returns swaps that are refundable for the specific chain, optionally also for a specific signer's address

#### Returns

`Promise`<[`IToBTCSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/IToBTCSwap.md)<`T`\[`ChainIdentifier`], `IToBTCDefinition`<`T`\[`ChainIdentifier`], [`IToBTCWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/IToBTCWrapper.md)<`T`\[`ChainIdentifier`], `any`, `ISwapWrapperOptions`>, [`IToBTCSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/IToBTCSwap.md)<`T`\[`ChainIdentifier`], `any`>>>\[]>

***

### getSwapById()

```
getSwapById(id): Promise<ISwap<T[ChainIdentifier], SwapTypeDefinition<T[ChainIdentifier], ISwapWrapper<T[ChainIdentifier], any, ISwapWrapperOptions>, ISwap<T[ChainIdentifier], any, any>>, number>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:395](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L395)

Returns swap with a specific id (identifier) on a specific chain and optionally with a signer

#### Parameters

| Parameter | Type     |
| --------- | -------- |
| `id`      | `string` |

#### Returns

`Promise`<[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `SwapTypeDefinition`<`T`\[`ChainIdentifier`], [`ISwapWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwapWrapper.md)<`T`\[`ChainIdentifier`], `any`, `ISwapWrapperOptions`>, [`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `any`, `any`>>, `number`>>

***

### getSwapCounterTokens()

```
getSwapCounterTokens(token, input): Token<ChainIdentifier>[];
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:507](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L507)

Returns tokens that you can swap to (if input=true) from a given token, or tokens that you can swap from (if input=false) to a given token

#### Parameters

| Parameter | Type                                                                                                              |
| --------- | ----------------------------------------------------------------------------------------------------------------- |
| `token`   | [`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)                    |
| `input`   | `boolean` \| [`SwapSide`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapSide.md) |

#### Returns

[`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)<`ChainIdentifier`>\[]

***

### getSwapLimits()

```
getSwapLimits<A, B>(srcToken, dstToken): object;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:496](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L496)

Returns minimum/maximum limits for inputs and outputs for a swap between given tokens

#### Type Parameters

| Type Parameter                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------- |
| `A` *extends* [`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)<`ChainIdentifier`> |
| `B` *extends* [`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)<`ChainIdentifier`> |

#### Parameters

| Parameter  | Type | Description       |
| ---------- | ---- | ----------------- |
| `srcToken` | `A`  | Source token      |
| `dstToken` | `B`  | Destination token |

#### Returns

`object`

| Name          | Type                                                                                                            | Defined in                                                                                                                                                                      |
| ------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `input`       | `object`                                                                                                        | [atomiq-sdk/src/swapper/SwapperWithSigner.ts:497](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L497) |
| `input.max?`  | [`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<`A`> | [atomiq-sdk/src/swapper/SwapperWithSigner.ts:497](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L497) |
| `input.min`   | [`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<`A`> | [atomiq-sdk/src/swapper/SwapperWithSigner.ts:497](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L497) |
| `output`      | `object`                                                                                                        | [atomiq-sdk/src/swapper/SwapperWithSigner.ts:498](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L498) |
| `output.max?` | [`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<`B`> | [atomiq-sdk/src/swapper/SwapperWithSigner.ts:498](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L498) |
| `output.min`  | [`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<`B`> | [atomiq-sdk/src/swapper/SwapperWithSigner.ts:498](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L498) |

***

### getSwapType()

```
getSwapType(srcToken, dstToken): 

  | FROM_BTC

  | FROM_BTCLN

  | TO_BTC

  | TO_BTCLN

  | SPV_VAULT_FROM_BTC

  | FROM_BTCLN_AUTO;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:479](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L479)

Returns type of the swap based on input and output tokens specified

#### Parameters

| Parameter  | Type                                                                                                              | Description       |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ----------------- |
| `srcToken` | [`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)<`ChainIdentifier`> | Source token      |
| `dstToken` | [`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)<`ChainIdentifier`> | Destination token |

#### Returns

\| [`FROM_BTC`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btc) | [`FROM_BTCLN`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btcln) | [`TO_BTC`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#to_btc) | [`TO_BTCLN`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#to_btcln) | [`SPV_VAULT_FROM_BTC`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#spv_vault_from_btc) | [`FROM_BTCLN_AUTO`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md#from_btcln_auto)

***

### getToken()

Returns the [Token](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md) object for a given token

#### Param

Token to return the object for, can use multiple formats:

* a) token ticker, such as `"BTC"`, `"SOL"`, etc.
* b) token ticker prefixed with smart chain identifier, such as `"SOLANA-SOL"`, `"SOLANA-USDC"`, etc.
* c) token address

#### Call Signature

```
getToken(ticker): BtcToken<false>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:430](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L430)

##### Parameters

| Parameter | Type                       |
| --------- | -------------------------- |
| `ticker`  | `"BTC"` \| `"BITCOIN-BTC"` |

##### Returns

[`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>

#### Call Signature

```
getToken(ticker): BtcToken<true>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:431](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L431)

##### Parameters

| Parameter | Type                                         |
| --------- | -------------------------------------------- |
| `ticker`  | `"BTCLN"` \| `"BTC-LN"` \| `"LIGHTNING-BTC"` |

##### Returns

[`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`true`>

#### Call Signature

```
getToken(ticker): SCToken<ChainIdentifier>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:432](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L432)

##### Parameters

| Parameter | Type                                 |
| --------- | ------------------------------------ |
| `ticker`  | `` `${ChainIdentifier}-${string}` `` |

##### Returns

[`SCToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SCToken.md)<`ChainIdentifier`>

#### Call Signature

```
getToken(tickerOrAddress): Token<ChainIdentifier>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:433](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L433)

##### Parameters

| Parameter         | Type     |
| ----------------- | -------- |
| `tickerOrAddress` | `string` |

##### Returns

[`Token`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Token.md)<`ChainIdentifier`>

***

### getTypedSwapById()

```
getTypedSwapById<S>(id, swapType): Promise<SwapTypeMapping<T[ChainIdentifier]>[S]>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:405](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L405)

Returns the swap with a proper return type, or `undefined` if not found or has wrong type

#### Type Parameters

| Type Parameter                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------ |
| `S` *extends* [`SwapType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md) |

#### Parameters

| Parameter  | Type     | Description                                                                                                             |
| ---------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
| `id`       | `string` | An ID of the swap ([ISwap.getId](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getid)) |
| `swapType` | `S`      | Type of the swap                                                                                                        |

#### Returns

`Promise`<[`SwapTypeMapping`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapTypeMapping.md)<`T`\[`ChainIdentifier`]>\[`S`]>

***

### recoverSwaps()

```
recoverSwaps(startBlockheight?): Promise<ISwap<T[ChainIdentifier], SwapTypeDefinition<T[ChainIdentifier], ISwapWrapper<T[ChainIdentifier], any, ISwapWrapperOptions>, ISwap<T[ChainIdentifier], any, any>>, number>[]>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:426](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L426)

Recovers swaps from on-chain historical data.

Please note that the recovered swaps might not be complete (i.e. missing amounts or addresses), as some of the swap data is purely off-chain and can never be recovered purely from on-chain data. This functions tries to recover as much swap data as possible.

#### Parameters

| Parameter           | Type     | Description                                                                                                  |
| ------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| `startBlockheight?` | `number` | Optional starting blockheight for swap data recovery, will only check swaps initiated after this blockheight |

#### Returns

`Promise`<[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `SwapTypeDefinition`<`T`\[`ChainIdentifier`], [`ISwapWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwapWrapper.md)<`T`\[`ChainIdentifier`], `any`, `ISwapWrapperOptions`>, [`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`\[`ChainIdentifier`], `any`, `any`>>, `number`>\[]>

***

### supportsSwapType()

```
supportsSwapType<Type>(swapType): SupportsSwapType<T[ChainIdentifier], Type>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperWithSigner.ts:451](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperWithSigner.ts#L451)

Returns whether the SDK supports a given swap type on this chain based on currently known LPs

#### Type Parameters

| Type Parameter                                                                                                        |
| --------------------------------------------------------------------------------------------------------------------- |
| `Type` *extends* [`SwapType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md) |

#### Parameters

| Parameter  | Type   | Description        |
| ---------- | ------ | ------------------ |
| `swapType` | `Type` | Swap protocol type |

#### Returns

`SupportsSwapType`<`T`\[`ChainIdentifier`], `Type`>
