For building apps which control money and most importantly for testing anypay in production.
npm install --save anypay-simple-wallet
- BSV_PRIVATE_KEY
- BTC_PRIVATE_KEY
- BCH_PRIVATE_KEY
- DASH_PRIVATE_KEY
- LTC_PRIVATE_KEY
- DOGE_PRIVATE_KEY
- XRP_PRIVATE_KEY
- XMR_SIMPLE_WALLET_SEED
The Wallet implements the JSON Payment Protocol V2 Spec compatible with AnypayX.com and Bitpay.com
import { Wallet } from 'anypay-simple-wallet'
let wallet = Wallet.fromWIF(process.env.WIF)
let balance = await wallet.getBalance()
let transaction = await wallet.buildTransaction([{
address: "1VxvyqNXXYdC8xHSW8VQTsHbrCdG2BBJ6",
amount: 5000,
}, {
address: "17du1ERGCG4Cwpm2N4GQHzKo8R3XVEJ33t",
amount: 5000
}])
All protocol methods are defined and available using the protocol client with built in validation.
import { Client, Wallet } from 'anypay-simple-wallet'
let client = new Client('https://anypayx.com/i/3kbn9ids')
let { paymentOptions } = await client.getPaymentOptions()
let paymentOption = paymentOptions.filter(option => option.currency === 'BSV')[0]
let paymentRequest = await client.selectPaymentOption(paymentOption)
let wallet = Wallet.fromWIF(process.env.WIF)
let payment = await client.sendPayment(wallet, paymentRequest)
To test a local implementation of the protocol within a Hapi or Supertest-compatible webserver use TestClient as a drop-in replacement for Client.
import { app } from '../'
import { TestClient } from 'anypay-simple-wallet'
import * as supertest from 'supertest'
const server = supertest(app)
const client = new TestClient(server, `/i/3kbn9ids`)
let { paymentOptions } = await client.getPaymentOptions()