# KrakenPriceProvider\<T>

Defined in: [atomiq-sdk/src/prices/providers/KrakenPriceProvider.ts:27](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/providers/KrakenPriceProvider.ts#L27)

Price provider using Kraken exchange API

## Extends

* `ExchangePriceProvider`<`T`>

## Type Parameters

| Type Parameter             |
| -------------------------- |
| `T` *extends* `MultiChain` |

## Constructors

### Constructor

```
new KrakenPriceProvider<T>(

   coinsMap, 

   url, 

httpRequestTimeout?): KrakenPriceProvider<T>;
```

Defined in: [atomiq-sdk/src/prices/providers/KrakenPriceProvider.ts:29](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/providers/KrakenPriceProvider.ts#L29)

#### Parameters

| Parameter             | Type                 | Default value                |
| --------------------- | -------------------- | ---------------------------- |
| `coinsMap`            | `CtorCoinTypes`<`T`> | `undefined`                  |
| `url`                 | `string`             | `"https://api.kraken.com/0"` |
| `httpRequestTimeout?` | `number`             | `undefined`                  |

#### Returns

`KrakenPriceProvider`<`T`>

#### Overrides

```
ExchangePriceProvider<T>.constructor
```

## Properties

### coinsMap

```
coinsMap: CoinTypes<T> = {};
```

Defined in: [atomiq-sdk/src/prices/abstract/IPriceProvider.ts:42](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/abstract/IPriceProvider.ts#L42)

#### Inherited from

```
ExchangePriceProvider.coinsMap
```

***

### httpRequestTimeout?

```
optional httpRequestTimeout: number;
```

Defined in: [atomiq-sdk/src/prices/providers/abstract/HttpPriceProvider.ts:7](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/providers/abstract/HttpPriceProvider.ts#L7)

#### Inherited from

```
ExchangePriceProvider.httpRequestTimeout
```

***

### url

```
url: string;
```

Defined in: [atomiq-sdk/src/prices/providers/abstract/HttpPriceProvider.ts:6](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/providers/abstract/HttpPriceProvider.ts#L6)

#### Inherited from

```
ExchangePriceProvider.url
```

## Methods

### getPrice()

```
getPrice<C>(

   chainIdentifier, 

   token, 

abortSignal?): Promise<bigint>;
```

Defined in: [atomiq-sdk/src/prices/abstract/IPriceProvider.ts:84](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/abstract/IPriceProvider.ts#L84)

Returns coin price in uSat (microSat)

#### Type Parameters

| Type Parameter         |
| ---------------------- |
| `C` *extends* `string` |

#### Parameters

| Parameter         | Type          | Description |
| ----------------- | ------------- | ----------- |
| `chainIdentifier` | `C`           |             |
| `token`           | `string`      |             |
| `abortSignal?`    | `AbortSignal` |             |

#### Returns

`Promise`<`bigint`>

#### Throws

if token is not found

#### Inherited from

```
ExchangePriceProvider.getPrice
```

***

### getUsdPrice()

```
getUsdPrice(abortSignal?): Promise<number>;
```

Defined in: [atomiq-sdk/src/prices/abstract/IPriceProvider.ts:106](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/abstract/IPriceProvider.ts#L106)

Returns coin price in uSat (microSat)

#### Parameters

| Parameter      | Type          | Description |
| -------------- | ------------- | ----------- |
| `abortSignal?` | `AbortSignal` |             |

#### Returns

`Promise`<`number`>

#### Throws

if token is not found

#### Inherited from

```
ExchangePriceProvider.getUsdPrice
```

***

### fetchPair()

```
protected fetchPair(pair, abortSignal?): Promise<number>;
```

Defined in: [atomiq-sdk/src/prices/providers/KrakenPriceProvider.ts:36](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/providers/KrakenPriceProvider.ts#L36)

#### Parameters

| Parameter      | Type          |
| -------------- | ------------- |
| `pair`         | `string`      |
| `abortSignal?` | `AbortSignal` |

#### Returns

`Promise`<`number`>

#### Inherit Doc

#### Overrides

```
ExchangePriceProvider.fetchPair
```

***

### fetchPrice()

```
protected fetchPrice(token, abortSignal?): Promise<bigint>;
```

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

#### Parameters

| Parameter      | Type          |
| -------------- | ------------- |
| `token`        | `CoinType`    |
| `abortSignal?` | `AbortSignal` |

#### Returns

`Promise`<`bigint`>

#### Inherit Doc

#### Overrides

```
ExchangePriceProvider.fetchPrice
```

***

### fetchUsdPrice()

```
protected fetchUsdPrice(abortSignal?): Promise<number>;
```

Defined in: [atomiq-sdk/src/prices/providers/KrakenPriceProvider.ts:49](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/providers/KrakenPriceProvider.ts#L49)

#### Parameters

| Parameter      | Type          |
| -------------- | ------------- |
| `abortSignal?` | `AbortSignal` |

#### Returns

`Promise`<`number`>

#### Inherit Doc

#### Overrides

```
ExchangePriceProvider.fetchUsdPrice
```

***

### getDecimals()

```
protected getDecimals<C>(chainIdentifier, token): number;
```

Defined in: [atomiq-sdk/src/prices/abstract/IPriceProvider.ts:119](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/prices/abstract/IPriceProvider.ts#L119)

Returns the decimal places of the specified token, or -1 if token should be ignored, returns null if token is not found

#### Type Parameters

| Type Parameter         |
| ---------------------- |
| `C` *extends* `string` |

#### Parameters

| Parameter         | Type     | Description |
| ----------------- | -------- | ----------- |
| `chainIdentifier` | `C`      |             |
| `token`           | `string` |             |

#### Returns

`number`

#### Throws

If token is not found

#### Inherited from

```
ExchangePriceProvider.getDecimals
```
