# Get started

## Step 0: Get 31Third API key

Request an API key via <dev@31third.com>.&#x20;

## Step 1: Get an indicative price

Use `/swap/price` to fetch an indicative price.&#x20;

{% content-ref url="price" %}
[price](https://docs.31third.com/31third-api/swap/price)
{% endcontent-ref %}

You'll receive indicative information about:

* buy amount
* conversion price
* price impact estimation.

## Step 2: Get quote

Use `/swap/quote` to fetch a quote.&#x20;

{% content-ref url="quote" %}
[quote](https://docs.31third.com/31third-api/swap/quote)
{% endcontent-ref %}

You'll receive information about:

* buy amount
* minimal buy amount
* conversion price
* guaranteed conversion price
* price impact
* maximal price impact
* **raw transaction**

## Step 3: Send transaction

The quote response contains a raw transaction.

```
RawTransaction {
  to: string;
  data: string;
  value: string;
  gasLimit?: string; // Not always present
  gasPrice?: string; // Not always present
}
```

This transaction can be broadcasted to execute the swap.

### Ethers.js example

The raw transaction can be passed into [ethers signer.sendTransaction](https://docs.ethers.org/v5/api/signer/#Signer-sendTransaction) as follows:

```typescript
signer.sendTransaction(rawTransaction);
```
