Segundo tab del bottom nav: la lista completa de transacciones, filtrable y con detalle expandible. Screen de validación — compone top-app-bar (interior), tx-list, bottom-sheet expandible, empty-states y skeleton. Los filtros viven en el sheet de A11 (patterns-history-filters): el chip-rail de tipos se retiró — sin filtros la lista arranca bajo el app bar; con filtros aparecen los chips activos removibles. Caso especial de cumplimiento: el estado "En revisión" (SAGRILAFT) nunca revela el motivo.
Tab Historialfiltros vía sheet (A11) · agrupado por fecha4 estados screen · 4 estados txcumplimiento SAGRILAFT
Layout anotado · con datos
Cada etiqueta marca el componente del DS que provee esa zona. La app bar es interior con scroll-off (se oculta al bajar por ser lista larga). Sin filtros activos no hay fila de chips: la lista arranca directo bajo el app bar.
← top-app-bar · interior
← tx-list
← bottom-nav
9:41
Historial
Hoy
Depósito de BTC
10:03Completada
+0,00250 BTC
$1.145.800
Compra de BTC
9:42Completada
+0,00109 BTC
$145.500
Venta a Bancolombia
9:12Procesando
−0,00350 BTC
$1.508.562
Ayer
ETH → USDT
18:45Completada
+12,50 USDT
−0,003 ETH
Compra de USDT
11:02Devuelta
$100.300
26 may 2026
Venta de ETH
15:20En revisión
$820.000
Composición
top-app-bar · interiorTítulo "Historial" + acciones trailing: filtros (sliders-horizontal, con dot si hay filtro activo) y exportar (download). Scroll-off: se oculta al bajar.
fchips · filtros activosEl chip-rail de tipos se retiró. Los filtros se aplican desde el sheet (sliders-horizontal, con dot cuando hay filtro activo) y se materializan como chips removibles bajo el app bar — solo cuando existen. Cf. patterns-history-filters.
tx-list · agrupadaHeaders de fecha ("Hoy", "Ayer", "26 may 2026"). Cada row: ícono+dirección por tipo, descripción, hora, monto (cripto para compra/swap, COP para venta) y badge de estado.
Monto por tipoCompra, swap y depósito muestran cripto (el depósito on-chain, positivo en verde); venta muestra el COP. Las no completadas (Devuelta, En revisión) van en muted, sin color de signo.
Al tocar una row se abre el bottom-sheet con snap points. Hero con el monto principal + filas de detalle + referencia copiable (haptic lightImpact). Para retiros cripto se añade el hash de blockchain.
Detalle · venta a banco
9:41
Historial
Hoy
Compra de BTC
+0,00109 BTC
Venta a Bancolombia
Procesando
$1.508.562 COP
Vendiste 0,00350 BTC
Fecha y hora8 jun 2026 · 9:12
Tasa aplicada$458.320.000/BTC
Comisión (5%)$80.200
IVA (19%)$15.238
Cuenta destinoBancolombia ****4521
Entrega estimadaHasta 1 día hábil
Referencia
MCP-2026-06-021
Copiar
lightImpact
Descargar comprobante (PDF)
Detalle · retiro a wallet (con hash)
9:41
Historial
Hoy
Retiro a wallet
0,0050 BTC
Retiro a wallet externa
Confirmando 2/6
0,00500 BTC
Red Bitcoin · on-chain
Fecha y hora8 jun 2026 · 9:30
Comisión de red0,00002 BTC
Comisión MiCapi0,00005 BTC
Dirección destino
bc1q…7x4k
Copiar
Hash de transacción
3a7f…e91c
Ver
Descargar comprobante (PDF)
Reglas del detalle
Snap pointsEl sheet abre a media altura y expande al arrastrar (cf. foundations-motion · sheet drag + snap). El drag sigue el dedo 1:1; el snap usa ease-drawer.
Hero según operaciónVenta → COP recibido. Compra → cripto. Swap → par. Retiro cripto → cantidad on-chain. El mismo principio del ConfirmationSheet.
Referencia copiableREF siempre presente, copiar dispara HapticFeedback.lightImpact() (feedback de acción completada).
Hash solo en criptoRetiros on-chain añaden dirección + hash truncado central (mono), con "Ver" al explorador. No aplica a operaciones COP.
Comprobante PDFBotón secundario "Descargar comprobante" en toda transacción — soporte para declaración y contabilidad del usuario.
Detalle de depósito cripto · acreditado y confirmando
Referencia canónica del depósito on-chain (TxKind = deposit). Hero con la cantidad cripto acreditada + banner de estado verbatim + filas Red y Hash de transacción (copy-row con morph inline "Copiado ✓"). En pending, si tx_hash aún es null la fila de hash no aparece.
Detalle · acreditado (done)
9:41
Historial
Hoy
Depósito de BTC
+0,00250 BTC
Depósito de BTC
Completada
+0,00250 BTC
≈ $1.145.800 COP · valor estimado
Depósito acreditado
Ya está disponible en tu portafolio.
Fecha y hora8 jun 2026 · 9:30
RedBitcoin mainnet
Hash de transacción
7a3f9c…e2b14d
Copiar
lightImpact
Descargar comprobante (PDF)
Detalle · confirmando (pending · sin hash)
9:41
Historial
Hoy
Depósito de ETH
+0,15 ETH
Depósito de ETH
Confirmando 8/12
+0,15 ETH
≈ $2.025.000 COP · valor estimado
Recibimos tu depósito
Confirmando en la red 8/12…
Fecha y hora8 jun 2026 · 9:41
RedEthereum mainnet
El hash de transacción aparecerá cuando el depósito sea visible en la red.
Detalle · dark (USDT)
9:41
Historial
Hoy
Depósito de USDT
+25,00 USDT
Depósito de USDT
Completada
+25,00 USDT
≈ $102.500 COP · valor estimado
Depósito acreditado
Ya está disponible en tu portafolio.
Fecha y hora8 jun 2026 · 9:12
RedEthereum mainnet (ERC-20)
Hash de transacción
0x9f2a…c41e
Copiar
Descargar comprobante (PDF)
Reglas del depósito
Fila en la listaÍcono arrow-down-to-line (entrada on-chain, verde), título "Depósito de [activo]", cantidad cripto positiva con la escala del activo (BTC 8 · ETH 6 · USDT 2) y badge de estado.
Hero = cantidadLa cantidad cripto acreditada es el dato principal; bajo ella, el valor estimado en COP (referencial, no promesa).
Estado verbatimAcreditado → "Depósito acreditado" / "Ya está disponible en tu portafolio." Confirmando → "Recibimos tu depósito" + "X/N". Strings de patterns-deposit-crypto.
RedFila "Red" con las mismas labels del depósito (Bitcoin mainnet · Ethereum mainnet · Ethereum mainnet (ERC-20)).
Hash · morph"Hash de transacción" truncado (mono); copiar morfea a "Copiado ✓" (lightImpact, sin SnackBar). Si tx_hash es null la fila no se muestra — solo la nota de que aparecerá al verse en la red.
Estados de la screen
Cargando · con datos · vacío · sin resultados de filtro. El chrome (app bar + bottom nav) se mantiene; cambia la zona de lista. Los chips activos solo aparecen cuando hay filtros aplicados (estado D).
A · CARGANDO
9:41
Historial
C · SIN TRANSACCIONES
9:41
Historial
Aún no tienes transacciones
Cuando compres, vendas o intercambies cripto, todo tu historial aparecerá aquí.
Hacer mi primera compra
D · SIN RESULTADOS
9:41
Historial
VentasÚltimos 30 díasLimpiar filtros
Sin resultados
No hay ventas en los últimos 30 días. Quita un chip o limpia los filtros.
Limpiar filtros
Pull-to-refresh
Historial es la pantalla donde el usuario refresca para ver si su operación pasó de pendiente a completada. Al tirar hacia abajo aparece el RefreshIndicator estándar de Material bajo el app bar y las zonas de data vuelven a skeleton mientras revalida — misma regla que dashboard y mercado. El top bar y los chips de filtro no se skeletonizan jamás.
Refrescando
9:41
Historial
VentasÚltimos 30 díasLimpiar filtros
Anatomía del refresh
RefreshIndicator MaterialEl indicador estándar de Material, idéntico al que ya especifican dashboard y mercado. Gesto pull-down desde el tope de la lista.
Data → skeletonAl refrescar, las zonas de data vuelven a skeleton mientras el provider revalida (misma regla que dashboard). Crossfade 200ms al llegar la data.
Chrome intactoTop bar y chips de filtro nunca se skeletonizan: quedan sólidos y operables durante el refresh.
Uso típicoConfirmar si una operación pasó de "Procesando" a "Completada". Sin copy nuevo.
Estados de transacción
Cada operación del vault tiene un estado con tratamiento visual propio. El último — "En revisión" — es un requisito de cumplimiento, no un estado de UX normal.
Compra de BTC
9:42Completada
+0,00109 BTC
Completada
Estado normal. Monto con color de signo (verde entra, rojo sale), badge success. Es la mayoría de las filas.
Venta a Bancolombia
9:12Procesando
−0,00350 BTC
Pendiente / En liquidación
Operación en curso: "Procesando" o "Confirmando X/N" para on-chain. Badge warning. Filtrable por estado «Procesando» desde el sheet de filtros (A11).
Compra de USDT
11:02Devuelta
$100.300
Devuelta
El precio no se ejecutó en 24h y el COP volvió a la cuenta de origen. Monto en muted (sin signo), badge neutro. El detalle dice "Devuelto a tu cuenta".
Venta de ETH
15:20En revisión
$820.000
En revisión (SAGRILAFT)
Operación suspendida por control de cumplimiento. Se muestra únicamente "En revisión" — el monto en muted, sin más detalle accionable.
Requisito de cumplimiento: nunca revelar el motivo de la revisión ni indicar sospecha al usuario. Ni en la lista, ni en el detalle, ni en notificaciones.