Skip to main content

CLI for interacting with the WapuPay backend

Project description

Wapu CLI

CLI en Python para interactuar con el backend de WapuPay desde terminal, scripts y agentes.

Qué es y por qué importa

wapu-cli es una interfaz de línea de comandos para integrar depósitos por Lightning y retiros fiat desde herramientas, scripts y flujos automatizados. Está pensada para developers, operadores y equipos que quieran conectar productos sobre Bitcoin/Lightning con una experiencia real de entrada y salida para usuarios finales.

El problema que resuelve no es solamente "usar Wapu", sino reducir una fricción concreta en la adopción de Lightning: mover valor entre el ecosistema Lightning y moneda local de manera simple, programable y utilizable desde software. En ese sentido, el proyecto funciona como un puente para builders que ya están construyendo sobre Lightning/Bitcoin y necesitan una vía práctica de off-ramp para sus usuarios.

Además, la propuesta sí se apoya directamente en Lightning como parte central del flujo:

  • permite crear depósitos Lightning
  • expone la Lightning Address del usuario para recibir fondos
  • habilita automatización y operación desde terminal, scripts y agentes

Esto hace que el proyecto sea relevante no solo como herramienta de integración con WapuPay, sino como infraestructura de adopción para casos de uso reales sobre Lightning.

Alcance y arquitectura

Este CLI consume un backend porque el problema que resuelve incluye operaciones con dinero fiat, cumplimiento operativo y ejecución de retiros. Un off-ramp no puede funcionar en modo offline: por definición requiere comunicación con servicios que mueven fondos y validan estado.

La apuesta del proyecto está en ofrecer una interfaz simple y programable sobre ese flujo, de forma que nuevos productos puedan integrar depósitos Lightning y retiros ARS sin tener que reinventar la operación completa. Hoy la implementación está conectada al backend de WapuPay, pero el valor del proyecto está en la experiencia de integración que habilita para el ecosistema Lightning.

Instalación

uv venv
uv sync --dev

Luego puedes usar:

uv run wapu --help
uv run python -m wapu_cli --help

Cuando esté publicado en PyPI, también podrás ejecutarlo directamente con:

uvx wapu --help

Configuración

Precedencia de configuración:

  1. flags del comando
  2. variables de entorno
  3. credenciales guardadas en ~/.config/wapu-cli/config.json

Variables soportadas:

  • WAPU_API_BASE_URL
  • WAPU_ACCESS_TOKEN
  • WAPU_API_KEY

Backend de test por default:

https://be-prod.wapu.app

Auth

Guardar una API key:

uv run wapu auth login --api-key '...'

Guardar un JWT:

uv run wapu auth login --email you@example.com --password '...'

Ver estado local:

uv run wapu auth status

Borrar credenciales:

uv run wapu auth logout

Comandos MVP

Balance:

uv run wapu balance

Crear depósito Lightning:

uv run wapu deposit lightning create --amount 10 --currency SAT

Obtener la Lightning address:

uv run wapu deposit lightning address

Listar transacciones:

uv run wapu tx list

Obtener una transacción:

uv run wapu tx get 2b753493-687b-431f-8d85-f9b4cb99199e

Crear retiro ARS:

uv run wapu withdraw ars --type fiat_transfer --alias test.alias --amount 100 --receiver-name 'Test Receiver'
uv run wapu withdraw ars --type fast_fiat_transfer --alias test.alias --amount 100

Salida

Formatos:

uv run wapu --json balance
uv run wapu --yaml balance
uv run wapu --output json balance
uv run wapu --output yaml balance
uv run wapu --output table tx list

Modo silencioso:

uv run wapu --quiet balance

Tests

uv run pytest

Smoke Test Manual

Para correr un smoke test real del CLI contra stage usando comandos uv run wapu ..., usa:

uv run python scripts/smoke_test_cli.py

La guía completa y las variables de entorno soportadas están en docs/smoke-test-cli.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wapu-0.2.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wapu-0.2.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file wapu-0.2.0.tar.gz.

File metadata

  • Download URL: wapu-0.2.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wapu-0.2.0.tar.gz
Algorithm Hash digest
SHA256 870b6f8a0b0e3fa07c9f7b0a1c1975dfb21cd0f34963c587891e00277e04a28c
MD5 9a573451ca6401cd146f6c9c52894042
BLAKE2b-256 b70aaa7955fa1a5ebf936751736bec6cc279e1dd7d88e6de21f6dcc87a94c537

See more details on using hashes here.

Provenance

The following attestation bundles were made for wapu-0.2.0.tar.gz:

Publisher: publish.yml on wapu-app/wapu-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wapu-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: wapu-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wapu-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be60df20246dbaf376d7fd27fe8fe23d02388c293aa010cbae5bad2a9961bc1b
MD5 72595824fdb37e85fe52c061a4b0264e
BLAKE2b-256 ace308d4ae7d5762c2b98d415de08ba4b230e22297a76465208d925f2a7c32db

See more details on using hashes here.

Provenance

The following attestation bundles were made for wapu-0.2.0-py3-none-any.whl:

Publisher: publish.yml on wapu-app/wapu-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page