API v1
Base: http://127.0.0.1:8097. Contrato máquina-legible en /openapi.json. Todas las rutas son read-only salvo creación de scans y escrituras de watchlist, que exigen Authorization: Bearer ADMIN_TOKEN cuando corresponde.
Scans
| Método | Ruta | Qué devuelve |
| POST | /api/v1/scans | {mint, refresh?} → {scan_id, status, reused} |
| GET | /api/v1/scans/{id} | estado, pasos y cola |
| GET | /api/v1/scans/{id}/report | informe congelado con evidence_hash |
| GET | /api/v1/scans/{id}/events | SSE de progreso (1 evento/s) |
| GET | /api/v1/scans/{id}/export.json | descarga JSON |
| GET | /api/v1/scans/{id}/export.csv | descarga CSV (UTF-8 BOM) |
Tokens, grafo y simulación
| Método | Ruta | Qué devuelve |
| GET | /api/v1/tokens/{mint} | resumen + histórico de precios |
| GET | /api/v1/tokens/{mint}/holders | holders paginados por cursor |
| GET | /api/v1/tokens/{mint}/graph | aristas y clusters del informe |
| GET | /api/v1/tokens/{mint}/first-buyers | primeras entradas reconstruidas |
| GET | /api/v1/tokens/{mint}/liquidity | pools, LP y simulación |
| POST | /api/v1/simulations | simulación pura, sin side effects |
Radar, watchlist y salud
| Método | Ruta | Qué devuelve |
| GET | /api/v1/radar | items con estado, fuente y lag_seconds |
| GET | /api/v1/watchlist | items seguidos |
| POST / DELETE | /api/v1/watchlist | alta/baja (admin) |
| GET | /api/v1/alerts | alertas deduplicadas |
| GET | /health/live · /health/ready | salud sin secretos |
| GET | /admin/health | telemetría RPC, cola y radar (admin) |
Ejemplo
curl -s -X POST http://127.0.0.1:8097/api/v1/scans \
-H 'content-type: application/json' \
-d '{"mint":"4nLZMZ7h2W2R5NcABrPAmiUCYM6Mp9LwcmBtyiTypump"}'
curl -s http://127.0.0.1:8097/api/v1/scans/<id>/report | jq '.score.verdict, .score.adjustedScore, .simulation.priceImpact'
SRR no firma ni envía transacciones. Un veredicto CLEAN significa "sin señales de riesgo en los datos leídos", no una garantía ni una recomendación de inversión.