API di Luno

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

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

  • Accedi ai dati di mercato, attuali e passati, relativi a Bitcoin ed Ethereum
  • Invia ordini di trading e visualizza lo stato dell’ordine
  • Acquista e vendi Bitcoin ed Ethereum
  • Invia e ricevi Bitcoin ed Ethereum
  • Indirizzi generati del portafogli 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 al mercato dati 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 applicate 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.

Sigla di negoziazione

Restituisce i più recenti indicatori delle sigle di segnalazione.

Definizione

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

Motivazioni

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

Motivazioni

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. Numerosi ordini 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

Motivazioni

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

Motivazioni

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 che l'applicazione si autentichi autonomamente. Ciò avviene utilizzando una chiave API associata al tuo conto. Puoi creare una chiave API visitando la sezione delle chiavi API alla 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 su 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 aperto). 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

Motivazioni

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 voci della transazione da 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

Motivazioni

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

Motivazioni

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 confronto ordine. 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

Motivazioni

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

Motivazioni

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à di 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 solo mediante servizio postale saranno cancellati nel caso in cui altrimenti sarebbero stati negoziati immediatamente. Ad esempio, se c'è un'offerta a 100.000 ZAR ed esegui una richiesta solo via posta a 100.000 ZAR, il tuo ordine sarà annullato anziché negoziato. Se la miglior offerta è di 100.000 ZAR ed esegui una richiesta solo via posta 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 di mercato

Crea un nuovo ordine di 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 di mercato viene eseguito immediatamente e, o acquista l’importo massimo di Bitcoin per un determinato importo di moneta fiat, o vende un determinato importo di Bitcoin in cambio di più moneta fiat possibile.

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

Motivazioni

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

Interrompi un ordine

Richiedi di interrompere un ordine.

Definizione

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

Motivazioni

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

Fai un ordine

Fai un ordine tramite il suo id.

Definizione

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

Motivazioni

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 recenti negoziazioni per una data coppia, elencate in ordine cronologico, dalla prima effettuata in avanti.

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

Motivazioni

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

Motivazioni

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

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

Motivazioni

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 indirizzo di destinazione

Assegna un nuovo indirizzo di ricezione 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

Motivazioni

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 tipo.
beneficiary_id string facoltativo L'ID del beneficiario del conto bancario sul quale verrà effettuato il prelievo. Questo parametro è necessario se disponi di più conti bancari. L'ID del beneficiario del conto bancario 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

Motivazioni

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

Motivazioni

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

Motivazioni

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 eserciterai. Se decidi di rifiutare la quotazione, allora la scarterai. Puoi inoltre recuperare lo stato della quotazione in qualsiasi momento.

Crea un preventivo

Crea un nuovo preventivo 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 creare un preventivo 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 un preventivo per VENDERE 100 ZARXBT. Il preventivo 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

Motivazioni

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

Ottieni un preventivo

Ottieni l’ultimo stato di un preventivo.

Definizione

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

Motivazioni

id string Obbligatorio ID del preventivo 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 un preventivo

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 il preventivo è scaduto o se il tuo saldo disponibile è insufficiente.

Definizione

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

Motivazioni

id string Obbligatorio ID del preventivo 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 un preventivo

Scarta un preventivo. Una volta che il preventivo è stato rifiutato, non può essere utilizzato neppure nel caso in cui non sia ancora scaduto.

Definizione

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

Motivazioni

id string Obbligatorio ID del preventivo 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 di 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.

L’API per esercenti di Luno è attualmente disponibile solo a partner di grandi volumi. Se sei interessato a integrare pagamenti in Bitcoin come un esercente, contatta l’ Assistenza Luno.

  • 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.
  • 29-06-2018: Aggiungi parametro post_only a POST /api/1/postorder.
  • 15-06-2018: Aggiornamento degli URL PHP e Python SDK.
  • 13-06-2018: timestamp aggiunta al libro ordine dello streamer.
  • 08-06-2018: Aggiornamento dell’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