Pattern · Withdraw Crypto

Withdraw Crypto

Retiro de cripto hacia una wallet externa registrada del propio usuario. Riesgos clave: irreversibilidad on-chain, dirección incorrecta y Travel Rule si la contraparte es otra PSAV. Solo se retira el saldo "Disponible para retiro". Las advertencias son copy aprobado — verbatim, visibles inline.

Retiro a wallet heavyImpact · irreversible Travel Rule condicional
Mapa del flujo
1Retiro
2Confirmación (+ Travel Rule)
3Procesando / blockchain
4a · Éxito + hash4b · Error (saldo intacto)
Pantalla 1 · retiro

Activo + wallet destino registrada + monto (solo disponible para retiro) + desglose (comisión MiCapi + IVA + comisión de red) + dirección completa visible + advertencias verbatim.

9:41
Retirar cripto
₿BTC
ETH
USDT
Wallet de destino
₿
Mi Ledger
bc1qxy2…hx0wlh · mainnet
Cantidad a retirar
0,00350BTC
Disponible: 0,00350 BTCMAX
0,00062 BTC en liquidación — disponible en máx. 24h
Comisión MiCapi0,00007 BTC
IVA (19%)0,00001 BTC
Comisión de red ≈0,00002 BTC
Recibes ≈0,00340 BTC
Tiempo estimado~30 min
Dirección de destino
Wallet registrada: Mi Ledger

Verifica la dirección antes de confirmar. Las transacciones en blockchain son irreversibles. MiCapi no puede recuperar fondos enviados a una dirección incorrecta.

Solo wallets de tu titularidad. Declaraste que eres el titular de esta wallet al registrarla. Retirar a wallets de terceros viola los TyC y puede generar reporte a la UIAF.

Pantalla 1

  1. Wallet destinoSelector con las wallets registradas (de wallet-register). Si no hay → empty state + CTA "Registrar wallet".
  2. Saldo disponibleSolo "Disponible para retiro" (no el total). Si hay cripto en liquidación, se indica con plazo máx. 24h.
  3. Desglose completoComisión MiCapi (2%) + IVA (19% s/comisión) + comisión de red (fee de blockchain variable) + cantidad neta + tiempo estimado. El desglose reconstruye el neto a la vista: bruta − comisión − IVA − red = neta.
  4. Dirección completaVisible sin truncar para revisión visual antes de confirmar.
  5. Advertencias verbatimIrreversibilidad (danger) + titularidad/UIAF (warning), visibles inline.
Variante · sin wallets registradas
Empty state inline
9:41
Retirar cripto
₿BTC
ETH
USDT
Wallet de destino
No tienes wallets registradas
Registrar wallet

Sin wallets

  1. Empty inline"No tienes wallets registradas" + CTA que lleva a screens-wallet-register.
  2. CTA bloqueada"Continuar" deshabilitado hasta que exista una wallet seleccionable.
  3. PrerrequisitoEl registro de wallet (con titularidad obligatoria) es condición previa al retiro.
Pantalla 2 · confirmación + Travel Rule

Sheet persistente (isDismissible: false). Confirmación única: hold-to-confirm ~600 ms con anillo de progreso (A16 definitivo — sin checkbox). Con lector de pantalla / switch-access o prefers-reduced-motion, el botón confirma con tap directo. El aviso Travel Rule aparece solo si la wallet destino es de otra PSAV.

Confirmación · wallet propia
9:41
Retirar cripto
₿BTC

Confirmar retiro

0,00340 BTC
Cantidad neta a recibir
≈ $1.558.288 COP · referencial
Cantidad bruta0,00350 BTC
Comisión MiCapi0,00007 BTC
IVA (19%)0,00001 BTC
Comisión de red ≈0,00002 BTC
Cantidad neta0,00340 BTC
RedBitcoin mainnet
Destinobc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh

Esta operación es irreversible una vez confirmada en la red. Verifica la dirección completa antes de mantener presionado.

Mantén presionado para confirmar
Cancelar
Confirmación · contraparte PSAV (Travel Rule)
9:41
Retirar cripto
₿BTC

Confirmar retiro

0,00340 BTC
Cantidad neta a recibir
≈ $1.558.288 COP · referencial
Cantidad bruta0,00350 BTC
Comisión MiCapi0,00007 BTC
IVA (19%)0,00001 BTC
Comisión de red ≈0,00002 BTC
Cantidad neta0,00340 BTC
RedBitcoin mainnet
Destinobc1qpsav2kgdygjrsqtzq2n0yrf2493p83kkfjexch02
Travel Rule

Esta transferencia está sujeta al Travel Rule (GAFI Recomendación 16). MiCapi enviará tu nombre completo, número de identificación y dirección de wallet a la plataforma de destino/origen, y recibirá los datos equivalentes del otro usuario. Esta transmisión es un requisito legal — sin ella la transferencia no puede ejecutarse.

Esta operación es irreversible una vez confirmada en la red. Verifica la dirección completa antes de mantener presionado.

Mantén presionado para confirmar
Cancelar

Confirmación

  1. PersistenteisDismissible: false — solo se cierra con Confirmar/Cancelar.
  2. Hero = netoLa cantidad neta a recibir es el dato principal; bruta y comisión en filas.
  3. ≈ COP referencialBajo el hero, "≈ $1.558.288 COP" traduce el neto a pesos. Equivalencia referencial derivada de la tasa del momento — no es promesa de precio; el copy la marca "· referencial".
  4. Irreversibilidad reforzadaAviso danger inmediatamente antes del hold — reemplaza al checkbox retirado. La verificación se apoya en la dirección completa (bloques de 4, §4.15) + este refuerzo.
  5. Hold único (A16)Mantener presionado ~600 ms; el anillo de progreso se llena; HapticFeedback.heavyImpact() al completar. Hint: "Mantén presionado para confirmar". Sin checkbox — decisión definitiva.
  6. Vía accesibleCon TalkBack / switch-access o prefers-reduced-motion, el botón actúa como button estándar: tap directo confirma, sin long-press. Se implementa y documenta junto al hold.
  7. Travel Rule condicionalSolo si la contraparte es otra PSAV. Texto verbatim, inline, antes de confirmar.

Hold único, sin checkbox (A16 definitivo). El retiro a wallet externa es la única acción del producto con hold-to-confirm y HapticFeedback.heavyImpact() — es irreversible on-chain, sin posibilidad de devolución. El checkbox de dirección se retiró: la gravedad la marcan la dirección completa, el aviso de irreversibilidad y el gesto sostenido. Vía accesible: con lector de pantalla / switch-access o prefers-reduced-motion, el botón confirma con tap directo estándar. Cf. foundations-motion §4.

Procesando · éxito · error
Procesando / blockchain
9:41
Retirar cripto

Enviando tu retiro…

Pendiente de confirmación en la red 1/3.

Cantidad
0,00340 BTC
Éxito + hash
9:41
Retirar cripto

Retiro completado

0,00340 BTC
Hash de transacción
3a7f9c2e…d91e4b
Ver
Referencia
MCP-2026-06-061
Copiar
Error
9:41
Retirar cripto

No pudimos completar tu retiro

Ocurrió un problema al enviar la transacción. Inténtalo de nuevo en unos minutos.

Tu saldo no fue modificado

Estados finales

  1. Procesando"Enviando tu retiro…" → "Pendiente de confirmación en la red (X/N)".
  2. Éxito"Retiro completado" + cantidad + hash truncado copiable + "Ver en explorador" + referencia.
  3. Error"No pudimos completar tu retiro" + "Tu saldo no fue modificado" (tranquiliza) + reintentar.
Modo oscuro
Pantalla 1 · dark
9:41
Retirar cripto
₿BTC
ETH
USDT
Wallet de destino
₿
Mi Ledger
bc1qxy2…hx0wlh · mainnet
Cantidad a retirar
0,00350BTC
Disponible: 0,00350 BTCMAX
Comisión MiCapi0,00007 BTC
IVA (19%)0,00001 BTC
Comisión de red ≈0,00002 BTC
Recibes ≈0,00340 BTC
Dirección de destino
Wallet registrada: Mi Ledger

Verifica la dirección antes de confirmar. Las transacciones en blockchain son irreversibles. MiCapi no puede recuperar fondos enviados a una dirección incorrecta.

Confirmación + Travel Rule · dark
9:41
Retirar cripto
₿BTC

Confirmar retiro

0,00340 BTC
Cantidad neta a recibir
≈ $1.558.288 COP · referencial
Cantidad bruta0,00350 BTC
Comisión MiCapi0,00007 BTC
IVA (19%)0,00001 BTC
Comisión de red ≈0,00002 BTC
Cantidad neta0,00340 BTC
RedBitcoin mainnet
Destinobc1qpsav2kgdygjrsqtzq2n0yrf2493p83kkfjexch02
Travel Rule

Esta transferencia está sujeta al Travel Rule (GAFI Recomendación 16). MiCapi enviará tu nombre completo, número de identificación y dirección de wallet a la plataforma de destino/origen, y recibirá los datos equivalentes del otro usuario. Esta transmisión es un requisito legal — sin ella la transferencia no puede ejecutarse.

Esta operación es irreversible una vez confirmada en la red. Verifica la dirección completa antes de mantener presionado.

Mantén presionado para confirmar
Cancelar