+
+ {fiatFormatted && (
+
+ ≈ {fiatSymbol}
+ {fiatFormatted}
+
+ )}
+
+ )
+})
+
+export namespace AmountWithFiat {
+ export type Props = AmountWithFiatProps
+}
diff --git a/packages/key-ui/src/amount-display/index.ts b/packages/key-ui/src/amount-display/index.ts
new file mode 100644
index 000000000..fb4d59e67
--- /dev/null
+++ b/packages/key-ui/src/amount-display/index.ts
@@ -0,0 +1,4 @@
+export { AmountDisplay } from './AmountDisplay'
+export type { AmountDisplayProps, AmountDisplayState } from './AmountDisplay'
+export { AmountWithFiat } from './AmountWithFiat'
+export type { AmountWithFiatProps } from './AmountWithFiat'
diff --git a/packages/key-ui/src/index.ts b/packages/key-ui/src/index.ts
new file mode 100644
index 000000000..f6a652907
--- /dev/null
+++ b/packages/key-ui/src/index.ts
@@ -0,0 +1,3 @@
+export * from './address-display'
+export * from './amount-display'
+export * from './token-icon'
diff --git a/packages/key-ui/src/styles/base.css b/packages/key-ui/src/styles/base.css
new file mode 100644
index 000000000..77c05d4ac
--- /dev/null
+++ b/packages/key-ui/src/styles/base.css
@@ -0,0 +1,24 @@
+/* Key UI Base Styles */
+/* These CSS variables can be imported by consumers for consistent theming */
+
+:root {
+ /* Colors - can be overridden by consumer's theme */
+ --key-ui-text-muted: oklch(0.556 0.012 286.286);
+ --key-ui-text-destructive: oklch(0.577 0.245 27.325);
+ --key-ui-text-success: oklch(0.723 0.191 149.579);
+ --key-ui-bg-muted: oklch(0.967 0.001 286.375);
+
+ /* Sizes */
+ --key-ui-icon-xs: 1rem;
+ --key-ui-icon-sm: 1.5rem;
+ --key-ui-icon-md: 2rem;
+ --key-ui-icon-lg: 2.5rem;
+ --key-ui-icon-xl: 3rem;
+}
+
+.dark {
+ --key-ui-text-muted: oklch(0.708 0.012 286.286);
+ --key-ui-text-destructive: oklch(0.704 0.191 22.216);
+ --key-ui-text-success: oklch(0.792 0.209 151.711);
+ --key-ui-bg-muted: oklch(0.21 0.006 285.885);
+}
diff --git a/packages/key-ui/src/token-icon/fallback/TokenIconFallback.tsx b/packages/key-ui/src/token-icon/fallback/TokenIconFallback.tsx
new file mode 100644
index 000000000..c8c5f8223
--- /dev/null
+++ b/packages/key-ui/src/token-icon/fallback/TokenIconFallback.tsx
@@ -0,0 +1,54 @@
+'use client'
+import * as React from 'react'
+import { cn } from '@biochain/key-utils'
+import { useTokenIconRootContext } from '../root/TokenIconRootContext'
+
+export interface TokenIconFallbackProps extends React.HTMLAttributes