Skip to content

Latest commit

 

History

History
109 lines (84 loc) · 2.97 KB

README.md

File metadata and controls

109 lines (84 loc) · 2.97 KB

xmr.to NPM Version node Dependency Status JavaScript Style Guide bitcoin

Fully tested Browser and Node.js Xmr.to API client

Anonymously exchange XMR to Bitcoin with few lines of code.

Install

npm install --save xmr.to

Usage

const XmrTo = require('xmr.to')

;(async () => {

  const cs = new XmrTo()

  const params = await cs.getParams()
  console.log(params)
  /*
  { zero_conf_enabled: true,
      price: 0.011923,
      upper_limit: 20,
      lower_limit: 0.001,
      zero_conf_max_amount: 0.1 }
  */
})()

Make an exchange order

const xmr = new XmrTo()

// create order
const {
  state,
  btc_amount: btcAmount,
  btc_dest_address: destAddress,
  uuid } = await xmr.createOrder(1, '1L9CB5LzX2JkjGS28t5QKtQWAF6uU8dbB')

// query order
const {
  xmr_receiving_address: receivingAddress,
  xmr_amount_total: amountToSend,
  state
} = await xmr.queryOrder(uuid)

/*
// queryOrder(uuid) result:

{ xmr_price_btc: 0.01180468,
  uuid: 'xmrto-6zSPYD',
  state: 'UNPAID',
  btc_amount: 1,
  btc_dest_address: '1L9CB5LzX2JkjGS28t5QKtQWAF6uU8dbB',
  xmr_required_amount: 84.7122,
  xmr_receiving_address:
   '45LaGeQ2AFsiGHKi9KKTKR1XjCb2pgve9c7FgL1qTXzvNfHjVuo1YntAxg8J6q7ewVgrQmWsm4Ry92JYFke2fvQXHhQAtf7',
  xmr_receiving_integrated_address:
   '4F3FHTDWmXPiGHKi9KKTKR1XjCb2pgve9c7FgL1qTXzvNfHjVuo1YntAxg8J6q7ewVgrQmWsm4Ry92JYFke2fvQXRdUKcRXCm1FK1Hd2uu',
  xmr_required_payment_id_long:
   'ae44a36b61298a5d5d8404c280e7dd059b5d4e570cbaf3957afc70e1c8171a97',
  xmr_required_payment_id_short: '3efc91e28f0b969f',
  created_at: '2018-12-16T23:44:05Z',
  expires_at: '2018-12-16T23:59:05Z',
  seconds_till_timeout: 899,
  xmr_amount_total: 84.7122,
  xmr_amount_remaining: 84.7122,
  xmr_num_confirmations_remaining: -1,
  xmr_recommended_mixin: 11,
  btc_num_confirmations_before_purge: 144,
  btc_num_confirmations: 0,
  btc_transaction_id: '' }
*/

console.log(`
==============
UUID: ${uuid}
State: ${state}
Deposit: XMR (${amountToSend})
Receive: BTC (${btcAmount})
Exchange Address: ${receivingAddress}
==============
`)

Methods

Method Name Return Description
.getParams() Object Returns information wether new orders can be created
.createOrder(<btc amount>, <btc address>) Object Create a new order. It will return transaction object with an uuid to query for the order detail.
.queryOrder(<uuid>) Object Get order detail given a UUID

Test

npm test

Debug

To enable debug set the env var DEBUG=xmr.to

License

MIT