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)

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)

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.

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

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

Get Latest Tickers for All Trading Pairs

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

Get Latest Ticker for Specific Pair

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

Get Market Depth

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

Get Recent Trades

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; máximo 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

Ordens

Place A New Limit Order To Buy

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
filledFeefilledFee string Taxa paga
status string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED
timestamp number Hora da criação da ordem

Place A New Limit Order To Sell

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
filledFeefilledFee string Taxa paga
status string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED
timestamp number Hora da criação da ordem

Place A New Market Order To Buy

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
filledFeefilledFee string Taxa paga
status string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED
timestamp number Hora da criação da ordem

Place A New Market Order To Sell

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
filledFeefilledFee string Taxa paga
status string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED
timestamp number Hora da criação da ordem

Cancel An Order

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

Get Order Details

Retorna os detalhes atualizados de uma ordem.

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",
        "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, opções: LIMIT, MARKET, MAKER_ONLY
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
filledFeefilledFee string Taxa paga
status string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED
timestamp number Hora da criação da ordem

Get Order History

Retorna o histório de ordens de acordo com o filtro informado.

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",
            "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",
            "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 true string Símbolo da negociação, como BTC_BRL
status false string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED (separe status diferentes com vírgula)
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

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
filledFeefilledFee string Taxa paga
status string Status da ordem, opções: SUBMITTED, PROCESSING, PARTIAL_FILLED, CANCELING, FILLED, CANCELED e REJECTED
timestamp number Hora da criação da ordem

Get Order Match Details

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

curl -X GET \
  'https://api.novadax.com/v1/orders/fill?id=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",
            "role": "MAKER",
            "timestamp": 1565171053345
        },
        {
            "id": "608717065729085441",
            "orderId": "608716957545402368",
            "symbol": "BTC_BRL",
            "side": "BUY",
            "amount": "0.0242",
            "price": "45514.76",
            "fee": "0.0000242 BTC",
            "role": "MAKER",
            "timestamp": 1565171057882
        }
    ],
    "message": "Success"
}

Caminho de requisição

GET /v1/orders/fill

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 execução de ordem
orderId string ID da ordem
symbol string Símbolo da negociação
side string A ponta executora da ordem, opções: BUY or SELL
price string Preço executado
amount string Quantidade executada
fee string Taxa paga
role string Taker ou Maker

Conta

Get Account Balance

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

Send Cryptocurrencies

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.

Get Sub Account List

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

Get Sub Account Balance

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

Get Sub Account Transfer Record

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)

Get Sub Account Transfer

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.