> ## Documentation Index
> Fetch the complete documentation index at: https://atomictoolkit.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get up and running quickly with Atomic Toolkit's simple installation and setup process.

Let's dive into a quick installation and setup guide to get you started with Atomic Toolkit.

## Install the SDK

<CodeGroup>
  ```bash npm theme={null}
  npm install atomic-toolkit
  ```

  ```bash yarn theme={null}
  yarn add atomic-toolkit
  ```

  ```bash pnpm theme={null}
  pnpm add atomic-toolkit
  ```
</CodeGroup>

## Setup the SDK

First, import the SDK into your project. You can do this on the server-side or client-side depending on your use case.

<CodeGroup>
  ```ts Server-side theme={null}
  import AtomicToolkit from 'atomic-toolkit';
  ```

  ```ts Client-side theme={null}
  import { AtomicToolkitWeb } from 'atomic-toolkit';
  ```
</CodeGroup>

Currently, Atomic Toolkit can be initialized using a Arweave Wallet or [Irys SDK](https://irys.xyz/).

### Using an Arweave Wallet

<CodeGroup>
  ```ts Server-side theme={null}
  const key = JSON.parse(readFileSync('wallet.json').toString());

  const toolkit = new AtomicToolkit({
      key: key,
  });
  ```

  ```ts Client-side theme={null}
  const toolkit = new AtomicToolkitWeb({});
  ```
</CodeGroup>

### Using Irys

<CodeGroup>
  ```ts Server-side theme={null}
  import Irys from '@irys/sdk';

  const irys = new Irys({
      url: 'https://node2.irys.xyz',
      token: 'matic',
      key: 'your-private-key',
  });

  await irys.ready();

  const toolkit = new AtomicToolkit({
      irys: irys,
  });
  ```

  ```ts Client-side theme={null}
  import { WebIrys } from '@irys/sdk';

  const webIrys = new WebIrys({
      url: 'https://node2.irys.xyz',
      token: 'matic',
  });

  await webIrys.ready();

  const toolkit = new AtomicToolkitWeb({
      irys: webIrys,
  });
  ```
</CodeGroup>

## Create a Atomic Asset

Now that you have the SDK setup, you can create a new Atomic Asset.

```ts theme={null}
const toolkit = new AtomicToolkitWeb({});

// Simple Text File
const file = new File(['hello world'], 'hello.txt', {
    type: 'text/plain',
});

const res = await toolkit.assets.createAtomicAsset(file, {
    initialState: {
        ticker: 'HELLO',
        name: 'Hello World',
        balances: {
            '9WQ7xH2LOuqfAccjGquck8eaKARg1vMhRJaOo3LJL14': 1,
        },
        claimable: [],
    },
    discoverability: {
        title: 'Hello World',
        description: 'Hello World',
        type: 'text',
    },
});

console.log(res.contractTxId);
console.log(res?.srcTxId);

// F4YEvnMmcFFBtF0Qe4Hycl_6Ocgr-fBCoCdIuJSYUI8

// Of9pi--Gj7hCTawhgxOwbuWnFI1h24TTgO5pw8ENJNQ
```
