roccomuso / xmr.to

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

Home Page:https://xmr.to

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

https://xmr.to

License:MIT License


Languages

Language:JavaScript 100.0%