API
REST y JSON, definida en openapi.yaml. Solo testnet.
El contrato es openapi.yaml. Abrir la referencia completa de la API (en inglés) →
Endpoints
| Endpoint | Autenticación | Qué hace |
|---|---|---|
GET /v1/info | — | Red, pool, activo y modos habilitados |
POST /v1/onboarding | Firma SEP-53 | Registra las llaves, corre el KYC simulado y pide la allow-list |
GET /v1/users/{account} | — | Estado del KYC y de la allow-list |
POST /v1/intents | Firma SEP-53 | Crea un intent de rampa y devuelve la URL interactiva del anchor (solo aquí) |
GET /v1/intents/{id} | — | Estado y hashes on-chain (nunca la URL interactiva) |
POST /v1/asp/block | ADMIN_TOKEN | Bloquea una llave (block-list) |
POST /v1/asp/unblock | ADMIN_TOKEN | Desbloquea una llave |
GET /v1/audit/transactions | AUDITOR_TOKEN | Actividad del pool descifrada con la llave de vista |
GET /v1/audit/public/{tx_hash} | — | Lo que cualquiera ve de una transacción |
Errores
Cada error tiene un código estable:
{ "error": "user_not_allowed", "message": "…" }| Estado | Códigos frecuentes |
|---|---|
| 400 | invalid_request, invalid_signature, invalid_key, invalid_limit |
| 401 | unauthorized |
| 404 | not_found |
| 409 | account_already_onboarded, pool_key_already_registered, user_not_allowed, ramp_mode_disabled |
| 502 / 503 | anchor_unavailable, service_unavailable |
Estados de un intent
| Estado | Significado |
|---|---|
awaiting_anchor | El usuario tiene que pagar en el anchor |
funds_received | El pago del anchor está confirmado y en custodia de Shield |
shielding | Se está enviando el depósito al pool |
transferring | Se está enviando la transferencia privada |
completed | El saldo privado es del usuario |
rejected, expired, error | Final; ver message |