# Get Started

### Prerequisites

Before you begin, ensure you have the following installed:

* Node.js (version 18 or higher)
* npm / yarn / pnpm
* Git (for cloning the repository)

1. **Install SDK**
   * install the required npm packages:
   * ```bash
     npm install satoshi-sdk
     ```
2. **import package**
   * In your TypeScript or JavaScript project, import the SDK:
   * ```javascript
     import { SatoshiClient } from 'satoshi-sdk';
     ```

### Example: Calculate Minting Fee

This example shows how to use the Satoshi Protocol SDK to calculate the minting fee for a given amount of satUSD using a specific collateral type on the `BEVM_MAINNET`. It utilizes several functions and configurations provided by the SDK to accomplish this.

#### Code

```typescript
import { getPublicClientByConfig, ProtocolConfigMap } from 'satoshi-sdk';

// Define the protocol configuration for the BEVM_MAINNET
const protocolConfig = ProtocolConfigMap.BEVM_MAINNET;

// Select the first collateral type available in the configuration
const collateral = protocolConfig.COLLATERALS[0];

// Get a public client configured for the selected protocol configuration
const publicClient = getPublicClientByConfig(protocolConfig);

// Define the amount for which the minting fee needs to be calculated
const amount = 123456789n;  // Using a BigInt for large numbers

// Async function to perform the minting fee calculation
async function calculateMintingFee() {
  const result = await getBorrowingFee(
    {
      publicClient,
      protocolConfig,
      troveManagerAddr: collateral.TROVE_MANAGER_BEACON_PROXY_ADDRESS,
    },
    amount
  );
  
  // Log the result to the console
  console.log('Minting Fee:', result);
}

// Call the function to execute the operation
calculateMintingFee();
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.river.inc/satoshi-protocol-v1/sdk/get-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
