NAV
Shell HTTP JavaScript Ruby Python PHP Java Go

NDAX Wealth 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

wealthGetAccountDetails

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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
}

Responses

Status Meaning Description Schema
200 OK OK WealthAccountDetailsResponse
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

wealthGetAccountTransactions

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountBalances

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountTradeFees

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountWithdrawFees

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountDepositTickets

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountWithdrawTickets

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetClientOrders

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountOpenedOrders

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

wealthGetAccountTrades

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

Brokers

wealthCreateBroker

Code samples

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

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

const inputBody = '{
  "username": "string",
  "businessId": "string",
  "institutionId": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "[email protected]",
  "phoneNumber": "string",
  "dob": "2019-08-24",
  "countryCode": "CA"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://api-dev.ndax.io/v1/integrations/wealth/brokers',
{
  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/brokers',
  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/brokers', 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/brokers', 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/brokers");
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/brokers", data)
    req.Header = headers

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

POST /brokers

Create broker

Body parameter

{
  "username": "string",
  "businessId": "string",
  "institutionId": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "[email protected]",
  "phoneNumber": "string",
  "dob": "2019-08-24",
  "countryCode": "CA"
}

Parameters

Name In Type Required Description
body body CreateBrokerOptions false none

Example responses

201 Response

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

Responses

Status Meaning Description Schema
201 Created 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

wealthGetBrokers

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/brokers 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/brokers',
{
  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/brokers',
  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/brokers', 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/brokers', 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/brokers");
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/brokers", data)
    req.Header = headers

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

GET /brokers

Get brokers

Parameters

Name In Type Required Description
institutionId query string false none
userId query integer false none
status query BrokerStatus 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",
      "institutionId": "string",
      "businessId": "string",
      "userId": 4234,
      "accountId": 4343,
      "username": "username4",
      "firstName": "John",
      "lastName": "Doe",
      "status": "ACTIVE",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0
}

Responses

Status Meaning Description Schema
200 OK OK BrokerPaginatedResponse
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

importBroker

Code samples

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

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

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

fetch('https://api-dev.ndax.io/v1/integrations/wealth/brokers/import',
{
  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/brokers/import',
  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/brokers/import', 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/brokers/import', 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/brokers/import");
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/brokers/import", data)
    req.Header = headers

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

POST /brokers/import

Import broker

Body parameter

{
  "username": "string",
  "businessId": "string",
  "institutionId": "string"
}

Parameters

Name In Type Required Description
body body ImportBrokerOptions false none

Example responses

201 Response

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

Responses

Status Meaning Description Schema
201 Created 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

wealthActivateBroker

Code samples

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

POST https://api-dev.ndax.io/v1/integrations/wealth/brokers/{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/brokers/{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/brokers/{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/brokers/{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/brokers/{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/brokers/{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/brokers/{id}/activate", data)
    req.Header = headers

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

POST /brokers/{id}/activate

Activate broker

Parameters

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

Example responses

201 Response

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

Responses

Status Meaning Description Schema
201 Created 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

wealthCloseBroker

Code samples

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

POST https://api-dev.ndax.io/v1/integrations/wealth/brokers/{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/brokers/{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/brokers/{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/brokers/{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/brokers/{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/brokers/{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/brokers/{id}/close", data)
    req.Header = headers

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

POST /brokers/{id}/close

Close broker

Parameters

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

Example responses

201 Response

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

Responses

Status Meaning Description Schema
201 Created 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

wealthGetBrokerClients

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 /broker-clients

Get broker clients

Parameters

Name In Type Required Description
institutionId query string false none
brokerId query string false none
brokerClientId query string 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": "string",
      "wmsId": "string",
      "brokerId": "string",
      "omsAccountId": 0,
      "status": "ACTIVE",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "dob": "string",
      "identification": "string",
      "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

wealthActivateBrokerClient

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 /broker-clients/{id}/activate

Activate broker client

Parameters

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

Example responses

201 Response

{
  "id": "string",
  "wmsId": "string",
  "brokerId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "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

wealthCloseBrokerClient

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 /broker-clients/{id}/close

Close broker client

Parameters

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

Example responses

201 Response

{
  "id": "string",
  "wmsId": "string",
  "brokerId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "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

wealthTransferBrokerClient

Code samples

# You can also use wget
curl -X POST https://api-dev.ndax.io/v1/integrations/wealth/broker-clients/{brokerClientId}/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-clients/{brokerClientId}/transfer HTTP/1.1
Host: api-dev.ndax.io
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "brokerId": "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/{brokerClientId}/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-clients/{brokerClientId}/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-clients/{brokerClientId}/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-clients/{brokerClientId}/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-clients/{brokerClientId}/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-clients/{brokerClientId}/transfer", data)
    req.Header = headers

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

POST /broker-clients/{brokerClientId}/transfer

Transfer broker client

Body parameter

{
  "brokerId": "string"
}

Parameters

Name In Type Required Description
brokerClientId path string true none
body body TransferBrokerClientOptions false none

Example responses

201 Response

{
  "id": "string",
  "wmsId": "string",
  "brokerId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "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

Institutions

wealthGetInstitutions

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/institutions 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/institutions',
{
  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/institutions',
  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/institutions', 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/institutions', 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/institutions");
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/institutions", data)
    req.Header = headers

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

GET /institutions

Get institutions

Parameters

Name In Type Required Description
accountId query integer false none
status query InstitutionStatus false none
businessId query string false none
page query number false none
size query number false none

Enumerated Values

Parameter Value
status ACTIVE
status CLOSED

Example responses

200 Response

{
  "list": [
    {
      "id": "string",
      "name": "string",
      "wmsId": "string",
      "nrdNumber": "string",
      "businessId": "string",
      "omsAccountId": 0,
      "status": "ACTIVE",
      "createdAt": "string"
    }
  ],
  "total": 0
}

Responses

Status Meaning Description Schema
200 OK OK InstitutionsPaginatedResponse
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

wealthActivateInstitution

Code samples

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

POST https://api-dev.ndax.io/v1/integrations/wealth/institutions/{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/institutions/{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/institutions/{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/institutions/{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/institutions/{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/institutions/{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/institutions/{id}/activate", data)
    req.Header = headers

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

POST /institutions/{id}/activate

Activate institution

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "id": "string",
  "name": "string",
  "wmsId": "string",
  "nrdNumber": "string",
  "businessId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "createdAt": "string"
}

Responses

Status Meaning Description Schema
200 OK OK InstitutionResponse
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

wealthCloseInstitution

Code samples

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

POST https://api-dev.ndax.io/v1/integrations/wealth/institutions/{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/institutions/{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/institutions/{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/institutions/{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/institutions/{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/institutions/{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/institutions/{id}/close", data)
    req.Header = headers

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

POST /institutions/{id}/close

Close institution

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "id": "string",
  "name": "string",
  "wmsId": "string",
  "nrdNumber": "string",
  "businessId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "createdAt": "string"
}

Responses

Status Meaning Description Schema
200 OK OK InstitutionResponse
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

wealthImportInstitution

Code samples

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

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

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

fetch('https://api-dev.ndax.io/v1/integrations/wealth/institutions/import',
{
  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/institutions/import',
  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/institutions/import', 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/institutions/import', 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/institutions/import");
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/institutions/import", data)
    req.Header = headers

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

POST /institutions/import

Import institution

Body parameter

{
  "institutionName": "string",
  "businessId": "string",
  "username": "string",
  "nrdNumber": "string"
}

Parameters

Name In Type Required Description
body body ImportInstitutionOptions false none

Example responses

200 Response

{
  "id": "string",
  "name": "string",
  "wmsId": "string",
  "nrdNumber": "string",
  "businessId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "createdAt": "string"
}

Responses

Status Meaning Description Schema
200 OK OK InstitutionResponse
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

wealthGetProducts

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/market/products 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/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'
}

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

p JSON.parse(result)

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

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/market/products', 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/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/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"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/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

wealthGetInstruments

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/market/instruments 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/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'
}

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

p JSON.parse(result)

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

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/market/instruments', 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/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/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"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/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

wealthGetTickers

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/market/tickers 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/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'
}

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

p JSON.parse(result)

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

r = requests.get('https://api-dev.ndax.io/v1/integrations/wealth/market/tickers', 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/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/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"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api-dev.ndax.io/v1/integrations/wealth/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

wealthGetRecentTradesByInstrumentId

Code samples

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

GET https://api-dev.ndax.io/v1/integrations/wealth/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/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/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/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/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/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/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

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.

ImportBrokerOptions

{
  "username": "string",
  "businessId": "string",
  "institutionId": "string"
}

Properties

Name Type Required Restrictions Description
username string true none none
businessId string true none none
institutionId string true none none

CreateBrokerOptions

{
  "username": "string",
  "businessId": "string",
  "institutionId": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "[email protected]",
  "phoneNumber": "string",
  "dob": "2019-08-24",
  "countryCode": "CA"
}

Options for creating a broker. There are two mutually exclusive flows:

Flow A — link an existing platform user (username-based): Provide username. The user must already exist on the NDAX platform, have access to the business account, and be verified. Required: businessId, institutionId, username. Optional: firstName, lastName (override values from the platform user).

Flow B — create a net-new platform user (email-based): Omit username and provide all personal-data fields instead. Required: businessId, institutionId, email, phoneNumber, dob, countryCode, firstName, lastName.

Properties

Name Type Required Restrictions Description
username string false none NDAX platform username of the existing user to register as a broker. When provided, all email-based fields (email, phoneNumber, dob, countryCode, firstName, lastName) are ignored and the user's existing platform data is used.
businessId string true none External business identifier (from BusinessManager). Must reference a verified business.
institutionId string(UUID) true none UUID of the Institution within the authenticated WMS to assign the broker to.
firstName string false none Broker's first name. Required when username is not provided. Optional override when username is provided.
lastName string false none Broker's last name. Required when username is not provided. Optional override when username is provided.
email string(email) false none Email address for the new platform user. Required when username is not provided. Example: [email protected]
phoneNumber string false none Phone number in E.164 format. Required when username is not provided. Example: +14031234567
dob string(date) false none Date of birth in ISO 8601 format (YYYY-MM-DD). Required when username is not provided. Example: 1990-01-31
countryCode string false none ISO 3166-1 alpha-2 country code representing the broker's country of residence. Required when username is not provided. Example: CA

BrokerClientStatus

"ACTIVE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous ACTIVE
anonymous CLOSED

TransferFundsOptions

{
  "toAccountId": 0,
  "productId": 0,
  "amount": "string",
  "comment": "string"
}

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

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

WealthAccountDetailsResponse

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

Properties

Name Type Required Restrictions Description
accountId integer true none none
isFrozen boolean 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

BrokerResponse

{
  "id": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "wmsId": "085167ab-1a03-4222-adaa-b247f935e0f2",
  "institutionId": "string",
  "businessId": "string",
  "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
businessId string true none none
userId integer true none none
accountId integer true none none
username string¦null false 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": "string",
      "businessId": "string",
      "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": "string",
      "wmsId": "string",
      "brokerId": "string",
      "omsAccountId": 0,
      "status": "ACTIVE",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "dob": "string",
      "identification": "string",
      "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": "string",
  "wmsId": "string",
  "brokerId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dob": "string",
  "identification": "string",
  "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

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

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

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

InstitutionStatus

"ACTIVE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous ACTIVE
anonymous CLOSED

InstitutionResponse

{
  "id": "string",
  "name": "string",
  "wmsId": "string",
  "nrdNumber": "string",
  "businessId": "string",
  "omsAccountId": 0,
  "status": "ACTIVE",
  "createdAt": "string"
}

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
wmsId string true none none
nrdNumber string true none none
businessId string true none none
omsAccountId integer true none none
status InstitutionStatus true none none
createdAt string true none none

InstitutionsPaginatedResponse

{
  "list": [
    {
      "id": "string",
      "name": "string",
      "wmsId": "string",
      "nrdNumber": "string",
      "businessId": "string",
      "omsAccountId": 0,
      "status": "ACTIVE",
      "createdAt": "string"
    }
  ],
  "total": 0
}

Properties

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

ImportInstitutionOptions

{
  "institutionName": "string",
  "businessId": "string",
  "username": "string",
  "nrdNumber": "string"
}

Properties

Name Type Required Restrictions Description
institutionName string true none none
businessId string true none none
username string true none none
nrdNumber string true none none