# How to withdraw and transfer funds from a subaccount using Command Line

### Prerequisites

### 1. Install tools (MacOS)

Make sure you have Homebrew installed&#x20;

```bash
brew --version
```

&#x20;If not, execute&#x20;

```bash
/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/in
```

Make sure everything is up to date&#x20;

```bash
brew update && brew upgrade 
```

You need git&#x20;

```bash
 brew install git
```

`v4-client-js` uses node `v18` for development. You can use `nvm` to manage different versions of node.

```
nvm install
nvm use
nvm alias default $(nvm version) # optional
```

You can run the following commands to ensure that you are running the correct `node` and `npm` versions.

```
node -v # expected: v18.x.x (should match .nvmrc)
npm -v  # expected: 10.x.x (e.g. we use 10.2.4 here)
```

### How to initiate a withdrawal from subaccount

#### 1. Clone or fork the public dYdX solutions repo

Open a Terminal and run the following command:

```
git clone git@github.com:dydxfoundation/solutions-public.git
```

#### 2. Setup the environment

* Copy the `.env.example` and rename as a `.env` file.
* Now make sure to fill in the following parameters, `MNEMONIC`, `NETWORK_TYPE` and `RECIPIENT_ADDRESS (Address to withdraw funds to)`

```bash
# General
ADDRESS=your_dydx_address_here
MNEMONIC=your_mnemonic_here
NETWORK_TYPE=testnet # Use "mainnet" for main network

# withdrawOtherExample
RECIPIENT_ADDRESS=your_recipient_dydx_address_here
WITHDRAWAL_AMOUNT=1000000 #remember usdc has 6 decimals, so this represents 1 USDC
```

* &#x20;For testnet and testing purposes, feel free to use the mnemonic from the TS client library under `v4-client-js/examples/constants`.

#### 3. Run the scripts with node

```
npm install
npm run build
```

You should now see a `/build` dir generated with JS files. We will use node to run these scripts

* Open a terminal to run the example orders.

```
node build/withrawOtherExample.js
```

* (OPTIONAL) Run the websocket to check orders for a given subaccount.

```
node build/websocketExample.js
```


---

# 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.dydx.community/dydx-chain-technical-docs/getting-started/user-guides/how-to-withdraw-and-transfer-funds-from-a-subaccount-using-command-line.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.
