> For the complete documentation index, see [llms.txt](https://urchin.gitbook.io/overview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://urchin.gitbook.io/overview/api-reference/core/urchin.md).

# urchin()

The entry point to the Urchin SDK is by creating an instance that will give you access to its API.

It accepts a Connection instance from `@solana/web3.js`that will be used to communicate with the cluster.

### Init Example

```javascript
import {Keypair, Signer} from "@solana/web3.js";
import bs58 from ‘bs58’;

const payerKeypair = Keypair.fromSecretKey(
  bs58.decode("<wallet secret key as string>")
 );
const connection = urchin(
    {
        payer: payerKeypair,
         ...parameters // see below for required and optional parameters
    });


```

### Parameters

| label (\* required) | description                     | type    | default               | valid values       |
| ------------------- | ------------------------------- | ------- | --------------------- | ------------------ |
| payer\*             | public and private key of payer | Keypair |                       |                    |
| owner               | author if different then payer  | Keypair |                       |                    |
| cluster             | Solana/Arweave environment      | string  | "devnet"              | "devnet","mainnet" |
| rpc                 | Custom Solana RPC               | string  | default solana routes |                    |
