NAV
Shell HTTP JavaScript Ruby Python PHP Java Go

NDAX Wealth Broker API v1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Authentication

Accounts

brokerGetAccountDetails

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId} HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}

Get account details

Parameters

Name In Type Required Description
accountId path integer true none

Example responses

200 Response

{
  "accountId": 0,
  "isFrozen": true,
  "depositCode": "WB4554A542443"
}

Responses

Status Meaning Description Schema
200 OK OK AccountDetailsResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerGetAccountTransactions

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transactions", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/transactions

Get account balances

Parameters

Name In Type Required Description
accountId path integer true none
productId query integer false none
from query string false none
to query string false none
page query integer false none
size query integer false none

Example responses

200 Response

[
  {
    "id": 43245,
    "accountId": 12342,
    "credit": 0.00014,
    "debit": 0,
    "type": "DEPOSIT",
    "referenceId": 1234314,
    "productId": 0,
    "balance": 0.000143,
    "datetime": "2019-08-24T14:15:22Z"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AccountTransactionResponse] false none none
» id integer true none none
» accountId integer true none none
» credit string true none none
» debit string true none none
» type AccountTransactionType true none none
» referenceId integer true none none
» productId integer true none none
» balance string true none none
» datetime string(date-time) true none none

Enumerated Values

Property Value
type DEPOSIT
type DEPOSIT_FEE
type WITHDRAW
type WITHDRAW_FEE
type TRADE
type TRADE_FEE
type TRANSFER

brokerGetAccountDepositTickets

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/deposit-tickets", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/deposit-tickets

Get Account deposit tickets

Parameters

Name In Type Required Description
accountId path integer true none
productId query integer false none
from query string false none
to query string false none
page query integer false none
size query integer false none

Example responses

201 Response

[
  {
    "id": 123,
    "accountId": 456,
    "accountProviderId": 16,
    "productId": 1,
    "amount": "1000.50",
    "feeAmount": "10.00",
    "status": "NEW",
    "txHash": "0x0ba8789833f79aa3883107b3ec978a675fdd8e8754ef72b7bf8fbbbcc10e790f",
    "createdAt": "2025-08-12T10:15:30Z"
  }
]

Responses

Status Meaning Description Schema
201 Created OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 201

Name Type Required Restrictions Description
anonymous [DepositTicketResponse] false none none
» id integer true none none
» accountId integer true none none
» accountProviderId integer true none none
» productId integer true none none
» amount string true none none
» feeAmount string true none none
» status DepositTicketStatus true none Статус депозита
» txHash string¦null false none none
» createdAt string(date-time) true none none

Enumerated Values

Property Value
status NEW
status ADMIN_PROCESSING
status ACCEPTED
status REJECTED
status SYSTEM_PROCESSING
status FULLY_PROCESSED
status FAILED
status PENDING
status CONFIRMED
status AML_PROCESSING
status AML_ACCEPTED
status AML_REJECTED
status AML_FAILED
status LIMITS_ACCEPTED
status LIMITS_REJECTED
status AML_REGISTERED
status UNKNOWN

brokerGetAccountWithdrawTickets

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-tickets", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/withdraw-tickets

Get Account withdraw tickets

Parameters

Name In Type Required Description
accountId path integer true none
productId query integer false none
from query string false none
to query string false none
page query integer false none
size query integer false none

Example responses

201 Response

[
  {
    "id": 987,
    "accountId": 654,
    "productId": 3,
    "accountProviderId": 17,
    "amount": "500.00",
    "feeAmount": "5.00",
    "status": "NEW",
    "externalAddress": "0x9f8a1c2b3d4e5f67890123456789abcdef123456",
    "externalAddressTag": "string",
    "txHash": "0x0ba8789833f79aa3883107b3ec978a675fdd8e8754ef72b7bf8fbbbcc10e790f",
    "createdAt": "2025-08-12T10:15:30Z"
  }
]

Responses

Status Meaning Description Schema
201 Created OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 201

Name Type Required Restrictions Description
anonymous [WithdrawTicketResponse] false none none
» id integer true none none
» accountId integer true none none
» productId integer(int64) true none none
» accountProviderId integer(int64) true none none
» amount string true none none
» feeAmount string true none none
» status WithdrawTicketStatus true none none
» externalAddress string¦null false none none
» externalAddressTag string¦null false none none
» txHash string¦null false none none
» createdAt string(date-time) true none none

Enumerated Values

Property Value
status NEW
status ADMIN_PROCESSING
status ACCEPTED
status REJECTED
status SYSTEM_PROCESSING
status FULLY_PROCESSED
status FAILED
status PENDING
status PENDING_2FA
status AUTO_ACCEPTED
status DELAYED
status USER_CANCELLED
status ADMIN_CANCELLED
status AML_ADDRESS_VERIFICATION_PROCESSING
status AML_ACCEPTED
status AML_REJECTED
status AML_FAILED
status LIMITS_ACCEPTED
status LIMITS_REJECTED
status SUBMITTED
status CONFIRMED
status MANUALLY_CONFIRMED
status CONFIRMED_2FA
status AVS_PENDING
status AML_ACCEPTED_OVERRIDE
status MANUAL_REVIEW
status UNKNOWN

brokerGetAccountBalances

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/balances", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/balances

Get account balances

Parameters

Name In Type Required Description
accountId path integer true none
notionalProductId query integer false none

Example responses

200 Response

{
  "totalNotionalValue": 13443.56,
  "holdNotionalValue": 0,
  "availableNotionalValue": 13443.56,
  "notionalProductId": 5,
  "notionalProductSymbol": "CAD",
  "positions": [
    {
      "productId": 1,
      "productSymbol": "BTC",
      "total": 0.034567,
      "totalNotionalValue": 3246.43,
      "available": 0.034567,
      "availableNotionalValue": 3246.43,
      "hold": 0,
      "holdNotionalValue": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK BalancesResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerGetAccountTradeFees

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trade-fees", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/trade-fees

Get account trade fees

Parameters

Name In Type Required Description
accountId path integer true none

Example responses

200 Response

[
  {
    "instrumentId": 1,
    "feeType": "FlatRate",
    "feeStructure": "MakerFee",
    "feeValue": 0.02
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AccountTradeFeeResponse] false none none
» instrumentId integer true none none
» feeType FeeType true none none
» feeStructure FeeStructure true none none
» feeValue number true none none

Enumerated Values

Property Value
feeType FlatRate
feeType Percentage
feeStructure MakerFee
feeStructure TakerFee
feeStructure FlatPegToProduct

brokerGetAccountWithdrawFees

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/withdraw-fees", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/withdraw-fees

Get account withdraw fees

Parameters

Name In Type Required Description
accountId path integer true none

Example responses

200 Response

[
  {
    "productId": 1,
    "accountProviderId": 4,
    "feeAmount": 0.0001,
    "feeType": "FlatRate"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AccountWithdrawFeeResponse] false none none
» productId integer true none none
» accountProviderId integer true none none
» feeAmount number true none none
» feeType FeeType true none none

Enumerated Values

Property Value
feeType FlatRate
feeType Percentage

brokerGetClientOrders

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/orders

Get client orders

Parameters

Name In Type Required Description
accountId path integer true none
instrumentId query integer false none
from query string false none
to query string false none
page query integer false none
size query integer false none

Example responses

200 Response

[
  {
    "orderId": 12344,
    "instrumentId": 5,
    "instrumentSymbol": "BTCCAD",
    "type": "MARKET",
    "side": "BUY",
    "status": "UNKNOWN",
    "originalAmount": 15.43,
    "originalQuantity": 0.0001,
    "limitPrice": "89000.00",
    "createdAt": "2026-04-21T17:37:05.719Z",
    "updatedAt": "2026-04-21T17:37:05.719Z",
    "executionInfo": {
      "executedPrice": 124554.45,
      "executedAmount": 12.45,
      "executedQuantity": 0.0001
    }
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [OrderResponse] false none none
» orderId integer true none none
» instrumentId integer true none none
» instrumentSymbol string true none none
» type OrderType true none none
» side OrderSide true none none
» status OrderStatus true none none
» originalAmount string false none none
» originalQuantity string false none none
» limitPrice string false none Limit price for LIMIT orders. Absent for MARKET orders.
» createdAt string(date-time) false none none
» updatedAt string(date-time) false none none
» executionInfo OrderExecutionInfo false none none
»» executedPrice string true none none
»» executedAmount string true none none
»» executedQuantity string true none none

Enumerated Values

Property Value
type MARKET
type LIMIT
side BUY
side SELL
status UNKNOWN
status FAILED
status REJECTED
status CANCELLED
status WORKING
status FULLY_EXECUTED
status EXPIRED

brokerGetAccountOpenedOrders

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/orders/opened", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/orders/opened

Get account opened orders

Parameters

Name In Type Required Description
accountId path integer true none

Example responses

200 Response

[
  {
    "orderId": 12344,
    "instrumentId": 5,
    "instrumentSymbol": "BTCCAD",
    "type": "MARKET",
    "side": "BUY",
    "status": "UNKNOWN",
    "originalAmount": 15.43,
    "originalQuantity": 0.0001,
    "limitPrice": "89000.00",
    "createdAt": "2026-04-21T17:37:05.719Z",
    "updatedAt": "2026-04-21T17:37:05.719Z",
    "executionInfo": {
      "executedPrice": 124554.45,
      "executedAmount": 12.45,
      "executedQuantity": 0.0001
    }
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [OrderResponse] false none none
» orderId integer true none none
» instrumentId integer true none none
» instrumentSymbol string true none none
» type OrderType true none none
» side OrderSide true none none
» status OrderStatus true none none
» originalAmount string false none none
» originalQuantity string false none none
» limitPrice string false none Limit price for LIMIT orders. Absent for MARKET orders.
» createdAt string(date-time) false none none
» updatedAt string(date-time) false none none
» executionInfo OrderExecutionInfo false none none
»» executedPrice string true none none
»» executedAmount string true none none
»» executedQuantity string true none none

Enumerated Values

Property Value
type MARKET
type LIMIT
side BUY
side SELL
status UNKNOWN
status FAILED
status REJECTED
status CANCELLED
status WORKING
status FULLY_EXECUTED
status EXPIRED

brokerGetAccountTrades

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/trades", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/trades

Get account trades

Parameters

Name In Type Required Description
accountId path integer true none
orderId query integer false none
instrumentId query integer false none
from query string false none
to query string false none
page query integer false none
size query integer false none

Example responses

200 Response

[
  {
    "tradeId": 0,
    "orderId": 0,
    "instrumentId": 0,
    "side": "BUY",
    "amount": "string",
    "quantity": "string",
    "price": "string",
    "fee": "string",
    "feeProductId": 0,
    "datetime": "2019-08-24T14:15:22Z"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [TradeResponse] false none none
» tradeId integer true none none
» orderId integer true none none
» instrumentId integer true none none
» side OrderSide true none none
» amount string true none none
» quantity string true none none
» price string true none none
» fee string true none none
» feeProductId integer true none none
» datetime string(date-time) true none none

Enumerated Values

Property Value
side BUY
side SELL

brokerTransferFunds

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "toAccountId": 2443,
  "productId": 5,
  "amount": 0.0001,
  "comment": "Some note"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/transfer", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /accounts/{accountId}/transfer

Transfer funds

Body parameter

{
  "toAccountId": 2443,
  "productId": 5,
  "amount": 0.0001,
  "comment": "Some note"
}

Parameters

Name In Type Required Description
accountId path integer true none
body body TransferFundsOptions false none

Example responses

201 Response

{
  "id": 12343,
  "fromAccountId": 1244,
  "toAccountId": 5345,
  "productId": 5,
  "amount": 0.0001,
  "status": "PENDING",
  "ledgerEntryId": 4354,
  "comment": "Some note",
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
201 Created OK TransferResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Auth

brokerRevokeAuthToken

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "tokenId": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/auth/revoke", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /auth/revoke

Revoke auth token

Body parameter

{
  "tokenId": "string"
}

Parameters

Name In Type Required Description
body body RevokeTokenOptions false none

Example responses

400 Response

{
  "message": "string",
  "statusCode": 0,
  "errorCode": "WMS_NOT_FOUND",
  "details": {},
  "datetime": "string"
}

Responses

Status Meaning Description Schema
201 Created OK None
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Bank Accounts

brokerGetBankAccounts

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/bank-accounts

Get bank accounts

Parameters

Name In Type Required Description
accountId path integer true none

Example responses

200 Response

[
  {
    "id": "string",
    "name": "My bank account",
    "productId": 5,
    "type": "EFT",
    "accountNumber": "AB5345345346354",
    "bankCode": "C534534",
    "bankName": "ATB",
    "description": "USD account",
    "transitNumber": "T5453434",
    "swiftCode": "AT54AB544",
    "favourite": true
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [BankAccountResponse] false none none
» id string true none none
» name string true none none
» productId integer true none none
» type BankAccountType true none none
» accountNumber string true none none
» bankCode string true none none
» bankName string true none none
» description string true none none
» transitNumber string true none none
» swiftCode string false none none
» favourite boolean false none none

Enumerated Values

Property Value
type EFT
type WIRE_TRANSFER

brokerCreateBankAccount

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "name": "My bank account",
  "description": "My USD account",
  "type": "EFT",
  "productId": 5,
  "accountNumber": "A43243234",
  "bankCode": "B524543534",
  "bankName": "ATB",
  "transitNumber": "AT545343543343",
  "swiftCode": "ATB5453443"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /accounts/{accountId}/bank-accounts

Create bank account

Body parameter

{
  "name": "My bank account",
  "description": "My USD account",
  "type": "EFT",
  "productId": 5,
  "accountNumber": "A43243234",
  "bankCode": "B524543534",
  "bankName": "ATB",
  "transitNumber": "AT545343543343",
  "swiftCode": "ATB5453443"
}

Parameters

Name In Type Required Description
accountId path integer true none
body body CreateBankAccountOptions false none

Example responses

200 Response

{
  "id": "string",
  "name": "My bank account",
  "productId": 5,
  "type": "EFT",
  "accountNumber": "AB5345345346354",
  "bankCode": "C534534",
  "bankName": "ATB",
  "description": "USD account",
  "transitNumber": "T5453434",
  "swiftCode": "AT54AB544",
  "favourite": true
}

Responses

Status Meaning Description Schema
200 OK OK BankAccountResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerUpdateBankAccount

Code samples

# You can also use wget
curl -X PATCH https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId} HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "name": "My bank account",
  "description": "My USD account",
  "type": "EFT",
  "productId": 5,
  "accountNumber": "A43243234",
  "bankCode": "B524543534",
  "bankName": "ATB",
  "transitNumber": "AT545343543343",
  "swiftCode": "ATB5453443"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /accounts/{accountId}/bank-accounts/{bankAccountId}

Update bank account

Body parameter

{
  "name": "My bank account",
  "description": "My USD account",
  "type": "EFT",
  "productId": 5,
  "accountNumber": "A43243234",
  "bankCode": "B524543534",
  "bankName": "ATB",
  "transitNumber": "AT545343543343",
  "swiftCode": "ATB5453443"
}

Parameters

Name In Type Required Description
accountId path integer true none
bankAccountId path string true none
body body UpdateBankAccountOptions false none

Example responses

200 Response

{
  "id": "string",
  "name": "My bank account",
  "productId": 5,
  "type": "EFT",
  "accountNumber": "AB5345345346354",
  "bankCode": "C534534",
  "bankName": "ATB",
  "description": "USD account",
  "transitNumber": "T5453434",
  "swiftCode": "AT54AB544",
  "favourite": true
}

Responses

Status Meaning Description Schema
200 OK OK BankAccountResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerDeleteBankAccount

Code samples

# You can also use wget
curl -X DELETE https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId} HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /accounts/{accountId}/bank-accounts/{bankAccountId}

Delete bank accounts

Parameters

Name In Type Required Description
accountId path integer true none
bankAccountId path string true none

Example responses

400 Response

{
  "message": "string",
  "statusCode": 0,
  "errorCode": "WMS_NOT_FOUND",
  "details": {},
  "datetime": "string"
}

Responses

Status Meaning Description Schema
200 OK OK None
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerToggleBankAccountAsFavorite

Code samples

# You can also use wget
curl -X PATCH https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api-dev.ndax.io/v1/integrations/wealth/broker/accounts/{accountId}/bank-accounts/{bankAccountId}/favorite", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /accounts/{accountId}/bank-accounts/{bankAccountId}/favorite

Toggle bank account as favorite

Parameters

Name In Type Required Description
accountId path integer true none
bankAccountId path string true none

Example responses

200 Response

{
  "favourite": true
}

Responses

Status Meaning Description Schema
200 OK OK ToggleBankAccountAsFavoriteResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Broker

brokerGetAuthenticatedBroker

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/ \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/ HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /

Get authenticated broker

Example responses

200 Response

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "institutionId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "userId": 4234,
  "accountId": 4343,
  "username": "username4",
  "firstName": "John",
  "lastName": "Doe",
  "status": "ACTIVE",
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK OK BrokerResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Broker Clients

brokerGetBrokersClients

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/clients \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/clients HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/clients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/clients', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/clients", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /clients

Get brokers clients

Parameters

Name In Type Required Description
brokerClientId query string(UUID) false none
institutionId query string(UUID) false none
status query BrokerClientStatus false none
page query integer false none
size query integer false none

Enumerated Values

Parameter Value
status ACTIVE
status CLOSED

Example responses

200 Response

{
  "list": [
    {
      "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "brokerId": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "omsAccountId": 42342,
      "status": "ACTIVE",
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "phoneNumber": 12435234542,
      "dob": "1975-03-06",
      "identification": 12443434,
      "address": {
        "countryCode": "CA",
        "street": "Tower str",
        "provinceCode": "AB",
        "city": "Calgary",
        "postalCode": "F45G43",
        "building": 14,
        "unit": 43
      },
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0
}

Responses

Status Meaning Description Schema
200 OK OK BrokerClientPaginatedResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerCreateBrokerClient

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/clients \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/clients HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "address": {
    "countryCode": "string",
    "street": "string",
    "provinceCode": "string",
    "city": "string",
    "postalCode": "string",
    "building": "string",
    "unit": "string"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/clients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/clients', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/clients", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /clients

Create broker client

Body parameter

{
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "address": {
    "countryCode": "string",
    "street": "string",
    "provinceCode": "string",
    "city": "string",
    "postalCode": "string",
    "building": "string",
    "unit": "string"
  }
}

Parameters

Name In Type Required Description
body body CreateBrokerClientOptions false none

Example responses

201 Response

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "brokerId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "omsAccountId": 42342,
  "status": "ACTIVE",
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "phoneNumber": 12435234542,
  "dob": "1975-03-06",
  "identification": 12443434,
  "address": {
    "countryCode": "CA",
    "street": "Tower str",
    "provinceCode": "AB",
    "city": "Calgary",
    "postalCode": "F45G43",
    "building": 14,
    "unit": 43
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
201 Created OK BrokerClientResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerActivateBrokerClient

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/activate", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /clients/{id}/activate

Activate broker client

Parameters

Name In Type Required Description
id path string(UUID) true none

Example responses

200 Response

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "brokerId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "omsAccountId": 42342,
  "status": "ACTIVE",
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "phoneNumber": 12435234542,
  "dob": "1975-03-06",
  "identification": 12443434,
  "address": {
    "countryCode": "CA",
    "street": "Tower str",
    "provinceCode": "AB",
    "city": "Calgary",
    "postalCode": "F45G43",
    "building": 14,
    "unit": 43
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK OK BrokerClientResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerCloseBrokerClient

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/clients/{id}/close", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /clients/{id}/close

Close broker client

Parameters

Name In Type Required Description
id path string(UUID) true none

Example responses

200 Response

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "brokerId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "omsAccountId": 42342,
  "status": "ACTIVE",
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "phoneNumber": 12435234542,
  "dob": "1975-03-06",
  "identification": 12443434,
  "address": {
    "countryCode": "CA",
    "street": "Tower str",
    "provinceCode": "AB",
    "city": "Calgary",
    "postalCode": "F45G43",
    "building": 14,
    "unit": 43
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK OK BrokerClientResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Market

brokerGetProducts

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/market/products", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /market/products

Get products

Example responses

200 Response

[
  {
    "productId": 5,
    "symbol": "BTC",
    "fullName": "Bitcoin",
    "type": "Unknown",
    "decimals": 8,
    "depositConfigs": [
      {
        "_id": "string",
        "type": "FROM_EXTERNAL_WALLET",
        "disabled": true,
        "fee": 0.0001,
        "depositMethod": "BANK_DRAFT",
        "timeframe": "up to 4 hours",
        "limits": 0.5,
        "limitsTooltip": "string",
        "paymentInfo": {}
      }
    ],
    "withdrawConfigs": [
      {
        "_id": "string",
        "type": "TO_EXTERNAL_WALLET",
        "disabled": true,
        "fee": 0,
        "fees": [
          {
            "type": "FlatRate",
            "amount": 0
          }
        ],
        "accountProviderId": 0,
        "withdrawTemplateType": "string",
        "method": "EFT",
        "timeFrame": "string",
        "minLimit": 0,
        "maxOneTimeLimit": 0,
        "maxDailyLimit": 0
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProductResponse] false none none
» productId integer true none none
» symbol string true none none
» fullName string true none none
» type ProductType true none none
» decimals integer true none none
» depositConfigs [anyOf] true none Deposit configs

anyOf

Name Type Required Restrictions Description
»» anonymous FiatDepositConfig false none none
»»» _id string true none none
»»» type DepositConfigType true none Deposit config type
»»» disabled boolean true none none
»»» fee number false none none
»»» depositMethod FiatDepositMethod true none FIAT Deposit method
»»» timeframe string true none none
»»» limits string true none none
»»» limitsTooltip string false none none
»»» paymentInfo object true none none

or

Name Type Required Restrictions Description
»» anonymous ExternalWalletDepositConfig false none none
»»» _id string true none none
»»» type DepositConfigType true none Deposit config type
»»» networkId string true none none
»»» disabled boolean true none none
»»» fee number false none none
»»» accountProviderId number true none none
»»» templateForm DepositTemplateForm true none External wallet deposit template form
»»» canGenerateDepositKeys boolean true none none
»»» depositKeyPattern [DepositKeyPatternElement] true none Array of deposit key pattern elements
»»» note string false none none

continued

Name Type Required Restrictions Description
» withdrawConfigs [anyOf] true none Withdraw configs

anyOf

Name Type Required Restrictions Description
»» anonymous FiatWithdrawConfig false none none
»»» _id string true none none
»»» type WithdrawConfigType true none Withdraw config type
»»» disabled boolean true none none
»»» fee number false none none
»»» fees [WithdrawConfigFee] false none none
»»»» type WithdrawConfigFeeType true none none
»»»» amount number true none none
»»» accountProviderId number true none none
»»» withdrawTemplateType string true none none
»»» method FiatWithdrawMethod true none FIAT Withdraw method
»»» timeFrame string true none none
»»» minLimit number false none none
»»» maxOneTimeLimit number false none none
»»» maxDailyLimit number false none none

or

Name Type Required Restrictions Description
»» anonymous ExternalWalletWithdrawConfig false none none
»»» _id string true none none
»»» networkId string true none none
»»» type WithdrawConfigType true none Withdraw config type
»»» disabled boolean true none none
»»» fee number false none none
»»» fees [WithdrawConfigFee] false none none
»»» timeFrame string false none none
»»» accountProviderId number true none none
»»» withdrawTemplateType string true none none
»»» method ExternalWalletWithdrawMethod true none External Wallet Withdraw method
»»» templateForm WithdrawTemplateForm true none External wallet withdraw template form
»»» whitelisting boolean true none none
»»» minLimit number false none none

Enumerated Values

Property Value
type Unknown
type NationalCurrency
type CryptoCurrency
type Contract
type FROM_EXTERNAL_WALLET
type FIAT_DEPOSIT
depositMethod BANK_DRAFT
depositMethod INTERAC
depositMethod WIRE
depositMethod PAYMENT_CARD
type FROM_EXTERNAL_WALLET
type FIAT_DEPOSIT
templateForm ADDRESS_ONLY
templateForm ADDRESS_AND_DESTINATION_TAG
templateForm ADDRESS_AND_MEMO
type TO_EXTERNAL_WALLET
type FIAT_WITHDRAW
type FlatRate
type Percentage
method EFT
method WIRE_TRANSFER
method INTERAC_E_TRANSFER
type TO_EXTERNAL_WALLET
type FIAT_WITHDRAW
method STANDARD
method EXPRESS
method FLEX
templateForm ADDRESS_ONLY
templateForm ADDRESS_AND_DESTINATION_TAG
templateForm ADDRESS_AND_MEMO

brokerGetInstruments

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/market/instruments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /market/instruments

Get instruments

Example responses

200 Response

[
  {
    "instrumentId": 0,
    "symbol": "string",
    "baseProductId": 0,
    "baseProductSymbol": "string",
    "quoteProductId": 0,
    "quoteProductSymbol": "string",
    "minimumQuantity": 0,
    "quantityIncrement": 0,
    "priceIncrement": 0
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [InstrumentResponse] false none none
» instrumentId integer true none none
» symbol string true none none
» baseProductId integer true none none
» baseProductSymbol string true none none
» quoteProductId integer true none none
» quoteProductSymbol string true none none
» minimumQuantity number true none none
» quantityIncrement number true none none
» priceIncrement number true none none

brokerGetTickers

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/market/tickers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /market/tickers

Get tickers

Example responses

200 Response

[
  {
    "instrumentId": 0,
    "baseProductSymbol": "string",
    "quoteProductSymbol": "string",
    "open": "string",
    "close": "string",
    "bid": "string",
    "ask": "string",
    "last": "string",
    "high": "string",
    "low": "string",
    "baseVolume": "string",
    "quoteVolume": "string",
    "rolling24HrPxChange": "string",
    "rolling24HrPxChangePercent": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [TickerResponse] false none none
» instrumentId integer true none none
» baseProductSymbol string true none none
» quoteProductSymbol string true none none
» open string true none none
» close string true none none
» bid string true none none
» ask string true none none
» last string true none none
» high string true none none
» low string true none none
» baseVolume string true none none
» quoteVolume string true none none
» rolling24HrPxChange string true none none
» rolling24HrPxChangePercent string true none none

brokerGetRecentTradesByInstrumentId

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent \
  -H 'Accept: application/json'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/market/trades/{instrumentId}/recent", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /market/trades/{instrumentId}/recent

Get recent trades

Parameters

Name In Type Required Description
instrumentId path integer true none
page query integer false none
size query integer false none

Example responses

200 Response

[
  {
    "tradeId": 0,
    "price": "string",
    "baseVolume": "string",
    "targetVolume": "string",
    "side": "BUY",
    "datetime": "2019-08-24T14:15:22Z"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [RecentTradeResponse] false none none
» tradeId integer true none none
» price string true none none
» baseVolume string true none none
» targetVolume string true none none
» side OrderSide true none none
» datetime string(date-time) true none none

Enumerated Values

Property Value
side BUY
side SELL

Orders

brokerSendOrder

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/orders \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/orders HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "brokerClientId": "0f2b5b8e-4ee9-43eb-b0ac-4bf4701372cf",
  "instrumentId": 5,
  "type": "MARKET",
  "side": "BUY",
  "limitPrice": "89500.00",
  "inputAmount": "1000.00",
  "inputQuantity": "0.0001"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/orders',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/orders',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/orders', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/orders', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/orders");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/orders", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /orders

Send order

Submits a new order on behalf of the authenticated broker.

Validation errors (e.g. missing required fields) are returned as HTTP 400 with a validationError object in the response body.

Rejected orders (e.g. insufficient funds / NSF) are returned as HTTP 200 with order.status = REJECTED and orderId = 0. These are not error responses — the order was received and processed; the exchange simply rejected it. The order will also appear in the account's order history via GET /accounts/{id}/orders.

Body parameter

{
  "brokerClientId": "0f2b5b8e-4ee9-43eb-b0ac-4bf4701372cf",
  "instrumentId": 5,
  "type": "MARKET",
  "side": "BUY",
  "limitPrice": "89500.00",
  "inputAmount": "1000.00",
  "inputQuantity": "0.0001"
}

Parameters

Name In Type Required Description
body body SendOrderOptions false none

Example responses

200 Response

{
  "validationError": "DUPLICATE",
  "order": {
    "orderId": 12344,
    "instrumentId": 5,
    "instrumentSymbol": "BTCCAD",
    "type": "MARKET",
    "side": "BUY",
    "status": "UNKNOWN",
    "originalAmount": 15.43,
    "originalQuantity": 0.0001,
    "limitPrice": "89000.00",
    "createdAt": "2026-04-21T17:37:05.719Z",
    "updatedAt": "2026-04-21T17:37:05.719Z",
    "executionInfo": {
      "executedPrice": 124554.45,
      "executedAmount": 12.45,
      "executedQuantity": 0.0001
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK SendOrderResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerGetOrderById

Code samples

# You can also use wget
curl -X GET https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id} HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /orders/{id}

Get order by Id

Parameters

Name In Type Required Description
id path integer true none

Example responses

200 Response

{
  "orderId": 12344,
  "instrumentId": 5,
  "instrumentSymbol": "BTCCAD",
  "type": "MARKET",
  "side": "BUY",
  "status": "UNKNOWN",
  "originalAmount": 15.43,
  "originalQuantity": 0.0001,
  "limitPrice": "89000.00",
  "createdAt": "2026-04-21T17:37:05.719Z",
  "updatedAt": "2026-04-21T17:37:05.719Z",
  "executionInfo": {
    "executedPrice": 124554.45,
    "executedAmount": 12.45,
    "executedQuantity": 0.0001
  }
}

Responses

Status Meaning Description Schema
200 OK OK OrderResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

brokerCancelOrderById

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel HTTP/1.1
Host: api-dev.ndax.io
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api-dev.ndax.io/v1/integrations/wealth/broker/orders/{id}/cancel", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /orders/{id}/cancel

Cancel order by Id

Parameters

Name In Type Required Description
id path integer true none

Example responses

201 Response

{
  "orderId": 12344,
  "instrumentId": 5,
  "instrumentSymbol": "BTCCAD",
  "type": "MARKET",
  "side": "BUY",
  "status": "UNKNOWN",
  "originalAmount": 15.43,
  "originalQuantity": 0.0001,
  "limitPrice": "89000.00",
  "createdAt": "2026-04-21T17:37:05.719Z",
  "updatedAt": "2026-04-21T17:37:05.719Z",
  "executionInfo": {
    "executedPrice": 124554.45,
    "executedAmount": 12.45,
    "executedQuantity": 0.0001
  }
}

Responses

Status Meaning Description Schema
201 Created OK OrderResponse
400 Bad Request Bad request ErrorResponse
401 Unauthorized Bad request ErrorResponse
404 Not Found Resource not found ErrorResponse
500 Internal Server Error Internal server error ErrorResponse

Schemas

ErrorResponse

{
  "message": "string",
  "statusCode": 0,
  "errorCode": "WMS_NOT_FOUND",
  "details": {},
  "datetime": "string"
}

Properties

Name Type Required Restrictions Description
message string true none none
statusCode integer true none none
errorCode ErrorCode true none none
details object true none none
datetime string true none none

ErrorCode

"WMS_NOT_FOUND"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous WMS_NOT_FOUND
anonymous WMS_ALREADY_ENABLED
anonymous WMS_ALREADY_DISABLED
anonymous INTERNAL_SERVER_ERROR
anonymous NOT_FOUND
anonymous INVALID_REQUEST
anonymous AUTH_WMS_IS_NOT_ACTIVATED
anonymous AUTH_BROKER_IS_NOT_ACTIVATED
anonymous AUTH_NO_TOKEN_PROVIDED
anonymous AUTH_INVALID_TOKEN_SUBJECT
anonymous AUTH_INVALID_TOKEN_AUDIENCE
anonymous AUTH_TOKEN_REVOKED
anonymous AUTH_INVALID_TOKEN
anonymous AUTH_TOKEN_EXPIRED
anonymous ACCOUNT_NOT_FOUND
anonymous BROKER_CLIENT_NOT_FOUND
anonymous BROKER_NOT_FOUND
anonymous BROKER_CLIENT_ALREADY_CLOSED
anonymous BROKER_CLIENT_ALREADY_ACTIVATED
anonymous BROKER_ALREADY_EXISTS
anonymous BROKER_ALREADY_CLOSED
anonymous BROKER_ALREADY_ACTIVATED
anonymous INSTITUTION_NOT_FOUND
anonymous INSTITUTION_ALREADY_EXISTS
anonymous INSTITUTION_ALREADY_CLOSED
anonymous INSTITUTION_ALREADY_ACTIVATED
anonymous USER_NOT_FOUND
anonymous USER_IS_NOT_VERIFIED
anonymous BUSINESS_NOT_FOUND_OR_NOT_VERIFIED
anonymous MARKET_ORDER_CANNOT_BE_CANCELLED
anonymous ORDER_NOT_FOUND
anonymous TRANSFER_INVALID_DESTINATION_ACCOUNT_ID
anonymous SELF_TRANSFER_FORBIDDEN

OrderSide

"BUY"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous BUY
anonymous SELL

OrderType

"MARKET"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous MARKET
anonymous LIMIT

OrderFailureReason

"NO_MARKET"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous NO_MARKET
anonymous NOT_ENOUGH_FUNDS
anonymous LESS_THAN_MINIMUM_QUANTITY
anonymous UNKNOWN_ERROR

OrderValidationError

"DUPLICATE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous DUPLICATE
anonymous NO_INPUT_VALUE
anonymous INVALID_LIMIT_PRICE
anonymous NO_LIMIT_PRICE
anonymous LIMIT_PRICE_SHOULD_NOT_EXISTS
anonymous INVALID_INPUT_AMOUNT
anonymous INVALID_INPUT_QUANTITY
anonymous LESS_THAN_MINIMUM_QUANTITY
anonymous INSTRUMENT_NOT_FOUND
anonymous INSTRUMENT_DISABLED
anonymous LIMIT_ORDER_CANNOT_BE_RETRYABLE

OrderTicketStatus

"NEW"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous NEW
anonymous SUBMITTED
anonymous EXECUTION_CONFIRMED
anonymous COMPLETED
anonymous FAILED
anonymous CANCELLED

SendOrderOptions

{
  "brokerClientId": "0f2b5b8e-4ee9-43eb-b0ac-4bf4701372cf",
  "instrumentId": 5,
  "type": "MARKET",
  "side": "BUY",
  "limitPrice": "89500.00",
  "inputAmount": "1000.00",
  "inputQuantity": "0.0001"
}

Properties

Name Type Required Restrictions Description
brokerClientId string false none none
instrumentId integer true none none
type OrderType true none none
side OrderSide true none none
limitPrice string false none Required for LIMIT orders. Must not be provided for MARKET orders.
inputAmount string false none Fiat/quote amount to spend or receive. Required for MARKET orders if inputQuantity is not provided. Must not be provided for LIMIT orders.
inputQuantity string false none Asset quantity to buy or sell. Required for LIMIT orders and for MARKET orders if inputAmount is not provided.

ImportBrokerUserOptions

{
  "username": "string"
}

Properties

Name Type Required Restrictions Description
username string true none none

BrokerClientStatus

"ACTIVE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous ACTIVE
anonymous CLOSED

TransferFundsOptions

{
  "toAccountId": 2443,
  "productId": 5,
  "amount": 0.0001,
  "comment": "Some note"
}

Properties

Name Type Required Restrictions Description
toAccountId number true none none
productId number true none none
amount string true none none
comment string true none none

UpdateBankAccountOptions

{
  "name": "My bank account",
  "description": "My USD account",
  "type": "EFT",
  "productId": 5,
  "accountNumber": "A43243234",
  "bankCode": "B524543534",
  "bankName": "ATB",
  "transitNumber": "AT545343543343",
  "swiftCode": "ATB5453443"
}

Properties

Name Type Required Restrictions Description
name string true none none
description string true none none
type BankAccountType true none none
productId integer true none none
accountNumber string true none none
bankCode string true none none
bankName string true none none
transitNumber string true none none
swiftCode string false none none

CreateBankAccountOptions

{
  "name": "My bank account",
  "description": "My USD account",
  "type": "EFT",
  "productId": 5,
  "accountNumber": "A43243234",
  "bankCode": "B524543534",
  "bankName": "ATB",
  "transitNumber": "AT545343543343",
  "swiftCode": "ATB5453443"
}

Properties

Name Type Required Restrictions Description
name string true none none
description string true none none
type BankAccountType true none none
productId integer true none none
accountNumber string true none none
bankCode string true none none
bankName string true none none
transitNumber string true none none
swiftCode string false none none

CreateAddressOptions

{
  "countryCode": "string",
  "street": "string",
  "provinceCode": "string",
  "city": "string",
  "postalCode": "string",
  "building": "string",
  "unit": "string"
}

Properties

Name Type Required Restrictions Description
countryCode string true none none
street string true none none
provinceCode string true none none
city string true none none
postalCode string true none none
building string true none none
unit string false none none

CreateBrokerClientOptions

{
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "address": {
    "countryCode": "string",
    "street": "string",
    "provinceCode": "string",
    "city": "string",
    "postalCode": "string",
    "building": "string",
    "unit": "string"
  }
}

Properties

Name Type Required Restrictions Description
firstName string true none none
lastName string true none none
email string true none none
phoneNumber string true none none
dob string true none none
identification string true none none
address CreateAddressOptions true none none

TransferBrokerClientOptions

{
  "brokerId": "string"
}

Properties

Name Type Required Restrictions Description
brokerId string true none none

AccountDetailsResponse

{
  "accountId": 0,
  "isFrozen": true,
  "depositCode": "WB4554A542443"
}

Properties

Name Type Required Restrictions Description
accountId integer true none none
isFrozen boolean true none none
depositCode string true none none

BalancesResponse

{
  "totalNotionalValue": 13443.56,
  "holdNotionalValue": 0,
  "availableNotionalValue": 13443.56,
  "notionalProductId": 5,
  "notionalProductSymbol": "CAD",
  "positions": [
    {
      "productId": 1,
      "productSymbol": "BTC",
      "total": 0.034567,
      "totalNotionalValue": 3246.43,
      "available": 0.034567,
      "availableNotionalValue": 3246.43,
      "hold": 0,
      "holdNotionalValue": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
totalNotionalValue string true none none
holdNotionalValue string true none none
availableNotionalValue string true none none
notionalProductId integer true none none
notionalProductSymbol string true none none
positions [AccountPosition] true none none

AccountPosition

{
  "productId": 1,
  "productSymbol": "BTC",
  "total": 0.034567,
  "totalNotionalValue": 3246.43,
  "available": 0.034567,
  "availableNotionalValue": 3246.43,
  "hold": 0,
  "holdNotionalValue": 0
}

Properties

Name Type Required Restrictions Description
productId integer true none none
productSymbol string true none none
total string true none none
totalNotionalValue string true none none
available string true none none
availableNotionalValue string true none none
hold string true none none
holdNotionalValue string true none none

AccountTradeFeeResponse

{
  "instrumentId": 1,
  "feeType": "FlatRate",
  "feeStructure": "MakerFee",
  "feeValue": 0.02
}

Properties

Name Type Required Restrictions Description
instrumentId integer true none none
feeType FeeType true none none
feeStructure FeeStructure true none none
feeValue number true none none

AccountWithdrawFeeResponse

{
  "productId": 1,
  "accountProviderId": 4,
  "feeAmount": 0.0001,
  "feeType": "FlatRate"
}

Properties

Name Type Required Restrictions Description
productId integer true none none
accountProviderId integer true none none
feeAmount number true none none
feeType FeeType true none none

FeeType

"FlatRate"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous FlatRate
anonymous Percentage

FeeStructure

"MakerFee"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous MakerFee
anonymous TakerFee
anonymous FlatPegToProduct

TradeResponse

{
  "tradeId": 0,
  "orderId": 0,
  "instrumentId": 0,
  "side": "BUY",
  "amount": "string",
  "quantity": "string",
  "price": "string",
  "fee": "string",
  "feeProductId": 0,
  "datetime": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
tradeId integer true none none
orderId integer true none none
instrumentId integer true none none
side OrderSide true none none
amount string true none none
quantity string true none none
price string true none none
fee string true none none
feeProductId integer true none none
datetime string(date-time) true none none

TransferResponse

{
  "id": 12343,
  "fromAccountId": 1244,
  "toAccountId": 5345,
  "productId": 5,
  "amount": 0.0001,
  "status": "PENDING",
  "ledgerEntryId": 4354,
  "comment": "Some note",
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
fromAccountId integer true none none
toAccountId integer true none none
productId integer true none none
amount string true none none
status TransferStatus true none none
ledgerEntryId integer false none none
comment string true none none
createdAt string(date-time) true none none

TransferStatus

"PENDING"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous PENDING
anonymous COMPLETED
anonymous FAILED

BankAccountResponse

{
  "id": "string",
  "name": "My bank account",
  "productId": 5,
  "type": "EFT",
  "accountNumber": "AB5345345346354",
  "bankCode": "C534534",
  "bankName": "ATB",
  "description": "USD account",
  "transitNumber": "T5453434",
  "swiftCode": "AT54AB544",
  "favourite": true
}

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
productId integer true none none
type BankAccountType true none none
accountNumber string true none none
bankCode string true none none
bankName string true none none
description string true none none
transitNumber string true none none
swiftCode string false none none
favourite boolean false none none

BankAccountType

"EFT"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous EFT
anonymous WIRE_TRANSFER

BrokerResponse

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "institutionId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "userId": 4234,
  "accountId": 4343,
  "username": "username4",
  "firstName": "John",
  "lastName": "Doe",
  "status": "ACTIVE",
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
wmsId string true none none
institutionId string true none none
userId integer true none none
accountId integer true none none
username string true none none
firstName string true none none
lastName string true none none
status BrokerStatus true none none
createdAt string(date-time) true none none

BrokerPaginatedResponse

{
  "list": [
    {
      "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "institutionId": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "userId": 4234,
      "accountId": 4343,
      "username": "username4",
      "firstName": "John",
      "lastName": "Doe",
      "status": "ACTIVE",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0
}

Properties

Name Type Required Restrictions Description
list [BrokerResponse] true none none
total integer true none none

BrokerClientPaginatedResponse

{
  "list": [
    {
      "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "brokerId": "085167ab-1a03-4222-adaa-b247f935e0f2",
      "omsAccountId": 42342,
      "status": "ACTIVE",
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "phoneNumber": 12435234542,
      "dob": "1975-03-06",
      "identification": 12443434,
      "address": {
        "countryCode": "CA",
        "street": "Tower str",
        "provinceCode": "AB",
        "city": "Calgary",
        "postalCode": "F45G43",
        "building": 14,
        "unit": 43
      },
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0
}

Properties

Name Type Required Restrictions Description
list [BrokerClientResponse] true none none
total integer true none none

BrokerStatus

"ACTIVE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous ACTIVE
anonymous CLOSED

BrokerClientResponse

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "brokerId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "omsAccountId": 42342,
  "status": "ACTIVE",
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "phoneNumber": 12435234542,
  "dob": "1975-03-06",
  "identification": 12443434,
  "address": {
    "countryCode": "CA",
    "street": "Tower str",
    "provinceCode": "AB",
    "city": "Calgary",
    "postalCode": "F45G43",
    "building": 14,
    "unit": 43
  },
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
wmsId string true none none
brokerId string true none none
omsAccountId integer true none none
status BrokerClientStatus true none none
firstName string true none none
lastName string true none none
email string true none none
phoneNumber string true none none
dob string true none none
identification string true none none
address AddressResponse true none none
createdAt string(date-time) true none none

AddressResponse

{
  "countryCode": "CA",
  "street": "Tower str",
  "provinceCode": "AB",
  "city": "Calgary",
  "postalCode": "F45G43",
  "building": 14,
  "unit": 43
}

Properties

Name Type Required Restrictions Description
countryCode string true none none
street string true none none
provinceCode string true none none
city string true none none
postalCode string true none none
building string true none none
unit string false none none

ProductResponse

{
  "productId": 5,
  "symbol": "BTC",
  "fullName": "Bitcoin",
  "type": "Unknown",
  "decimals": 8,
  "depositConfigs": [
    {
      "_id": "string",
      "type": "FROM_EXTERNAL_WALLET",
      "disabled": true,
      "fee": 0.0001,
      "depositMethod": "BANK_DRAFT",
      "timeframe": "up to 4 hours",
      "limits": 0.5,
      "limitsTooltip": "string",
      "paymentInfo": {}
    }
  ],
  "withdrawConfigs": [
    {
      "_id": "string",
      "type": "TO_EXTERNAL_WALLET",
      "disabled": true,
      "fee": 0,
      "fees": [
        {
          "type": "FlatRate",
          "amount": 0
        }
      ],
      "accountProviderId": 0,
      "withdrawTemplateType": "string",
      "method": "EFT",
      "timeFrame": "string",
      "minLimit": 0,
      "maxOneTimeLimit": 0,
      "maxDailyLimit": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
productId integer true none none
symbol string true none none
fullName string true none none
type ProductType true none none
decimals integer true none none
depositConfigs ArrayOfDepositConfigs true none Deposit configs
withdrawConfigs ArrayOfWithdrawConfigs true none Withdraw configs

ProductType

"Unknown"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous Unknown
anonymous NationalCurrency
anonymous CryptoCurrency
anonymous Contract

InstrumentResponse

{
  "instrumentId": 0,
  "symbol": "string",
  "baseProductId": 0,
  "baseProductSymbol": "string",
  "quoteProductId": 0,
  "quoteProductSymbol": "string",
  "minimumQuantity": 0,
  "quantityIncrement": 0,
  "priceIncrement": 0
}

Properties

Name Type Required Restrictions Description
instrumentId integer true none none
symbol string true none none
baseProductId integer true none none
baseProductSymbol string true none none
quoteProductId integer true none none
quoteProductSymbol string true none none
minimumQuantity number true none none
quantityIncrement number true none none
priceIncrement number true none none

TickerResponse

{
  "instrumentId": 0,
  "baseProductSymbol": "string",
  "quoteProductSymbol": "string",
  "open": "string",
  "close": "string",
  "bid": "string",
  "ask": "string",
  "last": "string",
  "high": "string",
  "low": "string",
  "baseVolume": "string",
  "quoteVolume": "string",
  "rolling24HrPxChange": "string",
  "rolling24HrPxChangePercent": "string"
}

Properties

Name Type Required Restrictions Description
instrumentId integer true none none
baseProductSymbol string true none none
quoteProductSymbol string true none none
open string true none none
close string true none none
bid string true none none
ask string true none none
last string true none none
high string true none none
low string true none none
baseVolume string true none none
quoteVolume string true none none
rolling24HrPxChange string true none none
rolling24HrPxChangePercent string true none none

RecentTradeResponse

{
  "tradeId": 0,
  "price": "string",
  "baseVolume": "string",
  "targetVolume": "string",
  "side": "BUY",
  "datetime": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
tradeId integer true none none
price string true none none
baseVolume string true none none
targetVolume string true none none
side OrderSide true none none
datetime string(date-time) true none none

SendOrderResponse

{
  "validationError": "DUPLICATE",
  "order": {
    "orderId": 12344,
    "instrumentId": 5,
    "instrumentSymbol": "BTCCAD",
    "type": "MARKET",
    "side": "BUY",
    "status": "UNKNOWN",
    "originalAmount": 15.43,
    "originalQuantity": 0.0001,
    "limitPrice": "89000.00",
    "createdAt": "2026-04-21T17:37:05.719Z",
    "updatedAt": "2026-04-21T17:37:05.719Z",
    "executionInfo": {
      "executedPrice": 124554.45,
      "executedAmount": 12.45,
      "executedQuantity": 0.0001
    }
  }
}

Properties

Name Type Required Restrictions Description
validationError OrderValidationError false none none
order OrderResponse false none none

OrderResponse

{
  "orderId": 12344,
  "instrumentId": 5,
  "instrumentSymbol": "BTCCAD",
  "type": "MARKET",
  "side": "BUY",
  "status": "UNKNOWN",
  "originalAmount": 15.43,
  "originalQuantity": 0.0001,
  "limitPrice": "89000.00",
  "createdAt": "2026-04-21T17:37:05.719Z",
  "updatedAt": "2026-04-21T17:37:05.719Z",
  "executionInfo": {
    "executedPrice": 124554.45,
    "executedAmount": 12.45,
    "executedQuantity": 0.0001
  }
}

Properties

Name Type Required Restrictions Description
orderId integer true none none
instrumentId integer true none none
instrumentSymbol string true none none
type OrderType true none none
side OrderSide true none none
status OrderStatus true none none
originalAmount string false none none
originalQuantity string false none none
limitPrice string false none Limit price for LIMIT orders. Absent for MARKET orders.
createdAt string(date-time) false none none
updatedAt string(date-time) false none none
executionInfo OrderExecutionInfo false none none

OrderStatus

"UNKNOWN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous FAILED
anonymous REJECTED
anonymous CANCELLED
anonymous WORKING
anonymous FULLY_EXECUTED
anonymous EXPIRED

OrderExecutionInfo

{
  "executedPrice": 124554.45,
  "executedAmount": 12.45,
  "executedQuantity": 0.0001
}

Properties

Name Type Required Restrictions Description
executedPrice string true none none
executedAmount string true none none
executedQuantity string true none none

RevokeTokenOptions

{
  "tokenId": "string"
}

Properties

Name Type Required Restrictions Description
tokenId string true none none

AccountTransactionResponse

{
  "id": 43245,
  "accountId": 12342,
  "credit": 0.00014,
  "debit": 0,
  "type": "DEPOSIT",
  "referenceId": 1234314,
  "productId": 0,
  "balance": 0.000143,
  "datetime": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
id integer true none none
accountId integer true none none
credit string true none none
debit string true none none
type AccountTransactionType true none none
referenceId integer true none none
productId integer true none none
balance string true none none
datetime string(date-time) true none none

AccountTransactionType

"DEPOSIT"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous DEPOSIT
anonymous DEPOSIT_FEE
anonymous WITHDRAW
anonymous WITHDRAW_FEE
anonymous TRADE
anonymous TRADE_FEE
anonymous TRANSFER

ToggleBankAccountAsFavoriteResponse

{
  "favourite": true
}

Properties

Name Type Required Restrictions Description
favourite boolean true none none

ArrayOfDepositConfigs

[
  {
    "_id": "string",
    "type": "FROM_EXTERNAL_WALLET",
    "disabled": true,
    "fee": 0.0001,
    "depositMethod": "BANK_DRAFT",
    "timeframe": "up to 4 hours",
    "limits": 0.5,
    "limitsTooltip": "string",
    "paymentInfo": {}
  }
]

Deposit configs

Properties

anyOf

Name Type Required Restrictions Description
anonymous FiatDepositConfig false none none

or

Name Type Required Restrictions Description
anonymous ExternalWalletDepositConfig false none none

ArrayOfWithdrawConfigs

[
  {
    "_id": "string",
    "type": "TO_EXTERNAL_WALLET",
    "disabled": true,
    "fee": 0,
    "fees": [
      {
        "type": "FlatRate",
        "amount": 0
      }
    ],
    "accountProviderId": 0,
    "withdrawTemplateType": "string",
    "method": "EFT",
    "timeFrame": "string",
    "minLimit": 0,
    "maxOneTimeLimit": 0,
    "maxDailyLimit": 0
  }
]

Withdraw configs

Properties

anyOf

Name Type Required Restrictions Description
anonymous FiatWithdrawConfig false none none

or

Name Type Required Restrictions Description
anonymous ExternalWalletWithdrawConfig false none none

FiatDepositConfig

{
  "_id": "string",
  "type": "FROM_EXTERNAL_WALLET",
  "disabled": true,
  "fee": 0.0001,
  "depositMethod": "BANK_DRAFT",
  "timeframe": "up to 4 hours",
  "limits": 0.5,
  "limitsTooltip": "string",
  "paymentInfo": {}
}

Properties

Name Type Required Restrictions Description
_id string true none none
type DepositConfigType true none Deposit config type
disabled boolean true none none
fee number false none none
depositMethod FiatDepositMethod true none FIAT Deposit method
timeframe string true none none
limits string true none none
limitsTooltip string false none none
paymentInfo object true none none

ExternalWalletDepositConfig

{
  "_id": "string",
  "type": "FROM_EXTERNAL_WALLET",
  "networkId": "string",
  "disabled": true,
  "fee": 0,
  "accountProviderId": 0,
  "templateForm": "ADDRESS_ONLY",
  "canGenerateDepositKeys": true,
  "depositKeyPattern": [
    "DEFAULT"
  ],
  "note": "string"
}

Properties

Name Type Required Restrictions Description
_id string true none none
type DepositConfigType true none Deposit config type
networkId string true none none
disabled boolean true none none
fee number false none none
accountProviderId number true none none
templateForm DepositTemplateForm true none External wallet deposit template form
canGenerateDepositKeys boolean true none none
depositKeyPattern ArrayOfDepositKeyPatternElements true none Array of deposit key pattern elements
note string false none none

DepositKeyPatternElement

"DEFAULT"

External wallet deposit key pattern

Properties

Name Type Required Restrictions Description
anonymous string false none External wallet deposit key pattern

Enumerated Values

Property Value
anonymous DEFAULT
anonymous LEGACY
anonymous SEGWIT

ArrayOfDepositKeyPatternElements

[
  "DEFAULT"
]

Array of deposit key pattern elements

Properties

Name Type Required Restrictions Description
anonymous [DepositKeyPatternElement] false none Array of deposit key pattern elements

DepositConfigType

"FROM_EXTERNAL_WALLET"

Deposit config type

Properties

Name Type Required Restrictions Description
anonymous string false none Deposit config type

Enumerated Values

Property Value
anonymous FROM_EXTERNAL_WALLET
anonymous FIAT_DEPOSIT

DepositTemplateForm

"ADDRESS_ONLY"

External wallet deposit template form

Properties

Name Type Required Restrictions Description
anonymous string false none External wallet deposit template form

Enumerated Values

Property Value
anonymous ADDRESS_ONLY
anonymous ADDRESS_AND_DESTINATION_TAG
anonymous ADDRESS_AND_MEMO

FiatDepositMethod

"BANK_DRAFT"

FIAT Deposit method

Properties

Name Type Required Restrictions Description
anonymous string false none FIAT Deposit method

Enumerated Values

Property Value
anonymous BANK_DRAFT
anonymous INTERAC
anonymous WIRE
anonymous PAYMENT_CARD

FiatWithdrawConfig

{
  "_id": "string",
  "type": "TO_EXTERNAL_WALLET",
  "disabled": true,
  "fee": 0,
  "fees": [
    {
      "type": "FlatRate",
      "amount": 0
    }
  ],
  "accountProviderId": 0,
  "withdrawTemplateType": "string",
  "method": "EFT",
  "timeFrame": "string",
  "minLimit": 0,
  "maxOneTimeLimit": 0,
  "maxDailyLimit": 0
}

Properties

Name Type Required Restrictions Description
_id string true none none
type WithdrawConfigType true none Withdraw config type
disabled boolean true none none
fee number false none none
fees [WithdrawConfigFee] false none none
accountProviderId number true none none
withdrawTemplateType string true none none
method FiatWithdrawMethod true none FIAT Withdraw method
timeFrame string true none none
minLimit number false none none
maxOneTimeLimit number false none none
maxDailyLimit number false none none

ExternalWalletWithdrawConfig

{
  "_id": "string",
  "networkId": "689b5c38de92f6c703b4fee0",
  "type": "TO_EXTERNAL_WALLET",
  "disabled": true,
  "fee": 0.0001,
  "fees": [
    {
      "type": "FlatRate",
      "amount": 0
    }
  ],
  "timeFrame": "up to 4 hours",
  "accountProviderId": 4,
  "withdrawTemplateType": "BTC",
  "method": "STANDARD",
  "templateForm": "ADDRESS_ONLY",
  "whitelisting": true,
  "minLimit": 0.5
}

Properties

Name Type Required Restrictions Description
_id string true none none
networkId string true none none
type WithdrawConfigType true none Withdraw config type
disabled boolean true none none
fee number false none none
fees [WithdrawConfigFee] false none none
timeFrame string false none none
accountProviderId number true none none
withdrawTemplateType string true none none
method ExternalWalletWithdrawMethod true none External Wallet Withdraw method
templateForm WithdrawTemplateForm true none External wallet withdraw template form
whitelisting boolean true none none
minLimit number false none none

WithdrawConfigType

"TO_EXTERNAL_WALLET"

Withdraw config type

Properties

Name Type Required Restrictions Description
anonymous string false none Withdraw config type

Enumerated Values

Property Value
anonymous TO_EXTERNAL_WALLET
anonymous FIAT_WITHDRAW

WithdrawConfigFeeType

"FlatRate"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous FlatRate
anonymous Percentage

WithdrawConfigFee

{
  "type": "FlatRate",
  "amount": 0
}

Properties

Name Type Required Restrictions Description
type WithdrawConfigFeeType true none none
amount number true none none

ExternalWalletWithdrawMethod

"STANDARD"

External Wallet Withdraw method

Properties

Name Type Required Restrictions Description
anonymous string false none External Wallet Withdraw method

Enumerated Values

Property Value
anonymous STANDARD
anonymous EXPRESS
anonymous FLEX

WithdrawTemplateForm

"ADDRESS_ONLY"

External wallet withdraw template form

Properties

Name Type Required Restrictions Description
anonymous string false none External wallet withdraw template form

Enumerated Values

Property Value
anonymous ADDRESS_ONLY
anonymous ADDRESS_AND_DESTINATION_TAG
anonymous ADDRESS_AND_MEMO

FiatWithdrawMethod

"EFT"

FIAT Withdraw method

Properties

Name Type Required Restrictions Description
anonymous string false none FIAT Withdraw method

Enumerated Values

Property Value
anonymous EFT
anonymous WIRE_TRANSFER
anonymous INTERAC_E_TRANSFER

DepositTicketStatus

"NEW"

Статус депозита

Properties

Name Type Required Restrictions Description
anonymous string false none Статус депозита

Enumerated Values

Property Value
anonymous NEW
anonymous ADMIN_PROCESSING
anonymous ACCEPTED
anonymous REJECTED
anonymous SYSTEM_PROCESSING
anonymous FULLY_PROCESSED
anonymous FAILED
anonymous PENDING
anonymous CONFIRMED
anonymous AML_PROCESSING
anonymous AML_ACCEPTED
anonymous AML_REJECTED
anonymous AML_FAILED
anonymous LIMITS_ACCEPTED
anonymous LIMITS_REJECTED
anonymous AML_REGISTERED
anonymous UNKNOWN

DepositTicketResponse

{
  "id": 123,
  "accountId": 456,
  "accountProviderId": 16,
  "productId": 1,
  "amount": "1000.50",
  "feeAmount": "10.00",
  "status": "NEW",
  "txHash": "0x0ba8789833f79aa3883107b3ec978a675fdd8e8754ef72b7bf8fbbbcc10e790f",
  "createdAt": "2025-08-12T10:15:30Z"
}

Properties

Name Type Required Restrictions Description
id integer true none none
accountId integer true none none
accountProviderId integer true none none
productId integer true none none
amount string true none none
feeAmount string true none none
status DepositTicketStatus true none Статус депозита
txHash string¦null false none none
createdAt string(date-time) true none none

WithdrawTicketStatus

"NEW"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous NEW
anonymous ADMIN_PROCESSING
anonymous ACCEPTED
anonymous REJECTED
anonymous SYSTEM_PROCESSING
anonymous FULLY_PROCESSED
anonymous FAILED
anonymous PENDING
anonymous PENDING_2FA
anonymous AUTO_ACCEPTED
anonymous DELAYED
anonymous USER_CANCELLED
anonymous ADMIN_CANCELLED
anonymous AML_ADDRESS_VERIFICATION_PROCESSING
anonymous AML_ACCEPTED
anonymous AML_REJECTED
anonymous AML_FAILED
anonymous LIMITS_ACCEPTED
anonymous LIMITS_REJECTED
anonymous SUBMITTED
anonymous CONFIRMED
anonymous MANUALLY_CONFIRMED
anonymous CONFIRMED_2FA
anonymous AVS_PENDING
anonymous AML_ACCEPTED_OVERRIDE
anonymous MANUAL_REVIEW
anonymous UNKNOWN

WithdrawTicketResponse

{
  "id": 987,
  "accountId": 654,
  "productId": 3,
  "accountProviderId": 17,
  "amount": "500.00",
  "feeAmount": "5.00",
  "status": "NEW",
  "externalAddress": "0x9f8a1c2b3d4e5f67890123456789abcdef123456",
  "externalAddressTag": "string",
  "txHash": "0x0ba8789833f79aa3883107b3ec978a675fdd8e8754ef72b7bf8fbbbcc10e790f",
  "createdAt": "2025-08-12T10:15:30Z"
}

Properties

Name Type Required Restrictions Description
id integer true none none
accountId integer true none none
productId integer(int64) true none none
accountProviderId integer(int64) true none none
amount string true none none
feeAmount string true none none
status WithdrawTicketStatus true none none
externalAddress string¦null false none none
externalAddressTag string¦null false none none
txHash string¦null false none none
createdAt string(date-time) true none none