# Simple usage (Private Transfer)

The first thing is the installation of Typhoon SDK.

&#x20;In npm we can install using&#x20;

```bash
npm i typhoon-sdk
```

In yarn

```bash
yarn add typhoon-sdk
```

## Simple usage example (private transfer)

<pre class="language-javascript"><code class="lang-javascript"><strong>import { TyphoonSDK } from 'typhoon-sdk'
</strong>import { RpcProvider, Account } from 'starknet';

const provider = new RpcProvider({ nodeUrl: "https://starknet-mainnet.public.blastapi.io/rpc/v0_8" });
const sdk = new TyphoonSDK()
const STRK_ADDR = "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"
const amount = 110000000000000000000n // 110 STRK

// use the wallet account if you run in your frontend
const account = new Account(provider, "0xyouraddress", "0xprivkey"); 

// this function generates the calls to make a deposit
let calls = await sdk.generate_approve_and_deposit_calls(amount, STRK_ADDR)

// execute the deposit calls
const multiCall = await account.execute(calls);
await account.waitForTransaction(multiCall.transaction_hash);

// withdraw your deposited funds to the address in the recipient list
// withdraw has two arguments the txhash of the deposit execution and a list of recipients 
await sdk.withdraw(multiCall.transaction_hash, ['0xrecipientAddress']) 

</code></pre>

WARNING: the pattern above is used for private transfers it means that the data used to withdraw is stored only in your memory and when the program stops the execution this data is lost, so only use the code above to make private transfers.


---

# 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://typhoon-2.gitbook.io/typhoon-docs/getting-started/simple-usage-private-transfer.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.
