diff --git a/src/app/btc-vault/BtcVaultPage.test.tsx b/src/app/btc-vault/BtcVaultPage.test.tsx
index 55e787721e..16ea729802 100644
--- a/src/app/btc-vault/BtcVaultPage.test.tsx
+++ b/src/app/btc-vault/BtcVaultPage.test.tsx
@@ -85,7 +85,7 @@ vi.mock('./components/capital-allocation/CapitalAllocationSection', () => ({
CapitalAllocationSection: () => null,
}))
-vi.mock('./components/BtcVaultDashboard', () => ({
+vi.mock('./components/dashboard/BtcVaultDashboard', () => ({
BtcVaultDashboard: () => (
<>
@@ -94,7 +94,7 @@ vi.mock('./components/BtcVaultDashboard', () => ({
),
}))
-vi.mock('./components/BtcVaultMetrics', () => ({
+vi.mock('./components/dashboard/BtcVaultMetrics', () => ({
BtcVaultMetrics: () => null,
}))
diff --git a/src/app/btc-vault/BtcVaultPage.tsx b/src/app/btc-vault/BtcVaultPage.tsx
index f750186a00..cb2abe51f4 100644
--- a/src/app/btc-vault/BtcVaultPage.tsx
+++ b/src/app/btc-vault/BtcVaultPage.tsx
@@ -6,9 +6,9 @@ import { SectionContainer } from '@/app/communities/components/SectionContainer'
import { ActiveRequestSection } from './components/request-processing/ActiveRequestSection'
import { BtcVaultBanners } from './BtcVaultBanners'
-import { BtcVaultDashboard } from './components/BtcVaultDashboard'
-import { BtcVaultMetrics } from './components/BtcVaultMetrics'
import { CapitalAllocationSection } from './components/capital-allocation/CapitalAllocationSection'
+import { BtcVaultDashboard } from './components/dashboard/BtcVaultDashboard'
+import { BtcVaultMetrics } from './components/dashboard/BtcVaultMetrics'
import { BtcVaultDisclosureSection } from './components/disclosure/BtcVaultDisclosureSection'
import { BtcVaultWalletDisconnectedSection } from './components/disclosure/BtcVaultWalletDisconnectedSection'
import { useActiveRequests } from './hooks/useActiveRequests'
diff --git a/src/app/btc-vault/components/BtcVaultActions.test.tsx b/src/app/btc-vault/components/dashboard/BtcVaultActions.test.tsx
similarity index 94%
rename from src/app/btc-vault/components/BtcVaultActions.test.tsx
rename to src/app/btc-vault/components/dashboard/BtcVaultActions.test.tsx
index a19b958f2b..3da3daeed7 100644
--- a/src/app/btc-vault/components/BtcVaultActions.test.tsx
+++ b/src/app/btc-vault/components/dashboard/BtcVaultActions.test.tsx
@@ -11,7 +11,7 @@ const mockUseSubmitDeposit = vi.fn()
const mockUseSubmitWithdrawal = vi.fn()
const mockUseBtcVaultSharesAllowance = vi.fn()
-vi.mock('../hooks/useBtcVaultSharesAllowance', () => ({
+vi.mock('../../hooks/useBtcVaultSharesAllowance', () => ({
useBtcVaultSharesAllowance: () => mockUseBtcVaultSharesAllowance(),
}))
@@ -23,15 +23,15 @@ vi.mock('@/shared/notification', () => ({
executeTxFlow: vi.fn(),
}))
-vi.mock('../hooks/useActionEligibility', () => ({
+vi.mock('../../hooks/useActionEligibility', () => ({
useActionEligibility: (...args: unknown[]) => mockUseActionEligibility(...args),
}))
-vi.mock('../hooks/useSubmitDeposit', () => ({
+vi.mock('../../hooks/useSubmitDeposit', () => ({
useSubmitDeposit: () => mockUseSubmitDeposit(),
}))
-vi.mock('../hooks/useSubmitWithdrawal', () => ({
+vi.mock('../../hooks/useSubmitWithdrawal', () => ({
useSubmitWithdrawal: () => mockUseSubmitWithdrawal(),
}))
diff --git a/src/app/btc-vault/components/BtcVaultActions.tsx b/src/app/btc-vault/components/dashboard/BtcVaultActions.tsx
similarity index 88%
rename from src/app/btc-vault/components/BtcVaultActions.tsx
rename to src/app/btc-vault/components/dashboard/BtcVaultActions.tsx
index f246ba26a3..b433812bf0 100644
--- a/src/app/btc-vault/components/BtcVaultActions.tsx
+++ b/src/app/btc-vault/components/dashboard/BtcVaultActions.tsx
@@ -7,15 +7,15 @@ import { Button } from '@/components/Button'
import { Tooltip } from '@/components/Tooltip'
import { executeTxFlow } from '@/shared/notification'
-import { useActionEligibility } from '../hooks/useActionEligibility'
-import { useBtcVaultInvalidation } from '../hooks/useBtcVaultInvalidation'
-import { useBtcVaultSharesAllowance } from '../hooks/useBtcVaultSharesAllowance'
-import { useSubmitDeposit } from '../hooks/useSubmitDeposit'
-import { useSubmitWithdrawal } from '../hooks/useSubmitWithdrawal'
-import { REQUEST_SUBMITTING_REASON } from '../services/constants'
-import type { DepositRequestParams } from '../services/types'
-import { BtcDepositModal } from './BtcDepositModal'
-import { BtcWithdrawModal } from './BtcWithdrawModal'
+import { useActionEligibility } from '../../hooks/useActionEligibility'
+import { useBtcVaultInvalidation } from '../../hooks/useBtcVaultInvalidation'
+import { useBtcVaultSharesAllowance } from '../../hooks/useBtcVaultSharesAllowance'
+import { useSubmitDeposit } from '../../hooks/useSubmitDeposit'
+import { useSubmitWithdrawal } from '../../hooks/useSubmitWithdrawal'
+import { REQUEST_SUBMITTING_REASON } from '../../services/constants'
+import type { DepositRequestParams } from '../../services/types'
+import { BtcDepositModal } from '../modals/deposit/BtcDepositModal'
+import { BtcWithdrawModal } from '../modals/withdraw/BtcWithdrawModal'
interface BtcVaultActionsProps {
onRequestSubmitted?: () => void
diff --git a/src/app/btc-vault/components/BtcVaultDashboard.test.tsx b/src/app/btc-vault/components/dashboard/BtcVaultDashboard.test.tsx
similarity index 98%
rename from src/app/btc-vault/components/BtcVaultDashboard.test.tsx
rename to src/app/btc-vault/components/dashboard/BtcVaultDashboard.test.tsx
index a2c50a1fbf..d9258bc832 100644
--- a/src/app/btc-vault/components/BtcVaultDashboard.test.tsx
+++ b/src/app/btc-vault/components/dashboard/BtcVaultDashboard.test.tsx
@@ -5,7 +5,7 @@ import type { ReactNode } from 'react'
import { VAULT_SHARE_MULTIPLIER, WeiPerEther } from '@/lib/constants'
-import type { UserPositionDisplay } from '../services/ui/types'
+import type { UserPositionDisplay } from '../../services/ui/types'
import { BtcVaultDashboard } from './BtcVaultDashboard'
const FIVE_SHARES_RAW = 5n * WeiPerEther * VAULT_SHARE_MULTIPLIER
@@ -21,7 +21,7 @@ vi.mock('wagmi', () => ({
useAccount: () => mockUseAccount(),
}))
-vi.mock('../hooks/useUserPosition/useUserPosition', () => ({
+vi.mock('../../hooks/useUserPosition/useUserPosition', () => ({
useUserPosition: (address: string | undefined) => mockUseUserPosition(address),
}))
diff --git a/src/app/btc-vault/components/BtcVaultDashboard.tsx b/src/app/btc-vault/components/dashboard/BtcVaultDashboard.tsx
similarity index 98%
rename from src/app/btc-vault/components/BtcVaultDashboard.tsx
rename to src/app/btc-vault/components/dashboard/BtcVaultDashboard.tsx
index c51006ef3a..e1323362ec 100644
--- a/src/app/btc-vault/components/BtcVaultDashboard.tsx
+++ b/src/app/btc-vault/components/dashboard/BtcVaultDashboard.tsx
@@ -11,7 +11,7 @@ import { Span } from '@/components/Typography'
import { RBTC } from '@/lib/constants'
import { btcVaultRequestHistory } from '@/shared/constants/routes'
-import { useUserPosition } from '../hooks/useUserPosition/useUserPosition'
+import { useUserPosition } from '../../hooks/useUserPosition/useUserPosition'
import { BtcVaultActions } from './BtcVaultActions'
const LoadingValue = () => 0
diff --git a/src/app/btc-vault/components/BtcVaultMetrics.test.tsx b/src/app/btc-vault/components/dashboard/BtcVaultMetrics.test.tsx
similarity index 97%
rename from src/app/btc-vault/components/BtcVaultMetrics.test.tsx
rename to src/app/btc-vault/components/dashboard/BtcVaultMetrics.test.tsx
index c96e959b2a..0115f5a356 100644
--- a/src/app/btc-vault/components/BtcVaultMetrics.test.tsx
+++ b/src/app/btc-vault/components/dashboard/BtcVaultMetrics.test.tsx
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { RBTC } from '@/lib/constants'
-import { formatDateMonthFirst } from '../services/ui/formatters'
+import { formatDateMonthFirst } from '../../services/ui/formatters'
import { BtcVaultMetrics } from './BtcVaultMetrics'
const renderWithProviders = () =>
@@ -18,11 +18,11 @@ const mockUseVaultMetrics = vi.fn()
const mockUseEpochState = vi.fn()
const mockPrices: Record = {}
-vi.mock('../hooks/useVaultMetrics', () => ({
+vi.mock('../../hooks/useVaultMetrics', () => ({
useVaultMetrics: () => mockUseVaultMetrics(),
}))
-vi.mock('../hooks/useEpochState', () => ({
+vi.mock('../../hooks/useEpochState', () => ({
useEpochState: () => mockUseEpochState(),
}))
diff --git a/src/app/btc-vault/components/BtcVaultMetrics.tsx b/src/app/btc-vault/components/dashboard/BtcVaultMetrics.tsx
similarity index 94%
rename from src/app/btc-vault/components/BtcVaultMetrics.tsx
rename to src/app/btc-vault/components/dashboard/BtcVaultMetrics.tsx
index 822e5c4dc0..1b00e5bd58 100644
--- a/src/app/btc-vault/components/BtcVaultMetrics.tsx
+++ b/src/app/btc-vault/components/dashboard/BtcVaultMetrics.tsx
@@ -12,10 +12,10 @@ import { formatCurrencyWithLabel } from '@/lib/utils'
import { btcVaultDepositHistory } from '@/shared/constants/routes'
import { usePricesContext } from '@/shared/context'
-import { useEpochState } from '../hooks/useEpochState'
-import { useVaultMetrics } from '../hooks/useVaultMetrics'
-import { formatDateClosingOn, formatDateMonthFirst } from '../services/ui/formatters'
-import { lockedSharePriceToNavPerHumanShareWei } from '../services/vaultShareNav'
+import { useEpochState } from '../../hooks/useEpochState'
+import { useVaultMetrics } from '../../hooks/useVaultMetrics'
+import { formatDateClosingOn, formatDateMonthFirst } from '../../services/ui/formatters'
+import { lockedSharePriceToNavPerHumanShareWei } from '../../services/vaultShareNav'
const PLACEHOLDER = '—'
const APY_TOOLTIP = 'Annual Percentage Yield — the annualized return on deposited rBTC'
diff --git a/src/app/btc-vault/components/dashboard/index.ts b/src/app/btc-vault/components/dashboard/index.ts
new file mode 100644
index 0000000000..8a27caacf3
--- /dev/null
+++ b/src/app/btc-vault/components/dashboard/index.ts
@@ -0,0 +1,3 @@
+export { BtcVaultActions } from './BtcVaultActions'
+export { BtcVaultDashboard } from './BtcVaultDashboard'
+export { BtcVaultMetrics } from './BtcVaultMetrics'
diff --git a/src/app/btc-vault/page.test.tsx b/src/app/btc-vault/page.test.tsx
index a0616e2d1e..f59b98fd9d 100644
--- a/src/app/btc-vault/page.test.tsx
+++ b/src/app/btc-vault/page.test.tsx
@@ -69,11 +69,11 @@ vi.mock('./components/capital-allocation/CapitalAllocationSection', () => ({
CapitalAllocationSection: () => null,
}))
-vi.mock('./components/BtcVaultDashboard', () => ({
+vi.mock('./components/dashboard/BtcVaultDashboard', () => ({
BtcVaultDashboard: () => null,
}))
-vi.mock('./components/BtcVaultMetrics', () => ({
+vi.mock('./components/dashboard/BtcVaultMetrics', () => ({
BtcVaultMetrics: () => null,
}))