API di Luno

Crea applicazioni personalizzate o pagamenti integrati mediante la nostra potente API Bitcoin

L’API di Luno ti offre la possibilità di:

  • Accedere ai dati di mercato, attuali e passati, relativi a Bitcoin ed Ethereum
  • Inviare ordini di trading e visualizzare lo stato dell’ordine
  • Acquistare e vendere Bitcoin ed Ethereum
  • Inviare e ricevere Bitcoin ed Ethereum
  • Genera indirizzi per ricevere Bitcoin ed Ethereum

L’API di Luno rende Bitcoin ed Ethereum disponibili a chiunque.

Assicurati di utilizzare sempre HTTPS quando si chiama l’API. Le richieste di tipo non-TLS HTTP restituiscono l’errore 403. L’impiego di richieste di tipo non-TLS può causare la perdita delle tue credenziali di autenticazione.

Assicurati che il tuo client convalidi il certificato SSL del server. Molte librerie (ad esempio urllib2 in Python2) non convalidano i certificati server per impostazione predefinita. La mancata verifica del certificato del server rende la tua applicazione vulnerabile all'attacco man-in-the-middle.

Le marche temporali sono sempre rappresentate come un numero intero di millisecondi dall'Epoca UTC (una Marca temporale UNIX).

Prezzi e volumi sono sempre rappresentati da una stringa decimale, ad esempio "123.3432". Utilizziamo stringhe anziché float per preservare la precisione.

I parametri per le chiamate POST vengono inviati come moduli codificati URL (application/x-www-form-urlencoded).

Le chiamate ai dati di mercato dell'API si limitano a 1 chiamata al secondo per indirizzo IP. Tutte le altre chiamate API si limitano a 1 chiamata al secondo per cliente. I limiti di frequenza delle chiamate API permettono delle sequenze massime di cinque chiamate consecutive. Superare tale limite causa la restituzione del codice di errore HTTP 429.

Il Go library (Vai alla libreria) costituisce la via raccomandata di accedere all’API: visualizzala su GitHub.

Le seguenti librerie sono state implementati da terze parti o non sono più in fase di sviluppo attivo e sono elencate qui per praticità. Relativamente a queste Luno non fornisce alcun supporto e potrebbero essere scadute. Si raccomanda un’analisi approfondita del codice prima di includerle in un progetto.

Chiunque può accedere senza autenticazione alle chiamate API dei dati di mercato. I dati forniti possono essere memorizzati nella cache per un massimo di 1 secondo. L’API di streaming può essere utilizzata se si necessitano dati di mercato a bassa latenza.

Ticker

Restituisce i più recenti indicatori delle sigle di segnalazione.

Definizione

GET https://api.mybitx.com/api/1/ticker

Argomenti

pair string Obbligatorio Currency pair e.g. XBTZAR or ETHXBT

Richiesta esempio

$ curl https://api.mybitx.com/api/1/ticker?pair=XBTZAR

Risposta esempio

{
  "ask": "1050.00",
  "timestamp": 1366224386716,
  "bid": "924.00",
  "rolling_24_hour_volume": "12.52",
  "last_trade": "950.00"
}

Tutte le sigle di negoziazione

Restituisce i più recenti indicatori delle sigle di segnalazione da parte di tutte le Luno Exchange attive.

Definizione

GET https://api.mybitx.com/api/1/tickers

Richiesta esempio

$ curl https://api.mybitx.com/api/1/tickers

Risposta esempio

{
  "tickers": [
    {
      "timestamp": 1405413955793,
      "bid": "6801.00",
      "ask": "6900.00",
      "last_trade": "6900.00",
      "rolling_24_hour_volume": "12.455579",
      "pair":"XBTZAR"
    },
    {
      "timestamp": 1405413955337,
      "bid": "5000.00",
      "ask":"6968.00",
      "last_trade": "6830.00",
      "rolling_24_hour_volume": "0.00",
      "pair":"XBTNAD"
    }
  ]
}

Libro ordini

Restituisce un elenco delle prime 100 offerte e vendite nel libro ordini. Gli ordini di vendita sono elencati secondo un ordine crescente del prezzo. Gli ordini di acquisto sono elencati secondo un ordine decrescente del prezzo. Vengono aggregati ordini dello stesso prezzo.

Definizione

GET https://api.mybitx.com/api/1/orderbook_top

Argomenti

pair string Obbligatorio Currency pair e.g. XBTZAR or ETHXBT

Richiesta esempio

$ curl https://api.mybitx.com/api/1/orderbook_top?pair=XBTZAR

Risposta esempio

{
  "timestamp": 1366305398592,
  "bids": [
    {
      "volume": "0.10",
      "price": "1100.00"
    },
    {
      "volume": "0.10",
      "price": "1000.00"
    },
    {
      "volume": "0.10",
      "price": "900.00"
    }
  ],
  "asks": [
    {
      "volume": "0.10",
      "price": "1180.00"
    },
    {
      "volume": "0.10",
      "price": "2000.00"
    }
  ]
}

Libro ordini (Pieno)

Restituisce un elenco di tutte le offerte e vendite nel libro ordini. Gli ordini di vendita sono elencati secondo un ordine crescente del prezzo. Gli ordini di acquisto sono elencati secondo un ordine decrescente del prezzo. Gli ordini multipli dello stesso prezzo non sono aggregati.

Avvertenza: Ciò può restituire una grossa quantità di dati. Generalmente dovresti utilizzare GetOrderBook o l’API di streaming.

Definizione

GET https://api.mybitx.com/api/1/orderbook

Argomenti

pair string Obbligatorio Currency pair e.g. XBTZAR or ETHXBT

Richiesta esempio

$ curl https://api.mybitx.com/api/1/orderbook?pair=XBTZAR

Risposta esempio

{
  "timestamp": 1366305398592,
  "bids": [
    {
      "volume": "0.10",
      "price": "1100.00"
    },
    {
      "volume": "0.10",
      "price": "1000.00"
    },
    {
      "volume": "0.10",
      "price": "900.00"
    }
  ],
  "asks": [
    {
      "volume": "0.10",
      "price": "1180.00"
    },
    {
      "volume": "0.10",
      "price": "2000.00"
    }
  ]
}

Negoziazioni

Restituisce un elenco delle negoziazioni più recenti. Vengono restituiti al massimo 100 risultati a richiesta.

Definizione

GET https://api.mybitx.com/api/1/trades

Argomenti

pair string Obbligatorio Currency pair e.g. XBTZAR or ETHXBT
since integer facoltativo Fetch trades executed after this time, specified as a Unix timestamp in milliseconds.

Richiesta esempio

$ curl https://api.mybitx.com/api/1/trades?pair=XBTZAR

Risposta esempio

{
  "trades": [
    {
      "volume": "0.10",
      "timestamp": 1366052621774,
      "price": "1000.00",
      "is_buy": true
    },
    {
      "volume": "1.20",
      "timestamp": 1366052621770,
      "price": "1020.50",
      "is_buy": false
    }
  ]
}

Alcune chiamate API richiedono l'autenticazione dell'applicazione. Ciò avviene utilizzando una chiave API associata al tuo account. Puoi creare una chiave API visitando la sezione Chiavi API nella pagina delle impostazioni.

Una chiave API è formata da un id e da una chiave segreta. Ad esempio: cnz2yjswbv3jd (id della chiave) e 0hydMZDb9HRR3Qq-iqALwZtXLkbLR4fWxtDZvkB9h4I (chiave segreta).

Le richieste API sono autenticate mediante l’autenticazione di base HTTP con l’identificativo della chiave come nome utente e la chiave segreta come password. Una chiave mancante, scorretta o revocata comporterà la restituzione dell’errore 401.

Permessi

A ogni chiave API è assegnata una serie di permessi al momento della sua creazione. La chiave può essere utilizzata unicamente per richiamare le funzioni API permesse.

Ecco una lista dei possibili permessi:

  • Perm_R_Balance = 1 (Visualizza saldo)
  • Perm_R_Transactions = 2 (Visualizza transazioni)
  • Perm_W_Send = 4 (Invia a un qualsiasi indirizzo)
  • Perm_R_Addresses = 8 (Visualizza indirizzi)
  • Perm_W_Addresses = 16 (Crea indirizzi)
  • Perm_R_Orders = 32 (Visualizza ordini)
  • Perm_W_Orders = 64 (Crea ordini)
  • Perm_R_Withdrawals = 128 (Visualizza prelievi)
  • Perm_W_Withdrawals = 256 (Crea prelievi)
  • Perm_R_Merchant = 512 (Visualizza fatture dell’esercente)
  • Perm_W_Merchant = 1024 (Crea fatture dell’esercente)
  • Perm_W_ClientDebit = 8192 (Conti di debito)
  • Perm_W_ClientCredit = 16384 (Conti di credito)
  • Perm_R_Beneficiaries = 32768 (Visualizza beneficiari)
  • Perm_W_Beneficiaries = 65536 (Crea ed elimina beneficiari)

Un insieme di permessi è rappresentato come il bit a bit OR di ciascun permesso della serie. Ad esempio l’insieme di permessi necessari per visualizzare i saldi e gli ordini è Perm_R_Balance | Perm_R_Orders = 33.

Tutte le transazioni della piattaforma Luno operano sui conti. Ogni conto è espresso in una valuta singola e contiene un elenco ordinato delle voci che tracciano il relativo saldo provvisorio.

Ogni conto ha un saldo separato e un saldo disponibile. Il saldo disponibile può essere inferiore al saldo se alcuni fondi sono stati prenotati (ad esempio per un ordine limite in sospeso). Le voci del conto interessano il saldo e il saldo disponibile indipendentemente.

Le voci del conto sono numerate in sequenza. È garantito che le voci non saranno mai riordinate o cancellate. È anche garantito che gli attributi centrali della voce (i saldi provvisori e l’indice) non vengono mai modificati. Di conseguenza, un conto si comporta come un file di registro di transazioni in modalità sola-aggiunta.

Crea un conto

Crea un conto aggiuntivo per la valuta specificata.

Definizione

POST https://api.mybitx.com/api/1/accounts

Argomenti

currency string Obbligatorio Il codice valuta per il conto che desideri creare, ad esempio XBT, IDR, MYR, ZAR
name string Obbligatorio L'etichetta da utilizzare per questo conto, ad esempio "Trading ACC".

Devi essere verificato per negoziare currency per riuscire a creare un conto. Un utente ha un limite di 4 conti per valuta.

Richiesta esempio

$ curl -u keyid:keysecret -X POST -d currency=XBT -d name=Moon https://api.mybitx.com/api/1/accounts

Risposta esempio

{
  "id": "319323232",
  "name": "Moon",
  "currency": "XBT"
}

Permessi richiesti

Perm_W_Addresses

Saldi

Restituire l'elenco di tutti i conti e dei rispettivi saldi.

Definizione

GET https://api.mybitx.com/api/1/balance

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/balance

Risposta esempio

{
  "balance": [
    {
      "account_id": "1224342323",
      "asset": "XBT",
      "balance": "1.012423",
      "reserved": "0.01",
      "unconfirmed": "0.421",
      "name": "XBT Account"
    },
    {
      "account_id": "2997473",
      "asset": "ZAR",
      "balance": "1000.00",
      "reserved": "0.00",
      "unconfirmed": "0.00",
      "name": "ZAR Account"
    }
  ]
}

Permessi richiesti

Perm_R_Balance

Transazioni

Restituire un elenco di transazioni di un conto.

Le righe per l’inserimento delle transazioni sono numerate in sequenza a partire da 1, dove 1 corrisponde all’inserimento più datato. L’intervallo di righe da restituire è indicato con i parametri min_row (inclusa) e max_row (esclusa). Possono essere richieste al massimo 1000 righe a richiesta.

Se min_row o max_row non risulta positivo, l’intervallo gira attorno alla riga più recente. Ad esempio, per recuperare le 100 righe più recenti, utilizza min_row=-100 e max_row=0.

Definizione

GET https://api.mybitx.com/api/1/accounts/:id/transactions

Argomenti

id string Obbligatorio ID del conto
min_row int Obbligatorio Minimo dell’intervallo di riga da restituire (inclusa)
max_row int Obbligatorio Massimo dell’intervallo di riga da restituire (esclusivo)

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/accounts/319232323/transactions?min_row=1&max_row=100

Risposta esempio

{
  "id": "319232323",
  "transactions": [
    {
      "row_index": 2,
      "timestamp": 1429908835000,
      "balance": 0.08,
      "available": 0.08,
      "balance_delta": -0.02,
      "available_delta": -0.02,
      "currency": "XBT",
      "description": "Sold 0.02 BTC"
    },
    {
      "row_index": 1,
      "timestamp": 1429908701000,
      "balance": 0.1,
      "available": 0.1,
      "balance_delta": 0.1,
      "available_delta": 0.1,
      "currency": "XBT",
      "description": "Bought 0.1 BTC"
    }
  ]
}

Permessi richiesti

Perm_R_Transactions

Transazioni in sospeso

Restituire un elenco di tutte le transazioni in sospeso relative al conto.

Diversamente dalle entrate del conto, le transazioni in sospeso non sono numerate e possono essere riordinate, cancellate o aggiornate in qualsiasi momento.

Definizione

GET https://api.mybitx.com/api/1/accounts/:id/pending

Argomenti

id string Obbligatorio ID del conto

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/accounts/319232323/pending

Risposta esempio

{
  "id": "319232323",
  "pending": [
    {
      "timestamp": 1429908835000,
      "balance": 0.03,
      "available": 0.03,
      "balance_delta": 0.03,
      "available_delta": 0.03,
      "currency": "XBT",
      "description": "Received Bitcoin - 1 of 3 confirmations"
    }
  ]
}

Permessi richiesti

Perm_R_Transactions

Il Trading sul mercato è costituito dall’invio di ordini di negoziazione. Dopo che è stato creato un nuovo ordine, questo viene spedito per essere elaborato dal motore di riscontro e matching degli ordini. Successivamente, o l'ordine trova corrispondenza con un ordine esistente nel libro ordini e viene compilato oppure rimane nel libro ordini fino a quando non viene sospeso.

Fai clic qui per ulteriori informazioni su come funziona l’abbinamento degli ordini.

Elenco degli ordini

Restituisce un elenco degli ordini inseriti più recentemente. Puoi specificare un parametro facoltativo di state=PENDING per limitare i risultati ai soli ordini aperti. Puoi anche specificare il mercato utilizzando il parametro facoltativo di coppia. L’elenco viene troncato dopo 100 elementi.

Definizione

GET https://api.mybitx.com/api/1/listorders

Argomenti

state string facoltativo Filtro per i soli ordini di questo stato, ad esempio PENDING
pair string facoltativo Filtro per i soli ordini di questa coppia di valute ad esempio XBTZAR o ETHXBT

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/listorders

Risposta esempio

{
  "orders": [
    {
      "base": "0.027496",
      "counter": "81.140696",
      "creation_timestamp": 1423990327333,
      "expiration_timestamp": 0,
      "completed_timestamp": 1423991515534,
      "fee_base": "0.00",
      "fee_counter": "0.00",
      "limit_price": "2951.00",
      "limit_volume": "0.027496",
      "order_id": "BXF3J88PZAYGXH7",
      "pair": "XBTZAR",
      "state": "COMPLETE",
      "type": "ASK",
    }
  ]
}
BID
Ordine limite di offerta (acquisto)
CHIEDI
Ordine limite di vendita (vendita)
Gli stati possibili dell’ordine sono:
IN SOSPESO
L’ordine è stato inserito. Alcune negoziazioni possono essere avvenute, ma l'ordine non è ancora stato evaso.
COMPLETATA
L'ordine non è più attivo. E' stato concluso o è stato annullato.

Gli importi base e counter costituiscono gli importi di capitale, negoziati ignorando le commissioni. Ad esempio, se l’ordine ha dato luogo a una singola negoziazione di 1 BTC per 1000 ZAR, allora labase=1 BTC e il counter=1000 ZAR.

Gli importi fee_base e fee_counter costituiscono le commissioni addebitate dopo gli importi di capitale commerciale.

Ad esempio, per un ordine di acquisto, base - base_fee sarebbe accreditato sul conto BTC e counter + counter_fee sarebbe trasferito dal conto ZAR. Allo stesso modo, per un ordine di vendita, counter - counter_fee sarebbe accreditato sul conto ZAR e base + base_fee sarebbe addebitato sul conto BTC.

Il pair specifica il mercato.

Permessi richiesti

Perm_R_Orders

Pubblica ordine limite

Crea un nuovo ordine di negoziazione.

Avvertenza! Non è possibile annullare gli ordini dopo che sono stati eseguiti. Assicurati che il tuo programma sia stato scrupolosamente testato prima di inoltrare degli ordini.

Se non è specificato alcun base_account_id o counter_account_id sarà utilizzata la tua valuta base predefinita o il tuo conto di valuta corrispondente. Puoi trovare gli ID del tuo conto richiamando i Saldi API.

Definizione

POST https://api.mybitx.com/api/1/postorder

Argomenti

pair string Obbligatorio La coppia di valute da negoziare, ad esempio XBTZAR o ETHXBT.
type string Obbligatorio "ACQUISTO" per un ordine limite di acquisto (acquistare) o "VENDITA" per un ordine limite di vendita (vendere).
volume string Obbligatorio Quantità dei Bitcoin o Ethereum da acquistare o vendere come stringa decimale in unità di BTC, ad esempio "1.423".
price string Obbligatorio Prezzo limite come stringa decimale in unità di ZAR/BTC, ad esempio "1200".
base_account_id string facoltativo Il conto in valuta di base da utilizzare nella negoziazione.
counter_account_id string facoltativo Il conto in valuta corrispettiva da utilizzare nella negoziazione.
post_only boolean facoltativo Gli ordini di tipo Post-only saranno cancellati nel caso in cui altrimenti sarebbero stati negoziati immediatamente. Ad esempio, se c'è un'offerta di acquisto a 100.000 ZAR ed invii un ordine di vendita Post-only a 100.000 ZAR, il tuo ordine sarà annullato anziché negoziato. Se la miglior offerta di acquisto è di 100.000 ZAR ed invii un ordine di vendita Post-only a 101.000 ZAR, il tuo ordine non sarà negoziato, ma rientrerà nel libro ordini.

Richiesta esempio

$ curl -u keyid:keysecret -X POST -d pair=XBTZAR -d type=BID -d volume=0.1 -d price=1000 https://api.mybitx.com/api/1/postorder

Risposta esempio

{
  "order_id": "BXMC2CJ7HNB88U4"
}

Permessi richiesti

Perm_W_Orders

Pubblica ordine a mercato

Crea un nuovo ordine a mercato.

Avvertenza! Non è possibile annullare gli ordini dopo che sono stati eseguiti. Assicurati che il tuo programma sia stato scrupolosamente testato prima di inoltrare degli ordini.

Se non è specificato alcun base_account_id o counter_account_id sarà utilizzata la tua valuta base predefinita o il tuo conto di valuta corrispondente. Puoi trovare gli ID del tuo conto richiamando i Saldi API.

Definizione

Un ordine a mercato viene eseguito immediatamente e, o acquista l’importo massimo dei Bitcoin per un determinato importo di moneta fiat, o vende un determinato importo dei Bitcoin in cambio di più moneta fiat possibile.

POST https://api.mybitx.com/api/1/marketorder

Argomenti

pair string Obbligatorio La coppia di valute da negoziare, ad esempio XBTZAR o ETHXBT.
type string Obbligatorio "BUY" to buy Bitcoin or Ethereum, or "SELL" to sell Bitcoin or Ethereum.
counter_volume string required - if type is "BUY" Per un ordine di "ACQUISTO": Importo della valuta locale (ad esempio ZAR, MYR) da spendere come stringa decimale in unità di valuta locale, ad esempio "100.50".
base_volume string obbligatorio - se la tipologia è "VENDITA" Per un ordine di "VENDITA": Quantità dei Bitcoin da vendere come stringa decimale in unità di BTC, ad esempio "1.423".
base_account_id string facoltativo Il conto in valuta di base da utilizzare nella negoziazione.
counter_account_id string facoltativo Il conto in valuta corrispettiva da utilizzare nella negoziazione.

Richiesta esempio

$ curl -u keyid:keysecret -X POST -d pair=XBTZAR -d type=BUY -d counter_volume=100.50  https://api.mybitx.com/api/1/marketorder

Risposta esempio

{
  "order_id": "BXMC2CJ7HNB88U4"
}

Permessi richiesti

Perm_W_Orders

Anulla un ordine

Richiedi di annullare un ordine.

Definizione

POST https://api.mybitx.com/api/1/stoporder

Argomenti

order_id string Obbligatorio Il riferimento dell'ordine come stringa, ad esempio BXMC2CJ7HNB88U4

Richiesta esempio

$ curl -u keyid:keysecret -X POST -d order_id=BXMC2CJ7HNB88U4 https://api.mybitx.com/api/1/stoporder

Risposta esempio

{
  "success": true
}

Permessi richiesti

Perm_W_Orders

Richiama un ordine

Richiama un ordine in particolare tramite i suo id.

Definizione

GET https://api.mybitx.com/api/1/orders/:id

Argomenti

id string Obbligatorio L’ID dell’ordine

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/orders/BXHW6PFRRXKFSB4

Risposta esempio

{
  "order_id": "BXHW6PFRRXKFSB4",
  "creation_timestamp": 1402866878367,
  "expiration_timestamp": 0,
  "completed_timestamp": 0,
  "type": "ASK",
  "state": "PENDING",
  "limit_price": "6500.00",
  "limit_volume": "0.05",
  "base": "0.03",
  "counter": "195.02",
  "fee_base":"0.000",
  "fee_counter":"0.00"
}

Permessi richiesti

Perm_R_Orders

Elenco delle negoziazioni

Restituisce un elenco delle tue transazioni recenti per una data coppia, ordinate a partire dalle più vecchie. Se è specificato il parametro before, le transazioni vengono ordinate a partire dalle più recenti.

type nella risposta indica il tipo di ordine che hai inserito per partecipare alla negoziazione. Tipologie possibili: BID, ASK.

Se is_buy nella risposta è vero, allora l’ordine che ha completato la negoziazione (market taker) costituiva un ordine di acquisto.

I risultati di questa richiesta potrebbero essere successivi rispetto ai dati più recenti.

Definizione

GET https://api.mybitx.com/api/1/listtrades

Argomenti

pair string Obbligatorio Filtro per le negoziazioni di questa coppia di valute, ad esempio XBTZAR o ETHXBT
since integer facoltativo Filtro per le negoziazioni relative o successive a questa marca temporale, ad esempio 1470810728478
limit integer facoltativo Limite a questo numero di negoziazioni (min 1, max 100, 100 di default)

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/listtrades?pair=XBTZAR

Risposta esempio

{
    "trades": [
        {
            "base": "0.147741",
            "counter": "1549.950831",
            "fee_base": "0.00",
            "fee_counter": "0.00",
            "is_buy": false,
            "order_id": "BXMC2CJ7HNB88U4",
            "pair": "XBTZAR",
            "price": "10491.00",
            "timestamp": 1467138492909,
            "type": "BID",
            "volume": "0.147741"
        }
    ]
}

Permessi richiesti

Perm_R_Orders

Informazioni sulla commissione

Restituisce le tue commissioni e il volume di trading di 30 giorni (a partire da mezzanotte) per una data coppia.

Definizione

GET https://api.mybitx.com/api/1/fee_info

Argomenti

pair string Obbligatorio Filtro per le negoziazioni di questa coppia di valute, ad esempio XBTZAR o ETHXBT

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/fee_info?pair=XBTZAR

Risposta esempio

{
  "maker_fee": "0.00",
  "taker_fee": "0.10",
  "thirty_day_volume": "0.894342"
}

Permessi richiesti

Perm_R_Orders

Indirizzi per ricevere

Restituisce l’indirizzo di destinazione predefinito associato al tuo conto e l’importo ricevuto mediante l’indirizzo. Puoi specificare un parametro facoltativo per l’indirizzo per restituire le informazioni relative a un indirizzo di ricezione non predefinito. Nella risposta, total_received indica l’importo totale confermato in Bitcoin ricevuto, escluse le transazioni non confermate. total_unconfirmed indica la somma totale delle transazioni ricevute non confermate.

Definizione

GET https://api.mybitx.com/api/1/funding_address

Argomenti

asset string Obbligatorio Codice valuta dell’attività, ad esempio XBT
address string facoltativo Uno specifico indirizzo Bitcoin o Ethereum address da recuperare. Se non viene fornito, verrà utilizzato l'indirizzo predefinito.

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/funding_address?asset=XBT&address=B1tC0InExAMPL3fundIN6AdDreS5t0Use

Risposta esempio

{
  "asset": "XBT",
  "address": "B1tC0InExAMPL3fundIN6AdDreS5t0Use",
  "total_received": "1.234567",
  "total_unconfirmed": "0.00"
}

Permessi richiesti

Perm_R_Addresses

Crea un nuovo indirizzo per ricevere

Assegna un nuovo indirizzo per ricevere al tuo conto. È presente un limite di frequenza di un indirizzo all’ora, ma sono permesse sequenze massime di 10 indirizzi. Può essere creato solo 1 indirizzo di ricezione Ethereum.

Definizione

POST https://api.mybitx.com/api/1/funding_address

Richiesta esempio

$ curl -u keyid:keysecret -X POST -d asset=XBT https://api.mybitx.com/api/1/funding_address

Risposta esempio

{
  "asset": "XBT",
  "address": "B1tC0InExAMPL3fundIN6AdDreS5t0Use",
  "total_received": "0.00",
  "total_unconfirmed": "0.00"
}

Permessi richiesti

Perm_W_Addresses

Elenco delle richieste di prelievo

Restituisce un elenco di richieste di prelievo.

Definizione

GET https://api.mybitx.com/api/1/withdrawals

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/withdrawals

Risposta esempio

{
  "withdrawals": [
    {
      "status": "PENDING",
      "id": "2221"
    },
    {
      "status": "COMPLETED",
      "id": "1121"
    }
  ]
}

Permessi richiesti

Perm_R_Withdrawals

Richiedi un prelievo

Crea una nuova richiesta di prelievo.

Definizione

POST https://api.mybitx.com/api/1/withdrawals

Argomenti

type string Obbligatorio Tipi di prelievo ad esempio ZAR_EFT, NAD_EFT, KES_MPESA, MYR_IBG, IDR_LLG
amount string Obbligatorio Importo da prelevare. La valuta dipende dal type.
beneficiary_id string facoltativo I dati identifcativi del conto bancario sul quale verrà effettuato il prelievo. Questo parametro è necessario se disponi di più conti bancari. I dati identificativi del conto bancario possono essere recuperati facendo clic sul nome del beneficiario può essere recuperato facendo clic sul nome del beneficiario nella pagina Beneficiari.

Richiesta esempio

$ curl -u keyid:keysecret -X POST -d type=ZAR_EFT -d amount=1000 https://api.mybitx.com/api/1/withdrawals

Risposta esempio

{
  "status": "PENDING",
  "id": "1212"
}

Permessi richiesti

Perm_W_Withdrawals

Ottieni lo stato di una richiesta di prelievo

Restituisce lo stato di una particola richiesta di prelievo.

Definizione

GET https://api.mybitx.com/api/1/withdrawals/:id

Argomenti

id string Obbligatorio ID di prelievo da recuperare.

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/withdrawals/1212

Risposta esempio

{
  "status": "COMPLETED",
  "id": "1212"
}

Permessi richiesti

Perm_R_Withdrawals

Annulla una richiesta di prelievo

Annulla una richiesta di prelievo. Ciò può essere effettuato solo se la richiesta è ancora PENDING.

Definizione

DELETE https://api.mybitx.com/api/1/withdrawals/:id

Argomenti

id string Obbligatorio ID del prelievo da annullare.

Richiesta esempio

$ curl -u keyid:keysecret -X DELETE https://api.mybitx.com/api/1/withdrawals/1212

Risposta esempio

{
  "status": "CANCELLED",
  "id": "1212"
}

Permessi richiesti

Perm_W_Withdrawals

Invia Bitcoin dal tuo conto a un indirizzo Bitcoin o a un indirizzo e-mail. Invia Ethereum dal tuo conto a un indirizzo Ethereum.

Nel caso in cui l’indirizzo e-mail non sia collegato a un conto Luno esistente, sarà inviato un invito a creare un conto e a richiedere i fondi.

Avvertenza! Le transazioni in criptovaluta sono irreversibili. Assicurati che il tuo programma sia stato completamente verificato prima di utilizzare questa chiamata.

Definizione

POST https://api.mybitx.com/api/1/send

Argomenti

amount string Obbligatorio Importo da inviare come stringa decimale.
currency string Obbligatorio Valuta da inviare ad esempio XBT
address string Obbligatorio Indirizzo di destinazione bitcoin, e-mail o Ethereum a cui inviare.

Nota:
  • Gli indirizzi Ethereum devono essere verificati tramite checksum.
  • Gli invii di Ethereum a indirizzi e-mail non sono supportati.
description string facoltativo Descrizione dell'operazione da registrare nell'estratto conto.
message string facoltativo Messaggio da inviare al destinatario. Si tratta di qualcosa di importante solo quando si invia a un indirizzo e-mail.

Richiesta esempio

curl \
  -u keyid:keysecret \
  -X POST \
  -d amount=0.001 \
  -d currency=XBT \
  -d [email protected] \
  -d description=Your+reference \
  -d message=Message+for+recipient \
  https://api.mybitx.com/api/1/send
        

Risposta esempio

{"success":true}

Permessi richiesti

Perm_W_Send

Le quotazioni ti permettono di bloccare un tasso di cambio per un breve periodo con la possibilità di accettare o rifiutare quotazioni.

Le quotazioni possono essere utili a diverse applicazioni orientate al cliente in cui le fluttuazioni del prezzo sarebbero confuse.

L’API è impiegata come di seguito: Innanzitutto crea una quotazione per la transazione che desideri effettuare. Se decidi di accettare la quotazione prima che scada, la confermerai. Se decidi di rifiutare la quotazione, allora la scarterai. Puoi inoltre recuperare lo stato della quotazione in qualsiasi momento.

Crea una quotazione

Genera una nuova quotazione per acquistare o vendere un determinato importo.

Hai la possibilità di specificare l'importo esatto che desideri pagare o quello che si desideri ricevere.

Ad esempio, per acquistare esattamente 0,1 Bitcoin utilizzando gli ZAR, dovresti generare una quotazione per ACQUISTARE 0,1 XBTZAR. Il preventivo che ne deriva include l’importo di ZAR adeguato. Per acquistare Bitcoin utilizzando esattamente 100 ZAR, dovrai creare una quotazione per VENDERE 100 ZARXBT. La quotazione che ne deriva specifica i Bitcoin e l’importo corrispettivo che sarà restituito.

Viene restituito un errore se il tuo conto non è verificato per la coppia di valute, o nel caso in cui il tuo conto disponga di un saldo insufficiente per potersi avvalere del preventivo.

Definizione

POST https://api.mybitx.com/api/1/quotes

Argomenti

type string Obbligatorio Tipologie possibili: BUY, SELL
base_amount string Obbligatorio Importo da acquistare o vendere nella coppia di valute di base.
pair string Obbligatorio Coppia di valute per negoziare, ad esempio: XBTZAR, XBTMYR, ETHXBT. La coppia può anche essere capovolta se si desidera acquistare o vendere la valuta del corrispettivo (ad esempio ZARXBT).

Richiesta esempio

curl \
  -u keyid:keysecret \
  -X POST \
  -d type=BUY \
  -d pair=XBTZAR \
  -d base_amount=0.1 \
  https://api.mybitx.com/api/1/quotes

Risposta esempio

{
  "id": "1324",
  "type": "BUY",
  "pair": "XBTZAR",
  "base_amount": "0.1",
  "counter_amount": "1234.24",
  "created_at": 1418377612342,
  "expires_at": 1418377912342,
  "discarded": false,
  "exercised": false
}

Permessi richiesti

Perm_W_Orders

Richiama una quotazione

Ottieni l’ultimo stato di una quotazione.

Definizione

GET https://api.mybitx.com/api/1/quotes/:id

Argomenti

id string Obbligatorio ID della quotazione da recuperare.

Richiesta esempio

$ curl -u keyid:keysecret https://api.mybitx.com/api/1/quotes/1324

Risposta esempio

{
  "id": "1324",
  "type": "BUY",
  "pair": "XBTZAR",
  "base_amount": "0.1",
  "counter_amount": "1234.24",
  "created_at": 1418377612342,
  "expires_at": 1418377912342,
  "discarded": false,
  "exercised": false
}

Permessi richiesti

Perm_R_Orders

Utilizza una quotazione

Utilizza un preventivo per effettuare la negoziazione. Se il saldo disponibile presente sul tuo conto è sufficiente, sarà effettuato un addebito e l’importo corrispettivo sarà accreditato.

Viene restituito un errore se la quotazione è scaduta o se il tuo saldo disponibile è insufficiente.

Definizione

PUT https://api.mybitx.com/api/1/quotes/:id

Argomenti

id string Obbligatorio ID della quotazione da esercitare.

Richiesta esempio

$ curl -u keyid:keysecret -X PUT https://api.mybitx.com/api/1/quotes/1324

Risposta esempio

{
  "id": "1324",
  "type": "BUY",
  "pair": "XBTZAR",
  "base_amount": "0.1",
  "counter_amount": "1234.24",
  "created_at": 1418377612342,
  "expires_at": 1418377912342,
  "discarded": false,
  "exercised": true
}

Permessi richiesti

Perm_W_Orders

Scarta una quotazione

Scarta una quotazione. Una volta che la quotazioneo è stata rifiutata, non può essere utilizzata neppure nel caso in cui non sia ancora scaduta.

Definizione

DELETE https://api.mybitx.com/api/1/quotes/:id

Argomenti

id string Obbligatorio ID della quotazione da scartare.

Richiesta esempio

$ curl -u keyid:keysecret -X DELETE https://api.mybitx.com/api/1/quotes/1324

Risposta esempio

{
  "id": "1324",
  "type": "BUY",
  "pair": "XBTZAR",
  "base_amount": "0.1",
  "counter_amount": "1234.24",
  "created_at": 1418377612342,
  "expires_at": 1418377912342,
  "discarded": true,
  "exercised": false
}

Permessi richiesti

Perm_W_Orders

Avviso Beta: Questa API è ancora in fase beta. Ciò significa che potrebbe ancora essere sottoposta a modifiche incompatibili.

L’API websocket API fornisce un accesso in streaming ai dati di mercato. Ciò risulta più efficiente e fornisce meno informazioni latenti rispetto a interrogare ripetutamente il libro ordini e le negoziazioni recenti, ma è più difficile da applicare.

Il protocollo di streaming funziona richiedendo al cliente di mantenere una registrazione del libro ordini in memoria. Successivamente sono stati inviati dei messaggi di aggiornamento dal server e il cliente li utilizza per aggiornare la propria copia del libro ordini. Se sono applicati correttamente e per intero, la visualizzazione del libro ordini da parte del cliente sarà identica a quella del server.

Protocollo

Lo stato del client è costituito dai seguenti dati:

  • numero di sequenza
  • serie di ordini d'acquisto (id, prezzo, volume)
  • serie di ordini di vendita (id, prezzo, volume)
  • Lista delle negoziazioni

Ogni messaggio di aggiornamento trasmesso dal server dispone di un unico numero sequenziale crescente. Il messaggio con il numero di sequenza n può essere applicato per dichiarare sequenza n-1 per produrre la sequenza di stato n.

Un messaggio può contenere più aggiornamenti che devono essere applicati attentamente e in ordine.

Se si riceve un aggiornamento al di fuori della sequenza (ad esempio la sequenza di aggiornamento n+2 o n-1 dopo la sequenza di aggiornamento n), il cliente non potrà proseguire e dovrà reinizializzare lo stato.

Si tratta di tre tipi di aggiornamento:

Crea

Aggiungi un ordine d'acquisto o di vendita con un dato id, prezzo e volume.

{
    "order_id": "12345678",
    "type": "BID",
    "price": "1234.00",
    "volume": "1.23"
}

Cancella

Rimuovere l’ordine dal libro ordini mediante un determinato ID.

{
    "order_id": "12345678"
}

Negozia

Riduci il volume sospeso di un ordine nel libro ordini (maker_order_id) e aggiungi una negoziazione alla relativa lista.

{
    "base": "0.1",
    "counter": "5232.00",
    "maker_order_id": "12345678",
    "taker_order_id": "87654321",
}

Esempi

È inserito un nuovo ordine al di sotto del mercato

In questo caso sarà inviato un messaggio di aggiornamento contenente un singolo aggiornamento di creazione.

È inserito un ordine a mercato che è immediatamente evaso

In questo caso sarà inviato un messaggio di aggiornamento contenente più aggiornamenti di negoziazione. Non ci saranno aggiornamenti di creazione dato che il nuovo ordine non si inserisce nel libro ordini.

È inserito un ordine che è parzialmente evaso

In questo caso, il messaggio di aggiornamento contiene più aggiornamenti di negoziazione e un aggiornamento di creazione. Il volume nell’aggiornamento di creazione è il volume restante per l’ordine.

Un ordine è interrotto

In questo caso, il messaggio di aggiornamento contiene un singolo aggiornamento di cancellazione.

Websocket

È possibile accedere al protocollo di streaming degli aggiornamenti precedentemente descritto mediante l’impiego di websocket. Il server invia, dapprima, lo stato corrente del libro ordini e, successivamente, i messaggi di aggiornamento il più rapidamente possibile. Sia il client sia il server devono inviare regolari messaggi keep alive per evitare la disconnessione durante i periodi di scarsa attività dei messaggi di aggiornamento.

Connetti al server websocket a: wss://ws.luno.com/api/1/stream/:pair

Avviso Beta: Questa API è ancora in fase beta. Ciò significa che potrebbe ancora essere sottoposta a modifiche incompatibili.

Il client deve iniziare con l’invio delle credenziali della chiave API:

{
    "api_key_id": "abcdef",
    "api_key_secret": "api_key_secret_goes_here"
}

Il server invierà quindi il libro ordini attuale in questo formato:

{
    "sequence": "24352",
    "asks": [
        {
            "id": "23298343",
            "price": "1234.00",
            "volume": "0.93",
        }
        ],
    "bids": [
        {
            "id": "3498282",
            "price": "1201.00",
            "volume": "1.22"
        }
        ],
    "timestamp": 1528884331021
}

successivamente il server invia messaggi come questi:

{
    "sequence": "24353",
    "trade_updates": null, // array of 0 or more trade updates
    "create_update": null, // null or 1 create update
    "delete_update": null, // null or 1 delete update
    "timestamp": 1528884332021
}

Un messaggio vuoto è un messaggio keep alive.

Nel caso di un errore durante l’elaborazione di un aggiornamento (ad esempio un aggiornamento fuori posto) o di un errore di rete o timeout (ad esempio un messaggio keep alive non ricevuto in tempo), il cliente deve interrompere la connessione e riconnettersi per reinizializzarne lo stato. È essenziale che i clienti applichino il backoff esponenziale per tutte le riconnessioni al fine di evitare il sovraccarico del server in caso di errori.

  • 2018-12-20: Aggiunto parametro before a GET /api/1/listtrades.
  • 16-07-2018: API del libro ordini aggregato aggiunta. I limiti di frequenza per i dati di mercato sono stati incrementati di 1 al secondo. I dati di mercato possono essere memorizzati nella cache per un massimo di 1 secondo.
  • 2018-06-29: Aggiunto il parametro post_only a POST /api/1/postorder.
  • 2018-06-15: Aggiornati URL SDK PHP e Python.
  • 13-06-2018: timestamp aggiunta al libro ordine dello streamer.
  • 2018-06-08: Aggiornato URL Go SDK.
  • 23-12-2017: maker_order_id e taker_order_id aggiunti agli aggiornamenti delle negoziazioni in streaming. order_iddeprecato.
  • 31-10-2017: OAuth2 non è più disponibile per le nuove richieste.
  • 16-10-2017: /api/1/trades aggiornato per restituire le tipologie BID o ASK e potrebbe ora non essere in sincronia con gli ultimi dati.
  • 02-07-2017: Server websocket aggiornato su wss://ws.luno.com.
  • 02-03-2017: /api/1/fee_info aggiunto, ciò restituisce le tue commissioni e il volume di trading di 30 giorni.
  • 21-11-2016: /api/1/trades restituisce ora fino a 100 risultati per richiesta.
  • 01-11-2016: Limite di creazione di 50 indirizzi di ricezione rimosso su POST /api/1/funding_address per permettere un numero illimitato di indirizzi di ricezione per ciascun conto. La frequenza di creazione di indirizzi è limitata a 1 all’ora, ciò permette delle sequenze massime di 10 richieste consecutive.
  • 10-08-2016: GET /api/1/listtrades aggiunto per permettere l’elenco delle negoziazioni recenti. Considera che le negoziazioni verranno presto rimosse dalla risposta di GET /api/1/listorders GET /api/1/orders/:id
  • 05-08-2016: Sezione API di streaming beta aggiunta
  • 2016-07-25: Aggiunto parametro beneficiary_id opzionale a POST /api/1/withdrawals.
  • 29-05-2016: Può venir restituito il codice di errore 429 quando si superano i limiti di frequenza. Questa sarà l’impostazione predefinita a partire dal 01-07-2016.
  • 04-04-2016: Campo aggiunto completed_timestamp alle GET /api/1/listorders risposte GET /api/1/orders/:id.
  • 05-06-2016: Aggiunto parametro opzionale since a GET /api/1/trades e aggiunto campo is_buy nella risposta.
  • 14-09-2015: POST /api/1/marketorder aggiunto per permettere l’inserimento di ordini di mercato.
  • 29-07-2015: Perm_R_Beneficiaries e permessi Perm_W_Beneficiaries aggiunti. Dovrai generare una nuova chiave API se richiedi questi permessi.
  • 08-06-2015: GET /api/1/withdrawals/ rinominato GET /api/1/withdrawals e POST /api/1/withdrawals/ rinominato POST /api/1/withdrawals per essere maggiormente coerente con gli altri endpoint. Le vecchie URL sono ora deprecate.
  • 28-05-2015: POST accounts aggiunto per la creazione di ulteriori conti in valute specifiche.
  • 07-05-2015: Campo "Name" alla risposta "Balance" aggiunto
  • 2015-04-25:
    • Sezione "Accounts" aggiunta.
    • Chiamate transazioni del conto e transazioni in sospeso aggiunte.
    • Sezione "Permissions" aggiunta.
    • Documenta i permessi richiesti per ogni chiamata.
    • Descrizione aggiornata della richiesta "invia". Non è più richiesto nessun pin.
    • Parametro "name" aggiunto a POST /api/1/funding_address.
  • 27-03-2015: Restituisce una lista di negoziazioni per un ordine su GET orders/:id se nell’ordine sono presenti delle negoziazioni.
  • 30-01-2015: Interpretazione chiarita dei base, counter, base_fee e counter_fee nella risposta dei list_ordersnel caso in cui la counter_fee non sia uguale a zero per gli ordini di acquisto e la base_fee non sia uguale a zero per gli ordini di vendita.
  • 17-12-2014: Il parametro dell’importo delle richieste di prelievo adesso esclude la commissione di prelievo.
  • 2014-12-12:
    • Nuovi preventivi API aggiunti.
    • La chiamata beta delle transactions è stata dichiarata obsoleta.
  • 04-12-2014: Il metodo di balance può essere ora richiamato senza nessun motivo di restituire tutti i bilanci del conto.
  • 2014-08-26:
    • Invia chiamata API aggiunto.
    • API OAuth2 aggiunto.
  • 10-06-2014: Gli ordini inseriti attraverso l’API non sono più soggetti a limiti diversi rispetto a quelli inseriti attraverso il sito web.
  • 2014-06-02:
    • Puoi ora creare più chiavi API con autorizzazioni diverse (ad esempio: sola lettura, lettura/scrittura).
    • Chiamate per elencare, creare, ottenere e cancellare le richieste di prelievo aggiunte.
    • Link alla libreria client Android aggiunta.
  • 2014-05-29:
    • Il nome preferito dell'host per le chiamate API è cambiato in api.mybitx.com.
    • Chiamata sperimentale per recuperare la lista delle transazioni aggiunta.
    • Chiamata per allocare i nuovi indirizzo di ricezione aggiunta.
    • La chiamata dell’indirizzo di ricezione restituisce ora l’importo ricevuto da quell’indirizzo.
    • Puoi ora richiedere listorders per restituire solo la lista degli ordini aperti.
  • 15-04-2014: Precedentemente, gli ordini creati mediante l’API sarebbero scaduti dopo 24 ore. Adesso, gli ordini creati mediante l’API non scadono. Il comportamento adesso è lo stesso degli ordini inseriti attraverso il sito web.
  • 2014-01-25:
    • Un nuovo richiamo del funding_address è stato aggiunto per ottenere l’indirizzo Bitcoin necessario per finanziare il tuo saldo del conto di negoziazione.
  • 2014-01-21:
    • L’API è stata estesa per supportare numerose coppie di beni.
    • Un nuovo richiamo del balance è stato aggiunto per richiedere il saldo del conto di negoziazione.
    • Tutte le URL sono state rinominate da /api/1/BTCZAR/x a /api/1/x?pair=XBTZAR. Le vecchie URL sono ora deprecate.
    • getlimits: Questa chiamata è stata dichiarata obsoleta. Utilizza invece il nuovo richiamo balance.
    • ticker: Il campo currency è ora dichiarato obsoleto.
    • orderbook: Il campo currency ora è dichiarato obsoleto.
    • trades: Il campo currency ora è dichiarato obsoleto.
    • listorders: I campi btc, zar, fee_btc e fee_zar ora sono dichiarati obsoleti. Utilizza invece i campi base, counter, fee_base, fee_counter.
    • L’indicatore di mercato integrato è stato rimosso dal momento che nessuno lo sta utilizzando.
    • Le funzioni deprecate continueranno a essere funzionanti per due mesi.
  • 2014-01-06:
    • listorders: Campi fee_btc e fee_zar aggiunti.
    • listorders: Stato del PAGAMENTO rimosso (non più rilevante).
    • ticker: Rimosso mtgox_price (al suo posto usare direttamente l’API Mt Gox).

Non è mai troppo tardi per iniziare.
Acquista, conserva e studia Bitcoin ed Ethereum adesso.

Desktop Icon Apple App Store Logo Google Play Store Logo