# SwapManager (https://dev.cosmospay.lat/docs/sdk/definitions/server/swap-manager/)

> Same-chain swaps — client.swaps. No chain (or 'stellar') is a Stellar path payment and yields a Swap, exactly as before; 'solana' goes through Jupiter…

Same-chain swaps — `client.swaps`. No `chain` (or `'stellar'`) is a Stellar path payment and yields a &#123;@link Swap&#125;, exactly as before; `'solana'` goes through Jupiter and `'monad'` through Kuru Flow and yields a &#123;@link ChainSwap&#125;. Swaps between chains are `client.crossChainSwaps`.

## Methods

### quote()

Price a swap without creating it. Returns a plain quote (not a &#123;@link Swap&#125;).

```ts
quote(options: QuoteSwapOptions): Promise<SwapQuoteData>
```

**Parameters**

- `options`: `QuoteSwapOptions`

**Returns** `Promise<SwapQuoteData>`

### create()

Create a swap: an unsigned transaction for the source wallet to sign.

```ts
create(options: CreateSwapOptions & OnOtherChain): Promise<ChainSwap>
```

**Parameters**

- `options`: `CreateSwapOptions & OnOtherChain`

**Returns** [`Promise<ChainSwap>`](https://dev.cosmospay.lat/docs/sdk/definitions/server/chain-swap/)

### create()

```ts
create(options: CreateSwapOptions): Promise<Swap>
```

**Parameters**

- `options`: `CreateSwapOptions`

**Returns** [`Promise<Swap>`](https://dev.cosmospay.lat/docs/sdk/definitions/server/swap/)

### fetch()

Get a single swap by id, on any chain.

```ts
fetch(id: string): Promise<Swap | ChainSwap>
```

**Parameters**

- `id`: `string`

**Returns** `Promise<`[`Swap`](https://dev.cosmospay.lat/docs/sdk/definitions/server/swap/)` | `[`ChainSwap`](https://dev.cosmospay.lat/docs/sdk/definitions/server/chain-swap/)`>`

### list()

List the consumer's swaps on one chain (Stellar when `chain` is omitted).

```ts
list(options: ListSwapsOptions & OnOtherChain): Promise<SwapPage<ChainSwap>>
```

**Parameters**

- `options`: `ListSwapsOptions & OnOtherChain`

**Returns** [`Promise<SwapPage<ChainSwap>>`](https://dev.cosmospay.lat/docs/sdk/definitions/server/chain-swap/)

### list()

```ts
list(options?: ListSwapsOptions): Promise<SwapPage<Swap>>
```

**Parameters**

- `options` _(optional)_: `ListSwapsOptions`

**Returns** [`Promise<SwapPage<Swap>>`](https://dev.cosmospay.lat/docs/sdk/definitions/server/swap/)

### submit()

Relay a signed swap transaction to its network: `{ signedXdr }` for a Stellar swap, `{ signedTransaction }` for a Solana or Monad one.

```ts
submit(id: string, options: SubmitSwapOptions): Promise<SwapSubmitOutcome | ChainSwapSubmitOutcome>
```

**Parameters**

- `id`: `string`
- `options`: `SubmitSwapOptions`

**Returns** `Promise<SwapSubmitOutcome | ChainSwapSubmitOutcome>`

## Related

- [ChainSwap](https://dev.cosmospay.lat/docs/sdk/definitions/server/chain-swap/)
- [Swap](https://dev.cosmospay.lat/docs/sdk/definitions/server/swap/)
- [BaseManager](https://dev.cosmospay.lat/docs/sdk/definitions/server/base-manager/)
