Dashboard para developers
Consola web en dashboard-accesly.vercel.app donde creás apps, configurás branding, gestionás API keys y monitoreás usuarios.
Acceso al dashboard
El dashboard corre auth propia con Cognito developer pool. Podés registrarte con:
- Google: OAuth federado. Recomendado.
- Email + password: signup clásico con confirmación por email.
Una vez adentro, la primera vez el dashboard te pide crear tu primer app. Un developer puede tener múltiples apps (por ejemplo uno testnet para dev y uno mainnet para prod).
Crear tu primer app
- Click "Crear app nueva" en el sidebar.
- Ingresá nombre del app (visible al usuario final, ejemplo "MiFintech").
- Seleccioná environment: dev, staging o prod. Determina qué backend URL usa el SDK.
- Seleccioná network: testnet o mainnet. Inmutable después de crear.
- Agregá al menos un redirect URI de OAuth. Ejemplo:
http://localhost:5173/auth/callbackpara dev local. - Click "Crear". El backend genera un
appIdtipoapp_d_prueba1_j42h0.
El appId es la única cosa que necesita el SDK. Copialo de la página del app y ponelo en tu .env como VITE_ACCESLY_APP_ID (o el equivalente de tu bundler).
Estructura del sidebar
Cada app tiene su propio sub menu con estas secciones:
| Sección | Uso |
|---|---|
| Overview | Resumen ejecutivo: wallets creadas, TPS, alertas activas. |
| Users | Lista de todos los usuarios end del app. Search, filtros, status chip. |
| Metrics | Gráficos y KPIs. Export CSV / JSON. |
| Settings | Config del app: branding, redirect URIs, providers de auth, trustlines habilitadas. |
| API keys | Crear, rotar y revocar keys server to server. |
| Webhooks | Registrar endpoints para eventos del backend. |
| Contracts | Version del Smart Account WASM que usa el app. Historial de upgrades. |
| Audit logs | Trail completo de operaciones del app. |
| Dev tools | Snippets de integración copy paste para Vite, Next.js, Astro y React Native. |
Branding
En Settings, sección "Branding", configurás cómo se ve el SDK en tu app. Los componentes del kit leen esta config automáticamente vía useBranding().
- Display name: nombre visible del app.
- Logo URL: imagen que reemplaza el default Mark de Accesly.
- Primary color: color base para botones y accents. Se escribe como
--accesly-primaryCSS var. - Secondary color: color de degradado. Combinado con primary hace
--accesly-grad. - Landing title / highlight / subtitle: textos custom en la pantalla de landing del SDK. Soportan
{appName}como interpolación. - Login button text: texto del botón principal de signup (default "Iniciar sesión").
El editor tiene autosave con debounce 1.2 segundos. Ves un preview live a la derecha del formulario mientras editás.
Cuando cambiás branding y guardás, el SDK en tu app cliente lo detecta al próximo poll de useAppConfig (default 60s). Podés forzar refresh con refetch().
Providers de autenticación
En Settings, sección "Auth providers", habilitás o deshabilitás:
- Email + password: signup clásico.
- Google: OAuth federado via Cognito Hosted UI.
- Phone: SMS OTP (en roadmap, activable bajo request).
El componente <AuthForm /> del kit lee esta config y renderiza solo los providers habilitados. Si deshabilitás Google, el botón desaparece del UI de tus users al próximo refresh.
Redirect URIs para OAuth
Cognito valida estrictamente la URL de callback en el flow OAuth. Cualquier URL desde donde vas a lanzar login con Google tiene que estar registrada en Settings.
Ejemplos típicos:
http://localhost:5173/auth/callback(Vite dev)http://localhost:3000/auth/callback(Next.js dev)http://localhost:4321/demo/auth/callback(Astro con sub path)https://mi-app.com/auth/callback(prod)
Si te olvidás de registrar una URL, Cognito devuelve redirect_mismatch al usuario en el consent screen de Google. Es el error #1 que reportan integradores nuevos.
API keys server to server
Para operaciones server side (procesar webhooks, buscar users por script, integraciones batch), creás API keys en la sección "API keys".
- Live keys:
sk_live_*. Producción. Tienen acceso a todos los endpoints/v1/*. - Test keys:
sk_test_*. Sandbox. Solo apps testnet.
Al crear una API key, el secret se muestra una única vez en pantalla. Copialo y guardalo en tu vault de secrets (AWS Secrets Manager, HashiCorp Vault, Doppler). Si lo perdés, tenés que rotar la key.
Webhooks
Registrás endpoints HTTPS para recibir eventos del backend. En "Webhooks" agregás:
- URL del endpoint (HTTPS obligatorio).
- Lista de eventos suscritos (
wallet.created,tx.completed,kyc.updated, etc.). - Secret para verificar firma HMAC de las requests entrantes.
El backend Accesly hace retry con exponential backoff si tu endpoint responde algo distinto a 2xx. Después de 5 retries fallidos, el evento se marca como dead letter y podés verlo en la sección de webhooks con opción de re dispatch manual.
Users, Metrics, Audit logs
Tres vistas para operar el app:
- Users: cada row es un usuario end del app. Muestra userId (Cognito sub), walletAddress, G address, fecha de creación, KYC status, y un chip de estado ("active", "wallet", "no wallet"). Búsqueda por email, wallet o handle.
- Metrics: gráficos de barras y líneas para wallets creadas por día, transacciones completadas, volumen swap. Export CSV / JSON para análisis externo.
- Audit logs: trail completo de acciones. Filtrable por user, action, resultado. Retención 90 días.
Dev tools
La sección "Dev tools" tiene tabs para tu framework (React + Vite, Next.js, React Native). Cada tab muestra snippets copy paste con tu appId, tu env, y tus redirect URIs ya inyectados.
Los snippets incluyen: instalación de paquetes, config .env, main.tsx con AcceslyProvider, App.tsx con AuthCallback route, y vite.config.ts con polyfills. Todo listo para pegar en tu proyecto.
App switching
Arriba a la izquierda del sidebar hay un dropdown que muestra el app activo. Click para ver todos tus apps y switchear. Al switchear, el sidebar preserva la sub ruta (si estabas en Users, quedás en Users del app nuevo).
Cuenta developer
En el sidebar bajo "Cuenta" hay dos ítems:
- Perfil: cambiar nombre, avatar, email de contacto.
- Preferencias: toggle light / dark mode, idioma (español o inglés).
- Sign out: cierra sesión y vuelve al login.
Roles y ownership
Actualmente el modelo es "one developer, many apps". Un developer es owner de todos los apps que crea. No soportamos multi tenant seats (varios developers colaborando en el mismo app) todavía. Está en roadmap.
Siguientes pasos
- Quickstart: usar tu nuevo appId en el SDK.
- KYC y fiat: habilitar on ramp Dynerox.
- Networks: mover de testnet a mainnet.