Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

transferwise

13pass325MPL-2.02.2.0

A simple client for Wise's API written in Node JS (ES7)

wise, api, client

readme

Wise API Client

Important Update: Due to recent changes announced by Wise regarding their API functionality, specifically in alignment with the Payment Services Directives (PSD2), certain features previously available through this client might no longer be supported. Specifically, the use of signing API requests for completing strong customer authentication on personal Wise accounts, retrieving account statements, and funding payments via the API have been disabled. While draft transfers can still be created through the API, they must now be funded directly from your multi-currency account using the Wise website or mobile applications. In light of these changes, this repository may not receive further updates.

A simple client for Wise's API written in Node JS (ES7).

Official docs are found here;

Installation

To install simply use npm or clone repo:

npm install transferwise

or clone repo and make link:

$> git clone git@github.com:13pass/wise-client.git

Usage

This does not cover all Wise's API yet, but this repository will hopefully be updated to reflect the API.

To init just plug in your apiTokenKey like so:

const Wise = require('transferwise');

const wiseClient = new Wise({
  apiTokenKey: '01234567-890a-bcde-f012-3456789abcde',
});

API

This client uses some of the API endpoints and provides it as a Promise-based client.

below an example of actions that can be achieved with this client:

Example using a sandbox account

const config = require('dotenv').config();
const Wise = require('transferwise');

const options = {
  apiKey: config.parsed.TW_API_KEY,
  sandbox: true,
};

const wiseClient = new Wise(options);

(async () => {
  const profiles = await wiseClient.getProfilesV2({});
  console.log(profiles);
  const profileId = profiles[0].id;
  const balances = await wiseClient.getBalancesV3({
    profileId,
  });
  for (const balance of balances) {
    console.log(balance);
  }
  let quote = await wiseClient.createQuoteV2({
    profileId,
    sourceCurrency: 'EUR',
    targetCurrency: 'GBP',
    targetAmount: 19.84,
    payOut: 'BALANCE',
  });
  console.log(quote);
  if (quote.createdTime) {
    if (quote.rate > 0.85) {
      let conversionTransaction = await wiseClient.convertCurrenciesV2({
        profileId,
        quoteId: quote.id,
      });
      console.log(conversionTransaction);
    }
  }
})();

changelog

CHANGELOG

2.2.0 - 2025-10-08

  • update prod API url to reflect changes on Wise API
  • upgrade dependency axios

2.1.1 - 2025-04-17

  • update method getExchangeRatesV1 to reflect changes on Wise API by merging work done by Ryan Sadler
  • upgrade a bunch of dependencies

2.0.7 - 2022-10-08

  • Add method createQuoteV3 to create a quote for a profile

2.0.6 - 2022-06-17

  • Add .idea to gitignore
  • Replace getBorderlessAccounts by getBalancesV3 to fix README.md file
  • Capitalize name of each API section
  • add method getExchangeRatesV1 to class WiseClient

2.0.5 - 2022-05-2`

  • Fix method convertCurrenciesV2 by adding header X-Idempotence-Uuid to request

2.0.4 - 2019-03-12

  • Upgrade dependency minimist package from v1.2.5 to v1.2.6

2.0.3 - 2022-02-22

  • Rename github repository from transferwise-client to wise-client
  • Rename TransferWise to Wise in README.md file
  • Rename TransferWise to Wise in package.json file

2.0.2 - 2022-02-21

  • Correct README.md Usage part.

2.0.1 - 2022-02-21

  • Change the name of the package back to transferwise since wise is not available.

2.0.0 - 2022-02-21

  • Total rework of the transferwise client
    • Add CHANGELOG.md file.
    • Add tests using jest.
    • Change the name of the package in consequence of the name of the service from transferwise to wise.
    • Add support for strong-customer-authentication using option scaPrivateKey.
    • Upgrade API endpoints calls to use its newer versions.
    • Upgrade to node LTS version 16.