Skip to content

brahimhamichan/wise-cli

Repository files navigation

Wise icon

wise-cli

An unofficial, open source CLI for the Wise Platform API.

npm CI License: MIT Node.js >=20 skills.sh

Use the Wise Platform API from your terminal.

wise-cli is an independent TypeScript CLI for the current Wise Platform API. It wraps profile, balance, recipient, quote, transfer, statement, and currency endpoints behind one command surface while leaving a raw wise api escape hatch for newly released endpoints.

wise-cli terminal demo

This first public release is intentionally conservative:

  • It is built around the currently documented Wise production and sandbox APIs.
  • It supports personal-token auth out of the box.
  • It keeps dynamic payloads as JSON bodies so the CLI stays compatible with Wise's mixed endpoint versions and changing requirements.
  • It is independent and not affiliated with Wise.

Legal disclaimer

wise-cli is an open source community project. It is not affiliated with, sponsored by, endorsed by, or maintained by Wise Payments Limited, Wise plc, Wise.com, or any Wise group company.

Wise, Wise Platform, Wise.com, and TransferWise are trademarks or registered trademarks of Wise Payments Limited or its affiliates. Any use of those names in this project is solely for identification, interoperability, and documentation of the public Wise Platform API.

This project does not provide financial, legal, tax, or compliance advice. You are responsible for complying with Wise's terms, API requirements, token permissions, regional restrictions, and all applicable laws when using this CLI.

Why use it?

  • Avoid memorizing Wise's mixed API endpoint versions for common workflows.
  • Automate Wise API tasks from scripts, CI jobs, and agent workflows.
  • Keep using newly released or specialized endpoints through wise api.

Install

The GitHub repo is public as brahimhamichan/wise-cli. The npm package is scoped as @brahimhamichan/wise-cli because the unscoped wise-cli name is already taken on npm.

npm install -g @brahimhamichan/wise-cli

You can also install directly from GitHub:

npm install -g github:brahimhamichan/wise-cli

Or run it directly from the repo:

npm install
npm run build
node ./bin/run.js --help

Authenticate

Generate a personal token in Wise:

Your Account > Integrations and tools > API tokens > Add new token

Store it locally:

wise auth login --token "$WISE_TOKEN"
wise auth status

Or use environment variables for stateless runs:

export WISE_TOKEN="..."
export WISE_PROFILE_ID="12345678"

Supported environment variables:

  • WISE_TOKEN or WISE_API_TOKEN
  • WISE_PROFILE_ID
  • WISE_BASE_URL
  • WISE_TIMEOUT_MS
  • WISE_OUTPUT

The local config file lives at ~/.config/wise-cli/config.json and is written with 0600 permissions.

Important limits

Wise's current docs matter here:

  • Base URLs are https://api.wise.com and https://api.wise-sandbox.com.
  • Endpoint versions are mixed by resource. This CLI hides that internally.
  • Personal tokens have limits. In the EU/UK they cannot fund transfers or view balance statements via API.
  • SCA and Wise approval settings can still block valid transfer requests.

If you need something newly added or more specialized, use wise api.

Commands

wise auth login|status|logout
wise profile list|show
wise balance list|show|create|close
wise currency list
wise recipient list|show|create|delete|requirements
wise quote preview|create|show|update
wise transfer list|show|requirements|create|fund|payments|cancel|receipt
wise statement get
wise api <method> <path>

Examples

List profiles:

wise profile list --output json

List balances for the configured profile:

wise --profile-id 12345678 balance list

Create a quote from a JSON file:

wise --profile-id 12345678 quote create --body @examples/quote.json

Check recipient requirements for a quote:

wise recipient requirements 987654321

Create a transfer:

wise transfer create --body @examples/transfer.json

Download a PDF receipt:

wise transfer receipt 123456789 --out ./receipt.pdf

Download a JSON statement:

wise --profile-id 12345678 statement get 99887766 \
  --currency EUR \
  --start 2025-03-01T00:00:00.000Z \
  --end 2025-03-31T23:59:59.999Z \
  --format json

Raw API escape hatch:

wise api GET /v2/profiles
wise api POST /v1/transfers --body @transfer.json

More copy-paste workflows:

Skill

The repo also ships a Codex skill at skills/wise-api-cli/ so the same repository can be used as both a CLI and a reusable agent skill for Wise API automation.

Install the skill directly from GitHub:

npx skills add https://github.com/brahimhamichan/wise-cli --skill wise-api-cli

skills.sh indexing is telemetry-based from skills add installs, so discovery can lag until at least one telemetry-enabled install has been recorded and the skills.sh cache refreshes.

Roadmap

  • Webhook helper commands for event-driven Wise automation.
  • Batch transfer and batch quote workflows.
  • Shell completions for common command flags.
  • Interactive auth and profile selection.
  • Additional statement formats and export helpers.

Development

npm install
npm run build
npm test
npm run pack:check

Sources

The current implementation and references were aligned against Wise's public docs:

About

Unofficial TypeScript CLI for the Wise Platform API: profiles, balances, recipients, quotes, transfers, statements, and raw API calls.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors