# Getting Started

## **Install**

```typescript
npm i aftermath-ts-sdk
```

## **Usage**

Create an instance of Aftermath for ease of use to make calls to our server, or create an instance of Aftermath API for finer control of transaction construction.

## Aftermath SDK

### 1. Create Aftermath provider

```javascript
const afSdk = new Aftermath("MAINNET"); // "MAINNET" | "TESTNET" | "DEVNET"
await afSdk.init(); // initialize provider
```

### 2. Create protocol provider

```typescript
const router = afSdk.Router(); 
const pools = afSdk.Pools(); 
const staking = afSdk.Staking(); 
const farms = afSdk.Farms();
```

## Aftermath API

### 1. Create Aftermath API provider

```typescript
const fullnodeEndpoint = "https://fullnode.mainnet.sui.io";
const addresses = {...};

const afApi = new AftermathApi(
    new SuiClient({
        transport: new SuiHTTPTransport({
            url: fullnodeEndpoint,
        }),
    }),
    addresses,
    new IndexerCaller("MAINNET"), // "MAINNET" | "TESTNET" | "DEVNET"
);
```

### 2. Create new protocol provider

```typescript
const poolsApi = afApi.Pools(); 
const stakinApi = afApi.Staking(); 
const farmsApi = afApi.Farms();
```
