# Create Transactions

## Request a crypto withdrawal

<mark style="color:green;">`POST`</mark> `https://api.aquanow.io/accounts/v1/transaction`

To view example requests for this endpoint, visit Aquanow's [Postman](https://developer.aquanow.io/#4462eccb-a588-4590-a6c5-7dac5816356f) documentation.

#### Headers

| Name                                           | Type   | Description                                                                                                                                                        |
| ---------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| x-api-key<mark style="color:red;">\*</mark>    | String | <p><code>{{x-api-key}}</code></p><p>API Auth Key</p>                                                                                                               |
| x-signature<mark style="color:red;">\*</mark>  | String | <p><code>49c6260c194f4d7ed5cb917dc70b9821673246b2abc1cf28f05df6a75fd24181e00f8e57b321d15ae45db58b3bffe27a</code></p><p>Signature created using your API secret</p> |
| x-nonce<mark style="color:red;">\*</mark>      | Number | <p><code>1618307861949</code></p><p>Timestamp in millisecond</p>                                                                                                   |
| Content-Type<mark style="color:red;">\*</mark> | String | `application/json`                                                                                                                                                 |

#### Request Body

| Name                                              | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| symbol<mark style="color:red;">\*</mark>          | String | <p>e.g., <code>BTC</code></p><p>All uppercase letters, the crypto currency you are withdrawing.</p>                                                                                                                                                                                                                                                                                                                                                                                                                             |
| address<mark style="color:red;">\*</mark>         | String | Destination address you are withdrawing to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| accountId<mark style="color:red;">\*</mark>       | String | <p>e.g., <code>CA1000012R</code><br>Specify the <code>accountId</code> of the account you wish to make the transaction for</p>                                                                                                                                                                                                                                                                                                                                                                                                  |
| transactionType<mark style="color:red;">\*</mark> | String | <p>e.g., <code>WITHDRAW</code></p><p>Type of transaction.</p><p></p><p><mark style="color:orange;">NOTE:</mark> Currently, we only support <code>WITHDRAW</code> requests</p>                                                                                                                                                                                                                                                                                                                                                   |
| quantity                                          | Number | <p>The net amount of funds to be withdrawn. This is the amount that will be received after any applicable withdrawal fees have been deducted. </p><p></p><p>e.g if USDC quantity of 10,000 is inputted and withdrawal fee is 5 USDC, the balance will decrease by 10,005 and 10,000 will be sent to destination address</p><p></p><p>Must provide <code>quantity</code> OR <code>grossQuantity</code></p><p></p><p><mark style="color:orange;">NOTE:</mark> You must have sufficient funds to be able to withdraw.</p>          |
| grossQuantity                                     | Number | <p>The gross amount of funds to be withdrawn before deduction of any fees. This refers to the total amount that will be debited from the user's account.</p><p></p><p>e.g if USDC quantity of 10,000 is inputted and withdrawal fee is 5 USDC, the balance will decrease by 10,000 and 9,995 will be sent to destination address</p><p></p><p>Must provide <code>quantity</code> OR <code>grossQuantity</code></p><p></p><p><mark style="color:orange;">NOTE:</mark> You must have sufficient funds to be able to withdraw.</p> |
| currencyTag                                       | String | Additional address property (Tag/Memo) that allows identifying the transfer beneficiary or destination for a transaction.                                                                                                                                                                                                                                                                                                                                                                                                       |
| tag                                               | String | Additional reference id that you can send with a withdrawal request.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| networkType                                       | String | <p>e.g., <code>ETH</code> <br>Specify a <code>networkType</code> for symbols that support multiple networks.</p><p>One of <code>ETH</code>, <code>TRON</code>,<code>XLM</code>, <code>FTM</code>, <code>MATIC</code></p><p><mark style="color:orange;">NOTE:</mark> Only applicable to <strong>USDT, USDC, MATIC, and FTM</strong> coins.</p>                                                                                                                                                                                   |
| message                                           | String | Additional field to add any messages/notes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

{% tabs %}
{% tab title="200: OK Create transaction with quantity" %}
Returns a [TransactionObject](https://docs.aquanow.io/aquanow/data-objects-and-statuses/transaction-objects#transactionobject).

```json
{
  "accountId": "CA1000051R",
  "networkType": "btc",
  "address": "bc1q8k5508tfz299v7ywxj8j4g4p9hkn6n06xndv0d",
  "quantity": 0.005,
  "grossQuantity": 0.0051,
  "bankInfo": {},
  "txId": "602e187d-8238-4c1b-80d4-89aab383c5a9",
  "symbol": "BTC",
  "username": "helloWorld",
  "networkFee": 0.0001,
  "message": "A message",
  "originUser": "helloWorldUser",
  "source": "api",
  "transactionType": "WITHDRAW",
  "ipAddress": "38.111.102.138",
  "itemDateTime": 1712614805853,
  "isAutopilotAddress": false,
  "adminApproval": "PROCESSING"
}
```

{% endtab %}

{% tab title="400: Bad Request Missing address" %}

```json
{
    "message": "Please provide an address"
}
```

{% endtab %}

{% tab title="400: Bad Request Insufficient funds" %}

```json
{
    "message": "Insufficient Funds"
}
```

{% endtab %}

{% tab title="200: OK Create transaction with tag" %}
Returns a [TransactionObject](https://docs.aquanow.io/aquanow/data-objects-and-statuses/transaction-objects#transactionobject).

```json
{
  "retroActive": true,
  "networkType": "xrp",
  "address": "rNXQc5mT7b336bFTkenFTPiF5TYuyrJ3ZH",
  "quantity": 100,
  "bankInfo": {},
  "txId": "cca72591-db39-4f06-b483-364b73eac43c",
  "symbol": "XRP",
  "tag": "some-id-1-reference",
  "username": "helloWorld",
  "goToAdmin": true
}
```

{% endtab %}

{% tab title="Untitled" %}

{% endtab %}

{% tab title="200: OK Create transaction with currencyTag" %}
Returns a [TransactionObject](https://docs.aquanow.io/aquanow/data-objects-and-statuses/transaction-objects#transactionobject).

```json
{
  "itemDateTime": 1667204771386,
  "networkType": "xrp",
  "address": "rNXQc5mT7b336bFTkenFTPiF5TYuyrJ3ZH",
  "quantity": 100,
  "grossQuantity": 100,
  "bankInfo": {},
  "currencyTag": "2307171792",
  "txId": "730b96c4-729e-460f-93e6-96af0a045ab7",
  "symbol": "XRP",
  "username": "helloWorld",
  "freeOrNot": true,
  "transactionType": "WITHDRAW",
  "isAutopilotAddress": false,
  "adminApproval": "PROCESSING",
  "createdAt": 1667204771386,
  "updatedAt": 1667204771386
}
```

{% endtab %}

{% tab title="400: Bad Request Invalid networkType" %}

```json
{
    "message": "Provided network type does not exist"
}
```

{% endtab %}

{% tab title="400: Bad Request Both grossQuantity and quantity in same request body" %}

```
{
    "message": "Conflicting parameters provided. Please specify either 'grossQuantity' or 'quantity', but not both."
}
```

{% endtab %}

{% tab title="200: OK Create transaction with grossQuantity" %}

Returns a [TransactionObject](https://docs.aquanow.io/aquanow/data-objects-and-statuses/transaction-objects#transactionobject).

```json
{
  "retroActive": true,
  "networkType": "xrp",
  "address": "rNXQc5mT7b336bFTkenFTPiF5TYuyrJ3ZH",
  "grossQuantity": 1000,
  "networkFee": 100,
  "quantity": 900,
  "bankInfo": {},
  "txId": "cca72591-db39-4f06-b483-364b73eac43c",
  "symbol": "XRP",
  "tag": "some-id-1-reference",
  "username": "helloWorld",
  "goToAdmin": true
}
```

{% endtab %}
{% endtabs %}

## Request a FIAT withdrawal

<mark style="color:green;">`POST`</mark> `https://api.aquanow.io/accounts/v1/transaction`

To view example requests for this endpoint, visit Aquanow's [Postman](https://developer.aquanow.io/#4462eccb-a588-4590-a6c5-7dac5816356f) documentation.

#### Headers

| Name                                           | Type   | Description                                                                                                                                                        |
| ---------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| x-api-key<mark style="color:red;">\*</mark>    | String | <p><code>{{x-api-key}}</code></p><p>API Auth Key</p>                                                                                                               |
| x-signature<mark style="color:red;">\*</mark>  | String | <p><code>32c92460f65cbb78d0eaf9a4361fb6b0a2bb8bb4c40f531e9974a0afc12d9a328b5ff621a544d242ee9ba1dfa799c85a</code></p><p>Signature created using your API secret</p> |
| x-nonce<mark style="color:red;">\*</mark>      | Number | <p><code>1657731573930</code></p><p>Timestamp in millisecond</p>                                                                                                   |
| Content-Type<mark style="color:red;">\*</mark> | String | `application/json`                                                                                                                                                 |

#### Request Body

| Name                                              | Type   | Description                                                                                                                                                                                                                                                                                                                                             |
| ------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| symbol<mark style="color:red;">\*</mark>          | String | <p>e.g., <code>USD</code><br>All uppercase letters, the FIAT currency you are withdrawing.</p>                                                                                                                                                                                                                                                          |
| transactionType<mark style="color:red;">\*</mark> | String | <p><code>WITHDRAW</code></p><p>Type of transaction</p><p></p><p><mark style="color:orange;">NOTE:</mark> Currently, we only support <code>WITHDRAW</code>.</p>                                                                                                                                                                                          |
| addressId<mark style="color:red;">\*</mark>       | String | <p>Destination banking information you are withdrawing to. </p><p></p><p><mark style="color:orange;">NOTE:</mark> addressId is only required if you have <strong>multiple</strong> banking information stored.</p>                                                                                                                                      |
| accountId<mark style="color:red;">\*</mark>       | String | <p>e.g., <code>CA1000012R</code><br>Specify the <code>accountId</code> of the account you wish to make the transaction for</p>                                                                                                                                                                                                                          |
| quantity                                          | Number | <p>The net amount of funds to be withdrawn. This is the amount that will be received after any applicable withdrawal fees have been deducted. </p><p></p><p>Must provide <code>quantity</code> OR <code>grossQuantity</code></p><p></p><p><mark style="color:orange;">NOTE:</mark> You must have sufficient funds to be able to withdraw.</p>           |
| grossQuantity                                     | String | <p>The gross amount of funds to be withdrawn before deduction of any fees. This refers to the total amount that will be debited from the user's account.</p><p></p><p>Must provide <code>quantity</code> OR <code>grossQuantity</code></p><p></p><p><mark style="color:orange;">NOTE:</mark> You must have sufficient funds to be able to withdraw.</p> |

{% tabs %}
{% tab title="200: OK Create transaction" %}

```json
{
    "accountId": "CA1000051R",
    "networkType": "fiat",
    "address": "bc1q8k5508tfz299v7ywxj8j4g4p9hkn6n06xndv0d",
    "quantity": 1000,
    "grossQuantity": 1001,
    "bankInfo": {
        "symbol": "USD",
        "intermediaryBankAddress": "",
        "addressCreatedAt": 1706205259851,
        "transitNumber": "",
        "verified": true,
        "swiftCode": "SWIFT123",
        "bankName": "testBank",
        "label": "test1",
        "accountNumber": "123456",
        "beneficiaryAddress": "ben test address",
        "routingAbaNumber": "1234567890",
        "bankAddress": "test bank address",
        "intermediaryBank": "",
        "institutionNumber": "",
        "intermediarySwftBicCode": "",
        "beneficiaryName": "ben testName",
        "referenceCode": ""
    },
    "txId": "a2b2a320-e2eb-40e5-8372-12d162eabaad",
    "symbol": "USD",
    "username": "helloWorld",
    "networkFee": 1,
    "message": "A message",
    "originUser": "helloWorldUser",
    "source": "api",
    "transactionType": "WITHDRAW",
    "ipAddress": "38.111.102.138",
    "itemDateTime": 1712615261753,
    "isAutopilotAddress": false,
    "adminApproval": "PROCESSING"
}

```

{% endtab %}

{% tab title="200: OK Create transaction with grossQuantity" %}

```json

{
    "accountId": "CA1000101R",
    "networkType": "fiat",
    "address": "bc1q8k5508tfz299v7ywxj8j4g4p9hkn6n06xndv0d",
    "quantity": 999,
    "grossQuantity": 1000,
    "bankInfo": {
        "symbol": "USD",
        "intermediaryBankAddress": "",
        "addressCreatedAt": 1706205259851,
        "transitNumber": "",
        "verified": true,
        "swiftCode": "SWIFT123",
        "bankName": "testBank",
        "label": "test1",
        "accountNumber": "123456",
        "beneficiaryAddress": "ben test address",
        "routingAbaNumber": "1234567890",
        "bankAddress": "test bank address",
        "intermediaryBank": "",
        "institutionNumber": "",
        "intermediarySwftBicCode": "",
        "beneficiaryName": "ben testName",
        "referenceCode": ""
    },
    "txId": "9f6b2c44-ec5d-45b5-bfbf-f1846f5c3b5c",
    "symbol": "USD",
    "username": "helloWorld",
    "networkFee": 1,
    "message": "A message",
    "originUser": "helloWorldUser",
    "source": "api",
    "transactionType": "WITHDRAW",
    "ipAddress": "38.111.102.138",
    "itemDateTime": 1712615594968,
    "isAutopilotAddress": false,
    "adminApproval": "PROCESSING"
}
```

{% endtab %}

{% tab title="400: Bad Request Unspecified address (multiple active addresses)" %}

```json
{
    "message": "Multiple fiat address detected. Please provide an addressId"
}
```

{% endtab %}

{% tab title="400: Bad Request Insufficient funds" %}

```json
{
    "message": "Insufficient Funds"
}
```

{% endtab %}

{% tab title="400: Bad Request Missing address" %}

```json
{
    "message": "Please provide an address"
}
```

{% endtab %}

{% tab title="400: Bad Request Invalid transactionType" %}

```json
{
    "message": "must be equal to one of the allowed values"
}
```

{% endtab %}

{% tab title="400: Bad Request Both grossQuantity and quantity in same request body" %}

```
{
    "message": "Conflicting parameters provided. Please specify either 'grossQuantity' or 'quantity', but not both."
}
```

{% endtab %}
{% endtabs %}
