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:
- flags del comando
- variables de entorno
- credenciales guardadas en
~/.config/wapu-cli/config.json
Variables soportadas:
WAPU_API_BASE_URLWAPU_ACCESS_TOKENWAPU_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
870b6f8a0b0e3fa07c9f7b0a1c1975dfb21cd0f34963c587891e00277e04a28c
|
|
| MD5 |
9a573451ca6401cd146f6c9c52894042
|
|
| BLAKE2b-256 |
b70aaa7955fa1a5ebf936751736bec6cc279e1dd7d88e6de21f6dcc87a94c537
|
Provenance
The following attestation bundles were made for wapu-0.2.0.tar.gz:
Publisher:
publish.yml on wapu-app/wapu-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wapu-0.2.0.tar.gz -
Subject digest:
870b6f8a0b0e3fa07c9f7b0a1c1975dfb21cd0f34963c587891e00277e04a28c - Sigstore transparency entry: 1180858167
- Sigstore integration time:
-
Permalink:
wapu-app/wapu-cli@e38734f2cd66e89d376affe1bbbf0878a2b43de9 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/wapu-app
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e38734f2cd66e89d376affe1bbbf0878a2b43de9 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be60df20246dbaf376d7fd27fe8fe23d02388c293aa010cbae5bad2a9961bc1b
|
|
| MD5 |
72595824fdb37e85fe52c061a4b0264e
|
|
| BLAKE2b-256 |
ace308d4ae7d5762c2b98d415de08ba4b230e22297a76465208d925f2a7c32db
|
Provenance
The following attestation bundles were made for wapu-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on wapu-app/wapu-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wapu-0.2.0-py3-none-any.whl -
Subject digest:
be60df20246dbaf376d7fd27fe8fe23d02388c293aa010cbae5bad2a9961bc1b - Sigstore transparency entry: 1180858208
- Sigstore integration time:
-
Permalink:
wapu-app/wapu-cli@e38734f2cd66e89d376affe1bbbf0878a2b43de9 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/wapu-app
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e38734f2cd66e89d376affe1bbbf0878a2b43de9 -
Trigger Event:
release
-
Statement type: