Tengo activos en varias redes y wallets: por qué esto se vuelve inmanejable
What This Covers
Este documento describe los problemas operativos reales que genera la fragmentación de activos cripto entre múltiples redes y wallets, y cómo las funcionalidades actuales de MovingWallet (inventario, simulación y preview) abordan la fase de visibilidad — no la ejecución.
B1 — Fragmentación multi-red: el problema real
Objetivo: Documentar por qué la distribución de activos entre redes se convierte en un problema operativo concreto.
Un usuario típico con actividad en DeFi acumula activos en múltiples redes (Ethereum mainnet, Polygon, Optimism, Arbitrum) y en múltiples wallets (hardware, software, cuentas de exchange con retiros). Cada combinación de red + wallet es un silo independiente.
Consecuencias técnicas directas:
- Visibilidad parcial. Cada block explorer (Etherscan, Polygonscan, Arbiscan) muestra solo una red. No existe una vista consolidada nativa del protocolo.
- Tokens no descubiertos. Los ERC-20 no aparecen en una wallet a menos que se conozcan las direcciones de contrato. Un token recibido por airdrop o por interacción con un protocolo puede existir sin que el usuario lo sepa.
- Estado desincronizado. El balance en una red no refleja lo que hay en otra. Un usuario puede creer que tiene liquidez suficiente en Polygon cuando sus fondos están en Arbitrum.
- Gas en la red equivocada. Para mover activos en una red, se necesita el token nativo de esa red (ETH en mainnet y L2s, POL en Polygon). Si el gas está en otra wallet o red, la operación es imposible sin un paso previo.
MovingWallet consulta activos en cuatro redes simultáneamente a través de /api/assets (usando eth_getBalance para nativos y balanceOf para ERC-20). Esto genera una vista consolidada que no existe en herramientas de exploración individuales.
Limitación: La detección de ERC-20 requiere direcciones de contrato conocidas. Tokens no incluidos en la consulta no aparecen. Ver: asset-detection-known-limitations.
TL;DR: La fragmentación multi-red no es un inconveniente menor — genera puntos ciegos operativos. MovingWallet consolida la lectura de cuatro redes en una sola consulta, pero no detecta todos los tokens automáticamente.
Mini-post: Tus activos están en 4 redes y 3 wallets. Ningún explorador te los muestra juntos. El primer paso antes de mover nada es saber qué tienes y dónde. Eso es lo que hace el inventario de MovingWallet.
Checklist técnica:
- [ ] Conectar wallet vía RainbowKit (lectura, no firma)
- [ ] Verificar que
/api/assetsdevuelve balances para las redes esperadas - [ ] Comparar resultado con exploradores de bloque individuales
- [ ] Identificar tokens que faltan (no están en el conjunto de consulta)
B2 — Errores operativos: lo que sale mal cuando no hay visibilidad
Objetivo: Documentar los errores concretos que ocurren al operar sin inventario consolidado.
Sin una vista unificada, los errores más frecuentes son:
Error 1: Envío a dirección incorrecta. Copiar una dirección de destino incorrecta es irreversible. MovingWallet no puede recuperar fondos enviados a la dirección equivocada. En el flujo actual (PanicFlow), la dirección de destino se introduce manualmente. No hay validación de propiedad — solo validación de formato EVM (checksum, longitud).
Error 2: Ejecución sin gas suficiente. Cada transacción en cada red requiere gas en el token nativo de esa red. Si un usuario intenta mover ERC-20 en Polygon pero no tiene POL, la transacción falla. MovingWallet muestra el balance nativo junto a los tokens para que esta situación sea visible antes de intentar la operación.
Error 3: Omisión de activos.
Un usuario que mueve fondos "de emergencia" puede olvidar tokens en una red que no revisó. El componente PlanEstimate (src/features/panic/components/PlanEstimate.tsx) muestra el número total de batches y activos incluidos en el plan, lo que permite detectar si faltan activos esperados.
Error 4: Ejecución parcial no detectada.
Si se mueven 5 de 8 activos y la operación se interrumpe, quedan 3 activos huérfanos en la wallet original. SimulationWarnings clasifica este escenario como partial_success con riesgo medium y muestra el mensaje explícito: "Algunos activos fallaron. Revisa errores abajo."
TL;DR: Los errores al mover activos no son hipotéticos. Son consecuencia directa de operar sin visibilidad. MovingWallet los hace visibles mediante avisos clasificados por riesgo (alto, medio, bajo) antes de que ocurran.
Mini-post: Dirección equivocada, gas insuficiente, activos olvidados. Estos errores son comunes y costosos. La simulación de MovingWallet los detecta antes de que sean irreversibles.
Checklist técnica:
- [ ] Verificar dirección de destino carácter por carácter (no confiar solo en el checksum)
- [ ] Confirmar balance nativo suficiente en cada red donde se va a operar
- [ ] Revisar el conteo de activos en PlanEstimate vs. expectativa
- [ ] Examinar warnings de SimulationWarnings antes de proceder
B3 — Coste mental: por qué la gestión manual no escala
Objetivo: Documentar la carga cognitiva que genera la gestión manual de activos fragmentados.
Gestionar activos manualmente implica:
- Abrir N exploradores (uno por red) y verificar balances.
- Mantener una lista de tokens y sus direcciones de contrato.
- Calcular gas necesario en cada red para cada operación.
- Firmar N transacciones individuales (una por activo por red).
- Verificar N confirmaciones en N exploradores diferentes.
Para una wallet con activos en 4 redes y 10 tokens, esto son potencialmente 40+ verificaciones manuales. Cada verificación es un punto de fallo.
El flujo de simulación de MovingWallet (PanicFlow) reduce esta carga al:
- Consolidar la lectura de activos en una sola operación (
/api/assets). - Generar un plan con el total de batches y estimación de gas (PlanEstimate).
- Mostrar la previsualización completa del plan en JSON (PreviewPlan) para revisión.
- Clasificar advertencias por prioridad:
failed>empty_plan>partial_success>limited_provider>conversion_not_implemented>simulation_only.
El usuario todavía debe revisar el plan y confirmar cada acción. MovingWallet no elimina la responsabilidad — reduce el número de pasos manuales para llegar a una decisión informada.
TL;DR: La gestión manual de activos fragmentados requiere docenas de verificaciones en múltiples herramientas. MovingWallet consolida lectura, planificación y advertencias en un solo flujo, pero la decisión final sigue siendo del usuario.
Mini-post: 4 redes × 10 tokens = 40 verificaciones manuales. La simulación de MovingWallet las consolida en un solo plan con warnings priorizados. La decisión sigue siendo tuya.
Checklist técnica:
- [ ] Ejecutar simulación completa con datos reales o demo (
/api/demo-assets) - [ ] Revisar PlanEstimate: batches, gas, nivel de riesgo
- [ ] Abrir PreviewPlan y verificar el JSON del plan completo
- [ ] Exportar snapshot (JSON) para registro antes de actuar
B4 — Qué ofrece MovingWallet hoy: visibilidad, no ejecución
Objetivo: Documentar exactamente qué funcionalidades están disponibles en v0.x y cuáles no.
MovingWallet v0.x opera en modo simulación. Esto significa:
Disponible ahora:
- Inventario multi-red. Lectura de nativos, ERC-20 y NFTs en Ethereum, Polygon, Optimism y Arbitrum. Componente: AssetTable (
src/shared/ui/AssetTable.tsx). - Simulación de plan. Construcción de un plan de ejecución basado en los activos detectados, con estimación de batches y gas. Componente: PlanEstimate.
- Previsualización. Vista JSON completa del plan antes de cualquier acción. Componente: PreviewPlan.
- Clasificación de riesgos. Warnings priorizados con niveles de riesgo (alto, medio, bajo). Componente: SimulationWarnings.
- Historial de simulaciones. Registro local de simulaciones pasadas con estado, riesgo y detalle. Componente: PortfolioView.
- Exportación. Snapshot del plan en JSON (copiar al portapapeles o descargar archivo).
- Datos de demostración. Endpoint
/api/demo-assetspara probar el flujo sin conectar wallet.
No disponible en v0.x:
- Ejecución real de transacciones.
- Firma de operaciones con la wallet.
- Batching de transacciones.
- Conversión entre tokens (to_eth, to_usdc degradado a none).
- Validación de propiedad de la dirección de destino.
Cada simulación en v0.x incluye automáticamente el warning simulation_only con el mensaje: "SIMULACIÓN v0.x: No mueve fondos reales."
TL;DR: MovingWallet v0.x es una herramienta de lectura, simulación y planificación. No ejecuta transacciones. No firma con la wallet. No mueve fondos. Todo lo que muestra es información para que el usuario tome decisiones informadas.
Mini-post: MovingWallet v0.x lee, simula y planifica. No mueve fondos. No firma transacciones. Cada simulación lleva una advertencia explícita. La ejecución requiere revisión del usuario y no está disponible en esta versión.
Checklist técnica:
- [ ] Confirmar que el banner "MODO SIMULACIÓN (v0.x)" aparece en Portfolio
- [ ] Verificar que el warning
simulation_onlyaparece en toda simulación - [ ] Probar con
/api/demo-assetsantes de conectar wallet real - [ ] Exportar snapshot JSON y verificar contenido
Known Limitations
- La detección de activos depende de direcciones de contrato conocidas. No hay descubrimiento automático de ERC-20.
- Solo cuatro redes soportadas. Activos en otras redes no existen para MovingWallet.
- Los RPCs públicos pueden devolver datos incompletos o desactualizados bajo carga.
- El historial de simulaciones es local (localStorage). No persiste entre dispositivos.
- Los datos de demostración (
/api/demo-assets) son estáticos y no reflejan condiciones de mercado.
Risks
- Un usuario puede asumir que el inventario mostrado es completo. No lo es. Siempre verificar con exploradores de bloque.
- La simulación no garantiza que una ejecución futura tendrá el mismo resultado. Las condiciones de red cambian.
- Copiar/pegar una dirección de destino incorrecta no es detectado por MovingWallet más allá del formato.
- El modo simulación puede generar falsa confianza. Los planes simulados no son compromisos de ejecución.
Disclaimer: This is technical documentation, not financial advice. MovingWallet does not guarantee asset completeness, transaction success, or protection against loss. Users are responsible for verifying all operations independently.