NAV Navbar
shell python
Solicitar API Key

Introdução

Bem-vindo(a) à documentação API da NovaDAX

A NovaDAX disponibiliza sua documentação de API em busca de trazer uma experiência mais rápida, segura e profissional para seus clientes.

Com nossa API, você terá acesso a dados de mercado, histórico de ordens e gerenciamento de conta, de uma maneira automatizada e prática.

Realizaremos constantemente atualizações e otimizações para nosso SDK.

Antes de começar

Criar uma conta na NovaDAX

Caso você ainda não possua uma conta na NovaDAX, crie uma agora mesmo clicando aqui.

Gerar uma chave da API

É preciso adquirir uma chave de acesso (também chamada de AccessKey) e uma chave segredo (também chamada de SecretKey) para poder autenticar as requisições. Depois do login, encontre o símbolo do usuário no menu principal e clique em "Chave de API e Subconta" no submenu para criar chaves para API.

Comunicação com a API

Os endpoint da API NovaDAX se dividem em públicos e privados.

Endpoints públicos

Podem ser acessados sem necessidade de autenticação para obter:

Endpoints privados

Precisam ser acessados com autenticação para gerenciar:

Acesso a URLs

https://api.novadax.com

Taxa limite de requisições

Endpoints públicos: ao máximo 60 requisições a cada segundo por IP;

Endpoints privados: até 20 requisições por segundo para cada API AccessKey.

Autenticação

A fim de proteger a comunicação da API contra alterações não autorizadas, todas as chamadas de endpoints privados precisam ser autenticadas com sua API AccessKey.

Estrutura das requisições válidas

Parâmetros obrigatórios e opcionais: existem parâmetros obrigatórios e opcionais para acessar cada endpoint. Você pode verificar o significado desses parâmetros na descrição de cada endpoint.

Signature: mensagem criptografada para prevenir transportes e alterações não autorizadas.

Método de Autenticação

Passos para autenticar uma requisição GET

1. Query string é

queryStr = "name=joao&cpf=123456&birthday=2017-08-01"

2. Codifique a query string de consulta e ordene parâmetros seguindo a ordem ASCII.

sort(urlencode(queryStr)) // birthday=2017-08-01&cpf=123456&name=joao

3. Transforme a string com formato {método de requisição}\n{caminho de requisição}\n{string a ser codificada}\n{timeStamp}

signStr = GET\n/v1/orders/get\nbirthday=2017-08-01&cpf=123456&name=joao\n1564988445199

4. Utilize a string gerada no passo 3 e sua "SecretKey" para autenticar sua requisição

sign = hmac_sha256(signStr,SecretKey)

5. Adicione Accesskey, Signature e TimeStamp para o cabeçalho (header) da requisição.

request.header.add("X-Nova-Access-Key",AccessKey)

request.header.add("X-Nova-Signature",Sign)

request.header.add("X-Nova-Timestamp",TimeStamp)

6. Exemplo de autenticação GET em Java

Tux, the Linux mascot

Passos para autenticar uma requisição POST

1. O corpo da requisição (request body) é

body = {"name":"joao","cpf":"123456","birthday":"2017-08-01"} // MD5 value is 7d8f374d786079cfade9d1c2a358137c

2. Transforme o "corpo da requisição" com o algoritmo MD5, seguindo o formato %s\n%s\n%s\n%s

signStr = POST\n/v1/order/create\n7d8f374d786079cfade9d1c2a358137c\n1564988445199

3. Utilize a string gerada no passo 2 e sua "SecretKey" para autenticar sua requisição

sign = hmac_sha256(signStr,SecretKey)

4. Adicione Accesskey, Signature e TimeStamp para o header da requisição.

request.header.add("X-Nova-Access-Key",AccessKey)

request.header.add("X-Nova-Signature",Sign)

request.header.add("X-Nova-Timestamp",TimeStamp)

5. Exemplo de autenticação POST em Java

Tux, the Linux mascot

Estrutura de resposta (response)

A resposta será retornada no formato JSON. O superior de reposta em JSON contém três meta dados que são "code", "data" e "message". A sua resposta correspondente por API está no campo "data".

Estrutura de resposta de sucesso

{
    "code": "A10000",
    "data": {...},
    "message": "Success"
}

Estrutura de resposta de erro

{
    "code": "A99999",
    "data": {...},
    "message": "fail."
}

Formato de resposta:

Campo Tipo de Descrição
code string O status retornado por endpoint
message string A resposta simplificada
data object A resposta detalhada se for disponível

Tabela de códigos de status

Código Código de status HTTP Mensagem Descrição
A99999 500 Failed Erro interno
A10000 200 Success Sucesso
A10001 400 Params error Parâmetro inválido
A10002 404 Api not found Endpoint não encontrado
A10003 403 Authentication failed Falha na autenticação
A10004 429 Too many requests Excedeu o limite de requisições
A10005 403 Kyc required É preciso completar verificação de conta primeiro
A10006 403 Customer canceled Conta cancelada
A10007 400 Account not exist Subconta não existe
A10011 400 Symbol not exist O símbolo (par) não existe
A10012 400 Symbol not trading O símbolo (par) não está disponível para transacionar no momento
A10013 503 Symbol maintain O símbolo (par) está em manutenção
A30001 400 Order not found A ordem não foi encontrada
A30002 400 Order amount is too small A quantidade é insuficiente
A30003 400 Order amount is invalid A quantidade é inválida
A30004 400 Order value is too small O valor é insuficiente
A30005 400 Order value is invalid O valor é inválido
A30006 400 Price is invalid O preço é inválido
A30007 400 Insufficient balance O saldo é insuficiente
A30008 400 Order was closed A ordem já foi executada
A30009 400 Order canceled A ordem já foi cancelada
A30010 400 Order cancelling A ordem está sendo cancelada
A30011 400 Order price too high O preço é alto demais
A30012 400 Order price too low O preço é baixo demais

Dúvidas Frequentes

Falha na autenticação

SDK e Vídeo Tutorial

Caso tenha necessidade, você pode acessar nosso SDK no GitHub.

Além do nosso próprio SDK, a NovaDAX foi integrada com a biblioteca CCXT. A CCXT é nosso fornecedor autorizado de SDK e você pode acessar a API da NovaDAX através da CCXT. Para mais informações, confira https://ccxt.trade.

Changelog

Data Endpoint Tipo Detalhes de atualização
2019-09-18 /v1/account/withdraw/coin Adicionar Sacar em criptomoedas
2019-12-05 POST /v1/orders/create Novo campo Novo campo para subconta (accountId)
2019-12-05 POST /v1/orders/list Novo campo Novo campo para subconta (accountId)
2019-12-05 GET /v1/account/subs Adicionar Lista de subcontas
2019-12-05 GET /v1/account/subs/balance Adicionar Saldo de subcontas
2019-12-05 GET /v1/account/subs/transfer/record Adicionar Histórico de transferências de subcontas
2019-12-05 POST /v1/account/subs/transfer Adicionar Transferência entre conta principal e subcontas
2020-03-05 POST /v1/common/symbol Adicionar Dados de um símbolo (par) específico
2020-05-20 GET /v1/orders/list Alterar o parâmetro "symbol" passa a ser opcional
2020-10-12 GET /v1/wallet/query/deposit-withdraw Adicionar deposit and withdraw records
2020-10-12 GET /v1/orders/fills Alterar Adicionar a função de pesquisar o histórico das ordens executadas
2020-11-11 WebSocket Adicionar Adicionar WebSocket
2020-12-17 GET /v1/orders/get
GET /v1/orders/list
Alterar Ordens criadas via API não serão encontradas depois de duas horas após seu cancelamento.

Informações básicas

Dados de um símbolo (par) específico

Retorna regras de negociação de um símbolo (par) específico.

curl "https://api.novadax.com/v1/common/symbol?symbol=BTC_BRL"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_symbol("BTC_BRL")

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "symbol": "BTC_BRL",
        "baseCurrency": "BTC",
        "quoteCurrency": "BRL",
        "amountPrecision": 4,
        "pricePrecision": 2,
        "valuePrecision": 4,
        "minOrderAmount": "0.001",
        "minOrderValue": "5"
    },
    "message": "Success"
}

Caminho de requisição

GET /v1/common/symbol

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação

Detalhes de resposta

Campo Tipo Detalhes
symbol string Símbolo de negociação
baseCurrency string Moeda de base em um símbolo de negociação
quoteCurrency string Moeda de cotação em um símbolo de negociação
pricePrecision number Precisão (casas decimais) de preço
amountPrecision number Precisão (casas decimais) de quantidade
valuePrecision number Precisão (casas decimais) de valor
minOrderAmount string Quantidade mínima de ordem
minOrderValue string Valor mínimo de ordem

Todos os símbolos (pares)

Retorna todos os símbolos (pares) disponíveis para negociar na NovaDAX.

curl "https://api.novadax.com/v1/common/symbols"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.list_symbols()

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [
        {
            "symbol": "BTC_BRL",
            "baseCurrency": "BTC",
            "quoteCurrency": "BRL",
            "amountPrecision": 4,
            "pricePrecision": 2,
            "valuePrecision": 4,
            "minOrderAmount": "0.001",
            "minOrderValue": "5",
        },
        {
            "symbol": "ETH_BRL",
            "baseCurrency": "ETH",
            "quoteCurrency": "BRL",
            "amountPrecision": 4,
            "pricePrecision": 2,
            "valuePrecision": 4,
            "minOrderAmount": "0.01",
            "minOrderValue": "5"
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/common/symbols

Parâmetro de requisição

Nenhum parâmetro é necessário para este endpoint.

Detalhes de resposta

Campo Tipo Detalhes
symbol string Símbolo de negociação
baseCurrency string Moeda de base em um símbolo de negociação
quoteCurrency string Moeda de cotação em um símbolo de negociação
pricePrecision number Precisão (casas decimais) de preço
amountPrecision number Precisão (casas decimais) de quantidade
valuePrecision number Precisão (casas decimais) de valor
minOrderAmount string Quantidade mínima de ordem
minOrderValue string Valor mínimo de ordem

Hora atual do sistema

Retorna a hora atual do sistema ajustado para o horário UTC em milissegundos.

curl "https://api.novadax.com/v1/common/timestamp"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_timestamp()

print(result)

Response Content

{
    "code": "A10000",
    "data": 1565080348983,
    "message": "Success"
}

Caminho de requisição

GET /v1/common/timestamp

Parâmetro de requisição

Nenhum parâmetro é necessário para este endpoint.

Detalhes de resposta

A hora atual do sistema ajustado para o horário UTC em milissegundos.

Dados de mercado

Obter dados de ticker de todos os pares de negociação

Retorna dados de negociação para todos os pares disponíveis na NovaDAX com o resumo de informações importantes das últimas 24 horas.

curl 'https://api.novadax.com/v1/market/tickers'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.list_tickers()

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [
        {
            "ask": "34708.15",
            "baseVolume24h": "34.08241488",
            "bid": "34621.74",
            "high24h": "35079.77",
            "lastPrice": "34669.81",
            "low24h": "34330.64",
            "open24h": "34492.08",
            "quoteVolume24h": "1182480.09502814",
            "symbol": "BTC_BRL",
            "timestamp": 1571112216346
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/market/tickers

Parâmetros de requisição

Nenhum parâmetro é necessário para este endpoint.

Detalhes de resposta

Campo Tipo Detalhes
symbol string Símbolo da negociação
lastPrice string Preço unitário da última negociação
bid string Maior preço de oferta de compra das últimas 24 horas
ask string Menor preço de oferta de venda das últimas 24 horas
open24h string Preço unitário de abertura de negociação das últimas 24 horas
high24h string Maior preço unitário de negociação das últimas 24 horas
low24h string Menor preço unitário de negociação das últimas 24 horas
baseVolume24h string Volume de negociação na moeda de base das últimas 24 horas
quoteVolume24h string Volume de negociação na moeda de cotação das últimas 24 horas
timestamp number A hora atual do sistema ajustada para o horário UTC

Obter dados de ticker de um par de negociação específico

Retorna dados de negociação para um par específico com o resumo de informações importantes das últimas 24 horas.

curl 'https://api.novadax.com/v1/market/ticker?symbol=BTC_BRL'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_ticker('BTC_BRL')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "ask": "34708.15",
        "baseVolume24h": "34.08241488",
        "bid": "34621.74",
        "high24h": "35079.77",
        "lastPrice": "34669.81",
        "low24h": "34330.64",
        "open24h": "34492.08",
        "quoteVolume24h": "1182480.09502814",
        "symbol": "BTC_BRL",
        "timestamp": 1571112216346
    },
    "message": "Success"
}

Caminho de requisição

GET /v1/market/ticker

Parâmetros de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação

Detalhes de resposta

Campo Tipo Detalhes
symbol string Símbolo de negociação
lastPrice string Preço unitário da última negociação
bid string Maior preço de oferta de compra das últimas 24 horas
ask string Menor preço de oferta de venda das últimas 24 horas
open24h string Preço unitário de abertura de negociação das últimas 24 horas
high24h string Maior preço unitário de negociação das últimas 24 horas
low24h string Menor preço unitário de negociação das últimas 24 horas
baseVolume24h string Volume de negociação na moeda de base das últimas 24 horas
quoteVolume24h string Volume de negociação na moeda de cotação das últimas 24 horas
timestamp number A hora atual do sistema ajustada para o horário UTC

Obter dados de profundidade

Retorna informações de livro de ofertas para um par específico.

curl 'https://api.novadax.com/v1/market/depth?symbol=BTC_BRL&limit=10'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.get_depth('BTC_BRL', limit = 10)

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "asks": [
            ["43687.16", "0.5194"],
            ["43687.2", "1.3129"]
        ],
        "bids": [
            ["43657.57", "0.6135"],
            ["43657.46", "0.0559"]
        ],
        "timestamp": 1565057338020
    },
    "message": "Success"
}

Caminho de requisição

GET /v1/market/depth

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação
limit false number O número de compras e vendas a retornar; máximo 50

Detalhes de resposta

Campo Tipo Detalhes
asks array Lista de ofertas de venda
asks[][0] string Preço de venda
asks[][1] string Quantidade de venda
bids array Lista de ofertas de compra
bids[][0] string Preço de compra
bids[][1] string Quantidade de compra
timestamp number A hora atual do sistema ajustada para o horário UTC

Obter dados de execução de ordens

Retorna informações das negociações realizadas recentemente.

curl 'https://api.novadax.com/v1/market/trades?symbol=BTC_BRL&limit=10'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key(optional)', 'your secret key(optional)')

result = nova_client.list_trades('BTC_BRL', limit = 10)

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "price": "43657.57",
            "amount": "1",
            "side": "SELL",
            "timestamp": 1565007823401
        },
        {
            "price": "43687.16",
            "amount": "0.071",
            "side": "BUY",
            "timestamp": 1565007198261
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/market/trades

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação
limit false number O número de negociações a retornar; default 100

Detalhes de resposta

Campo Tipo Detalhes
price string Preço unitário da negociação na moeda de cotação
amount string Quantidade da negociação na moeda de base
side string A ponta executora da negociação (SELL ou BUY)
timestamp number Hora em que ordem foi executada

Obter dados de candlestick

curl 'https://api.novadax.com/v1/market/kline/history?symbol=BTC_BRL&from=1567619280&to=1567620000&unit=ONE_MIN'
from novadax import RequestClient as NovaClient

result = nova_client.get_kline('BTC_BRL', unit = 'ONE_WEE',from='1567619280 ', to='1567620000 ')

print(result)

Response Content

{
    "code": "A10000",
    "data": [
        {
            "amount": 8.25709100,
            "closePrice": 62553.20,
            "count": 29,
            "highPrice": 62592.87,
            "lowPrice": 62553.20,
            "openPrice": 62554.23,
            "score": 1602501480,
            "symbol": "BTC_BRL",
            "vol": 516784.2504067500
        }
    ],
    "message": "Success"
}

Parâmetro de requisição

GET /v1/market/kline/history

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação
unit true string ONE_MIN,FIVE_MIN, FIFTEEN_MIN,HALF_HOU,ONE_HOU,ONE_DAY,ONE_WEE,ONE_MON;
from true number data de início Apenas 3000 históricos preservados em qualquer unidade de tempo
to true number data de término Apenas 3000 históricos preservados em qualquer unidade de tempo

Detalhes de respots

Campo Tipo Detalhes
unit string Unidade de tempo de execução
amount string Quantidade de moedas negociadas
count string Quantidade de negociações concluídas
openPrice string Preço no início
closePrice string Preço no fim
highPrice string Preço maior
lowPrice string Preço menor
symbol string Símbolo da negociação
score string Marca temporal
vol string Volume de negociação

Ordens

Introdução de ordem

tipo de ordem(order.type)

Operador de stop ordem(order.operator)

Direção(order.side)

status da ordem(order.status)

Papel da ordem(order.role)

Criar ordem limitada de compra

Abre uma ordem limitada de compra e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "LIMIT",
    "side": "BUY",
    "price": "35000.00",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'LIMIT', 'BUY', price = '35000.00', amount = '0.001')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633679992971251712",
        "price": "35000",
        "side": "BUY",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571122683535,
        "type": "LIMIT",
        "value": "35"
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: LIMIT
side true string A ponta executora da ordem, informe: BUY
amount true string Quantidade da moeda de base, por exemplo, a quantidade de BTC na compra de BTC_BRL
price true string Preço de compra
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Criar ordem limitada de venda

Abre uma ordem limitada de venda e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "LIMIT",
    "side": "SELL",
    "price": "35000.00",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'LIMIT', 'SELL', price = '35000.00', amount = '0.001')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633680805433102336",
        "price": "35000",
        "side": "SELL",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571122877244,
        "type": "LIMIT",
        "value": "35"
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: LIMIT
side true string A ponta executora da ordem, informe: SELL
amount true string Quantidade da moeda de base, por exemplo, a quantidade de BTC na venda de BTC_BRL
price true string Preço de venda
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Criar ordem a mercado de compra

Abre uma ordem a mercado de compra e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "MARKET",
    "side": "BUY",
    "value": "10.00"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'MARKET', 'BUY', value = '10.00')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": null,
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633681498843828224",
        "price": null,
        "side": "BUY",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571123042566,
        "type": "MARKET",
        "value": "10"
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: MARKET
side true string A ponta executora da ordem, informe: BUY
value true string Quantidade da moeda de cotação, por exemplo, a quantidade de BRL na compra de BTC_BRL
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Criar ordem a mercado de venda

Abre uma ordem a mercado de venda e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "MARKET",
    "side": "SELL",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'MARKET', 'SELL', amount = '0.001')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "633682053058187264",
        "price": null,
        "side": "SELL",
        "status": "PROCESSING",
        "symbol": "BTC_BRL",
        "timestamp": 1571123174702,
        "type": "MARKET",
        "value": null
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: MARKET
side true string A ponta executora da ordem, informe: SELL
amount true string Quantidade da moeda de cotação, por exemplo, a quantidade de BRL na venda de BTC_BRL
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Crair stop-limit ordem de compra

Abre uma ordem limitada de compra e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_LIMIT",
    "side": "BUY",
    "price": "210000",
    "amount": "0.001",
    "operator: "GTE",
    "stopPrice: "211000"
'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_LIMIT', 'BUY', price='210000', amount='0.001', operator='GTE', stop_price="211000")

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870613508008464384",
        "operator": "GTE",
        "price": "210000",
        "side": "BUY",
        "status": "SUBMITTED",
        "stopPrice": "211000",
        "symbol": "BTC_BRL",
        "timestamp": 1627612035528,
        "type": "STOP_LIMIT",
        "value": "210"
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: STOP_LIMIT
side true string A ponta executora da ordem, informe: BUY
amount true string Quantidade da moeda de base, por exemplo, a quantidade de BTC na compra de BTC_BRL
price true string Preço de compra
operator true string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice true string Preço de disparo
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
operator string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice string Preço de disparo
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Crair stop-limit ordem de venda

Abre uma ordem limitada de venda e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_LIMIT",
    "side": "SELL",
    "price": "180000",
    "stopPrice":"190000",
    "operator":"LTE",
    "amount": "0.001"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_LIMIT', 'SELL', price='180000', amount='0.001', operator='LTE', stop_price="190000")

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870616419635580928",
        "operator": "LTE",
        "price": "180000",
        "side": "SELL",
        "status": "SUBMITTED",
        "stopPrice": "190000",
        "symbol": "BTC_BRL",
        "timestamp": 1627612729713,
        "type": "STOP_LIMIT",
        "value": "180"
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: STOP_LIMIT
side true string A ponta executora da ordem, informe: SELL
amount true string Quantidade da moeda de base, por exemplo, a quantidade de BTC na venda de BTC_BRL
price true string Preço de venda
operator true string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice true string Preço de disparo
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
operator string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice string Preço de disparo
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Criar stop-market ordem de compra

Abre uma ordem a mercado de compra e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_MARKET",
    "side": "BUY",
    "value": "10.00",
    "stopPrice": "211000",
    "operator": "GTE"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_MARKET', 'BUY', value='25', operator="GTE", stop_price="211000")

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": null,
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870617243765985280",
        "operator": "GTE",
        "price": "205118.95",
        "side": "BUY",
        "status": "SUBMITTED",
        "stopPrice": "211000",
        "symbol": "BTC_BRL",
        "timestamp": 1627612926202,
        "type": "STOP_MARKET",
        "value": "25"
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: STOP_MARKET
side true string A ponta executora da ordem, informe: BUY
value true string Quantidade da moeda de cotação, por exemplo, a quantidade de BRL na compra de BTC_BRL
operator true string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice true string Preço de disparo
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
operator string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice string Preço de disparo
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Criar stop-market ordem de venda

Abre uma ordem a mercado de venda e a envia para livro de ofertas para sua execução.

curl -X POST \
  'https://api.novadax.com/v1/orders/create' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "symbol": "BTC_BRL",
    "type": "STOP_MARKET",
    "side": "SELL",
    "amount": "0.001",
    "stopPrice": "180000",
    "operator": "LTE"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.create_order('BTC_BRL', 'STOP_MARKET', 'SELL', amount='0.001', operator="LTE", stop_price="180000")

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "amount": "0.001",
        "averagePrice": null,
        "filledAmount": "0",
        "filledFee": "0",
        "filledValue": "0",
        "id": "870617706309636096",
        "operator": "LTE",
        "price": "204712.39",
        "side": "SELL",
        "status": "SUBMITTED",
        "stopPrice": "180000",
        "symbol": "BTC_BRL",
        "timestamp": 1627613036480,
        "type": "STOP_MARKET",
        "value": null
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/create

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação, como BTC_BRL
type true string Tipo de ordem, informe: STOP_MARKET
side true string A ponta executora da ordem, informe: SELL
amount true string Quantidade da moeda de cotação, por exemplo, a quantidade de BRL na venda de BTC_BRL
operator true string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice true string Preço de disparo
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo da ordem
side string A ponta executora da ordem
price string Preço unitário da ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
operator string Operador de stop ordem(para mais informações, veja a introdução de ordem)
stopPrice string Preço de disparo
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Cancelar ordem

Solicita o cancelamento de uma ordem.

curl -X POST \
  'https://api.novadax.com/v1/orders/cancel' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "id": "608705793440616448"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.cancle_order("608705793440616448")

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "result": true
    },
    "message": "Success"
}

Caminho de requisição

POST /v1/orders/cancel

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
id true string ID da ordem

Detalhes de resposta

Campo Tipo Detalhes
result string Resultado do cancelamento

Conferir detalhes de ordens

Retorna os detalhes atualizados de uma ordem. Ordens criadas via API não serão encontradas depois de duas horas após seu cancelamento.

curl -X GET \
  'https://api.novadax.com/v1/orders/get?id=608695623247466496' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.get_order('608695623247466496')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": {
        "id": "608695623247466496",
        "symbol": "BTC_BRL",
        "type": "MARKET",
        "side": "SELL",
        "price": null,
        "averagePrice": "0",
        "amount": "0.123",
        "filledAmount": "0",
        "value": null,
        "filledValue": "0",
        "filledFee": "0",
        "stopPrice": null,
        "operator": null,
        "status": "REJECTED",
        "timestamp": 1565165945588
    },
    "message": "Success"
}

Caminho de requisição

GET /v1/orders/get

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
id True string ID da ordem

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo de ordem(consultar introdução de ordem)
side string A ponta executora da ordem, opções: BUY or SELL
price string Preço unitário de ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Conferir histórico de ordens

Retorna o histório de ordens de acordo com o filtro informado. Ordens criadas via API não serão encontradas depois de duas horas após seu cancelamento.

curl -X GET \
  'https://api.novadax.com/v1/orders/list?symbol=BTC_BRL&status=FINISHED&from=608705793440616448&to=608694995137859584&limit=100' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.list_orders('BTC_BRL', 'FINISHED', '608705793440616448', '608694995137859584', '100')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [
        {
            "id": "608695678650028032",
            "symbol": "BTC_BRL",
            "type": "MARKET",
            "side": "SELL",
            "price": null,
            "averagePrice": "0",
            "amount": "0.123",
            "filledAmount": "0",
            "value": null,
            "filledValue": "0",
            "filledFee": "0",
            "stopPrice": null,
            "operator": null,
            "status": "REJECTED",
            "timestamp": 1565165958796
        },
        {
            "id": "608695623247466496",
            "symbol": "BTC_BRL",
            "type": "MARKET",
            "side": "SELL",
            "price": null,
            "averagePrice": "0",
            "amount": "0.123",
            "filledAmount": "0",
            "value": null,
            "filledValue": "0",
            "filledFee": "0",
            "stopPrice": null,
            "operator": null,
            "status": "REJECTED",
            "timestamp": 1565165945588
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/orders/list

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol false string Símbolo da negociação, como BTC_BRL
status false string Você pode encontrar as opções dos status de ordem na introdução. Use vírgula para separar vários status. Você pode pesquisar “FINISHED” para encontrar ordens não concluídas, e pesquisar “UNFINISHED” para encontrar ordens concluídas.
fromId false string Ordem de início
toId false string Ordem de término
fromTimestamp false number Data de início, considerando a hora da criação da ordem em milissegundos
toTimestamp false number Data de término, considerando a hora da criação da ordem em milissegundos
limit false string O número de ordens a retornar, default 100, máx 100
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da ordem
symbol string Símbolo da negociação
type string Tipo de ordem
side string A ponta executora da ordem
price string Preço unitário de ordem
averagePrice string Preço médio da ordem
amount string Quantidade da moeda de base
filledAmount string Quantidade executada da moeda de base
value string Quantidade da moeda de cotação
filledValue string Quantidade executada da moeda de cotação
filledFee string Taxa paga
status string Status da ordem(consultar introdução de ordem)
timestamp number Hora da criação da ordem

Conferir detalhes de execução de ordens

Retorna o resultado da execução de uma ordem.

curl -X GET \
  'https://api.novadax.com/v1/orders/fills?orderId=608716957545402368' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.list_order_fills('608716957545402368')

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [
        {
            "id": "608717046691139584",
            "orderId": "608716957545402368",
            "symbol": "BTC_BRL",
            "side": "BUY",
            "amount": "0.0988",
            "price": "45514.76",
            "fee": "0.0000988 BTC",
            "feeAmount": "0.0000988",
            "feeCurrency": "BTC",
            "role": "MAKER",
            "timestamp": 1565171053345
        },
        {
            "id": "608717065729085441",
            "orderId": "608716957545402368",
            "symbol": "BTC_BRL",
            "side": "BUY",
            "amount": "0.0242",
            "price": "45514.76",
            "fee": "0.0000242 BTC",
            "feeAmount": "0.0000988",
            "feeCurrency": "BTC",
            "role": "MAKER",
            "timestamp": 1565171057882
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/orders/fills

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
orderId true string ID da ordem
symbol false string Símbolo da negociação, como BTC_BRL
fromId false string Ordem de início
toId false string Ordem de término
fromTimestamp false number Data de início, considerando a hora da execução da ordem em milissegundos
toTimestamp false number Data de término, considerando a hora da execução da ordem em milissegundos
limit false string O número de ordens a retornar, default 100, máx 100
accountId false string ID da subconta, se não for informado, a ordem será colocada sob conta principal

Detalhes de resposta

Campo Tipo Detalhes
id string ID da execução de ordem
orderId string ID da ordem
symbol string Símbolo da negociação
side string A ponta executora da ordem(consultar introdução de ordem)
price string Preço executado
amount string Quantidade executada
fee string Taxa paga
feeCurrency string Moeda de taxa
feeAmount string Quantidade de moeda de taxa
role string Papel na execução(consultar introdução de ordem)
fromTimestamp false number

Conta

Obter saldo da conta

Retorna os saldos das moedas da sua conta.

curl 'https://api.novadax.com/v1/account/getBalance'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.get_account_balance()

print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [
        {
            "available": "1.23",
            "balance": "0.23",
            "currency": "BTC",
            "hold": "1"
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/account/getBalance

Parâmetro de requisição

Nenhum parâmetro é necessário para este endpoint.

Detalhes de resposta

Campo Tipo Detalhes
currency string A moeda do saldo
balance string O saldo da moeda
hold string O saldo em ordens
available string O saldo disponível
accountId string O ID da conta

Sacar criptomoedas

curl -X POST \
  'https://api.novadax.com/v1/account/withdraw/coin' \
  -H 'Content-Type: application/json' \
  -H 'X-Nova-Access-Key: your access key' \
  -H 'X-Nova-Signature: signature' \
  -H 'X-Nova-Timestamp: timestamp now' \
  -d '{
    "code": "BTC",
    "amount": "1",
    "wallet": "your to_address"
  }'
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')

result = nova_client.withdraw_coin("BTC","1",'...')

print(result)

Conteúdo de resposta

{
  "code":"A10000",
  "data": "DR123",
  "message":"Success"
}

Caminho de requisição

POST /v1/account/withdraw/coin

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
code ture string Símbolo da moeda, como BTC
amount true string Valor do saque
wallet true string Endereço de carteira de destino
tag false string Tag, requerido ao enviar XLM, XRP e EOS

Detalhes de resposta

O campo data retorna o id do saque.

Lista de sub-conta

Retorna a lista de todas as subcontas da conta principal

curl "https://api.novadax.com/v1/account/subs"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
subs = self.api.subs()

Conteúdo de resposta

{
    "code": "A10000",
    "data": [{
        "subId": "CA648856083527372800",
        "state": "Normal",
        "subAccount": "003",
        "subIdentify": "003"
    }],
    "message": "Success"
}

Caminho de requisição

GET /v1/account/subs

Parâmetro de requisição

Nenhum parâmetro é necessário para este endpoint.

Detalhes de resposta

Campo Tipo Detalhes
subId string ID da subconta
state string Status da subconta, Normal/Frozen (normal ou bloqueada)
subAccount string Nome da subconta
subIdentify string Descrição da subconta

Saldo da sub-conta

Retorna o saldo da subconta

curl "https://api.novadax.com/v1/account/subs/balance?subId=xxx"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
ava = self.api.subs_balance(subId)

Conteúdo de resposta

{
    "code":"A10000",
    "data":[
        {
            "balance":"7.22",
            "currency":"BTC"
        }
    ],
    "message":"Success"
}

Caminho de requisição

GET /v1/account/subs/balance?subId=xxx

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
subId ture string ID da subconta

Detalhes de resposta

Campo Tipo Detalhes
balance string Saldo da subconta
currency string Moeda do saldo

Histórico de transferência da sub-conta

Retorna o histórico de transferências entre conta principal e subcontas

curl "https://api.novadax.com/v1/account/subs/transfer/record?subId=xxx"
from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
ava = self.api.subs_transfer_record(subId)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [{
        "subId": "CA648855702269333504",
        "amount": "103.22",
        "currency": "BRL",
        "state": "success",
        "type": "master-transfer-out"
    }, {
        "subId": "CA648855702269333504",
        "amount": "3.5",
        "currency": "BRL",
        "state": "success",
        "type": "master-transfer-in"
    }],
    "message": "Success"
}

Caminho de requisição

GET /v1/account/subs/transfer/record?subId=xxx

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
subId ture string ID da subconta

Detalhes de resposta

Campo Tipo Detalhes
subId string ID da subconta
amount string Quantidade transferida
currency string Moeda da transferência
state string Status da transferência: success/fail (sucesso/falha)
type string Tipo: master-transfer-in (transferido para conta principal) ou master-transfer-out (transferido da conta principal)

Transferência da sub-conta

Você pode utilizar este endpoint para transferir ativos entre conta principal e subcontas


from novadax import RequestClient as NovaClient

nova_client = NovaClient('your access key', 'your secret key')
subId = 'CA648856083527372800'
assetCode = 'BTC'
transferAmount = '0.51'
transferType = 'master-transfer-out'
tid = self.api.subs_transfer(subId, assetCode, transferAmount, transferType);
print(tid)

Conteúdo de resposta

{
  "code":"A10000",
  "message":"Success",
  "data":40
}

Caminho de requisição

POST /v1/account/subs/transfer

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
subId true string ID da subconta
currency true string Moeda da transferência
transferAmount true string Quantidade da transferência
transferType true string Tipo,master-transfer-in ou master-transfer-out

Detalhes de resposta

O campo "data" retorna o ID da transferência realizada.

Carteira

Registros de depósito e saque de carteira

The endpoint returns the records of deposits and withdraws.

curl -X GET \
   'https://api.novadax.com/v1/wallet/query/deposit-withdraw?currency=BTC&type=coin_in&start=DR562339304588709888&size=10&direct=desc'\
     -H 'X-Nova-Access-Key: your access key' \
     -H 'X-Nova-Signature: signature' \
     -H 'X-Nova-Timestamp: timestamp now' \
from novadax import RequestClient as NovaClient
nova_client = NovaClient('your access key', 'your secret key')
result = nova_client.wallet_deposit_withdraw_record()
print(result)

Conteúdo de resposta

{
    "code": "A10000",
    "data": [{
        "id": "DR562339304588709888",
        "type": "COIN_IN",
        "currency": "XLM",
        "chain": "XLM",
        "address": "GCUTK7KHPJC3ZQJ3OMWWFHAK2OXIBRD4LNZQRCCOVE7A2XOPP2K5PU5Q",
        "addressTag": "1000009",
        "amount": 1.0,
        "state": "SUCCESS",
        "txHash": "39210645748822f8d4ce673c7559aa6622e6e9cdd7073bc0fcae14b1edfda5f4",
        "createdAt": 1554113737000,
        "updatedAt": 1601371273000
    }...],
    "message": "Success"
}

Caminho de requisição

GET /v1/wallet/query/deposit-withdraw

Parâmetro de requisição

Campo Tipo Mandatório Detalhes Valor padrão
currency string false The currency code. e.g. BTC NA
type string false default record type to search coin_in and coin_out
direct string false the order of records,e.g. asc or desc asc
size int false the number of iterms to return 100
start string false the id of record, NA

Detalhes de resposta

Campo Tipo Detalhes
id string the id of record
type string the type of record
currency string the currency code of record
txHash string the txid of chain
address string the dst address of txHash
addressTag string the tag of txHash
chain string Block chain name,internal means transfer through novadax inside rather than chain
amount decimal the amount of txHash
state string the state of record
createdAt long The timestamp in milliseconds for the transfer creation
updatedAt long The timestamp in milliseconds for the transfer's latest update

List of possible record state

State Detalhes
Pending the record is wait broadcast to chain
x/M confirming the comfirming state of tx,the M is total confirmings needed
SUCCESS the record is success full
FAIL the record failed

WebSocket

Acesso

NovaDAX WebSocket API baseia-se em Socket.io. Você pode encontrar mais informações sobre Socket.io em seu site oficial.

Endereço

wss://api.novadax.com

// Socket.io exemplo de estabelecer conexão
const io = require("socket.io-client");

const socket = io("wss://api.novadax.com", {
transports: ['websocket']
});

// Socket.io exemplo de subscrição
socket.emit("SUBSCRIBE", ["MARKET.BTC_USDT.TICKER", "MARKET.BTC_USDT.TRADE"])
socket.on("MARKET.BTC_USDT.TICKER", (ticker) => {
    console.log(ticker)
})
socket.on("MARKET.BTC_USDT.TRADE", (trade) => {
    console.log(trade)
})

// Socket.io exemplo de cancelar subscrição
socket.emit("UNSUBSCRIBE", ["MARKET.BTC_USDT.DEPTH.LEVEL0"])

Limite

Subscrever tópicos

Ao subscrever um tópico, você receberá todas as notificações relacionadas com ele. Formato de subscrição:

socket.emit("SUBSCRIBE", ["XXX"])

Cancelar subscrição

Depois de subscrever um tópico, se você não quiser receber notificações sobre ele, pode cancelar a subscrição. Formato de cancelar a subscrição:

socket.emit("UNSUBSCRIBE", ["XXX"])

Subscrever dados de ticker de um par de negociação específico

Após a subscrição, o sistema enviará dados de ticker de todos os pares de negociação uma vez por segundo.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def tickers_handler(tickers):
    print('received tickers: ', tickers)

nova_client.sub_market_tickers(tickers_handler)

Valor de retorno

[
  {
      "ask": "34708.15",
      "baseVolume24h": "34.08241488",
      "bid": "34621.74",
      "high24h": "35079.77",
      "lastPrice": "34669.81",
      "low24h": "34330.64",
      "open24h": "34492.08",
      "quoteVolume24h": "1182480.09502814",
      "symbol": "BTC_BRL",
      "timestamp": 1571112216346
  }
]

Tópico de subscrição

MARKET.TICKERS

Parâmetros de requisição

Nenhum parâmetro é necessário para este endpoint.

Detalhes de resposta

Campo Tipo Detalhes
symbol string Símbolo da negociação
lastPrice string Preço unitário da última negociação
bid string Maior preço de oferta de compra das últimas 24 horas
ask string Menor preço de oferta de venda das últimas 24 horas
open24h string Preço unitário de abertura de negociação das últimas 24 horas
high24h string Maior preço unitário de negociação das últimas 24 horas
low24h string Menor preço unitário de negociação das últimas 24 horas
baseVolume24h string Volume de negociação na moeda de base das últimas 24 horas
quoteVolume24h string Volume de negociação na moeda de cotação das últimas 24 horas
timestamp number A hora atual do sistema ajustada para o horário UTC

Subscrever dados de ticker de um único par de negociação

Após a subscrição, o sistema enviará dados de ticker do par de negociação definido uma vez por segundo.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def ticker_handler(ticker):
    print('received ticker: ', ticker)

nova_client.sub_market_ticker("BTC_BRL", ticker_handler)

Valor de retorno

{
    "ask": "34708.15",
    "baseVolume24h": "34.08241488",
    "bid": "34621.74",
    "high24h": "35079.77",
    "lastPrice": "34669.81",
    "low24h": "34330.64",
    "open24h": "34492.08",
    "quoteVolume24h": "1182480.09502814",
    "symbol": "BTC_BRL",
    "timestamp": 1571112216346
}

Tópico de subscrição

MARKET.{{symbol}}.TICKER

Parâmetros de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação

Detalhes de resposta

Campo Tipo Detalhes
symbol string Símbolo de negociação
lastPrice string Preço unitário da última negociação
bid string Maior preço de oferta de compra das últimas 24 horas
ask string Menor preço de oferta de venda das últimas 24 horas
open24h string Preço unitário de abertura de negociação das últimas 24 horas
high24h string Maior preço unitário de negociação das últimas 24 horas
low24h string Menor preço unitário de negociação das últimas 24 horas
baseVolume24h string Volume de negociação na moeda de base das últimas 24 horas
quoteVolume24h string Volume de negociação na moeda de cotação das últimas 24 horas
timestamp number A hora atual do sistema ajustada para o horário UTC

Subscrever dados de profundidade

Após a subscrição, o sistema enviará dados de profundidade dos paress de negociação definidos uma vez por segundo.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def depth_handler(depth):
    print('received depth: ', depth)

nova_client.sub_market_depth("BTC_BRL", depth_handler)

Valor de retorno

{
    "asks": [
        ["43687.16", "0.5194"],
        ["43687.2", "1.3129"]
    ],
    "bids": [
        ["43657.57", "0.6135"],
        ["43657.46", "0.0559"]
    ],
    "timestamp": 1565057338020
}

Tópico de subscrição

MARKET.{{symbol}}.DEPTH.LEVEL0

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação
limit false number O número de compras e vendas a retornar; máximo 20

Detalhes de resposta

Campo Tipo Detalhes
asks array Lista de ofertas de venda
asks[][0] string Preço de venda
asks[][1] string Quantidade de venda
bids array Lista de ofertas de compra
bids[][0] string Preço de compra
bids[][1] string Quantidade de compra
timestamp number A hora atual do sistema ajustada para o horário UTC

Subscrever dados de execução de ordens

Após a subscrição, o sistema enviará notificações sobre as ordens recém-executadas.

from novadax import WebSocketClient

nova_client = WebSocketClient('your access key(optional)', 'your secret key(optional)')

def trade_handler(trades):
    print('received trade: ', trades)

nova_client.sub_market_trade("BTC_BRL", trade_handler)

Valor de retorno

[
    {
        "price": "43657.57",
        "amount": "1",
        "side": "SELL",
        "timestamp": 1565007823401
    },
    {
        "price": "43687.16",
        "amount": "0.071",
        "side": "BUY",
        "timestamp": 1565007198261
    }
]

Tópico de subscrição

MARKET.{{symbol}}.TRADE

Parâmetro de requisição

Campo Mandatório Tipo Detalhes
symbol true string Símbolo da negociação

Detalhes de resposta

Campo Tipo Detalhes
price string Preço unitário da negociação na moeda de cotação
amount string Quantidade da negociação na moeda de base
side string A ponta executora da negociação (SELL ou BUY)
timestamp number Hora em que ordem foi executada