UI: warm daylight design system (Tailwind v4 @theme palette, gh-* component classes, watercolor grain, Zen Maru Gothic + Klee One fonts), animated SSR-safe GhibliBackground (drifting clouds, meadow hills, soot sprites), and a full reskin of navbar, connect button, dapp page, loan cards, settings modal, and readme. Fixes the bg-white-on-dark loan-card inconsistency. Web3/business logic untouched. Docs: converted docs/ into an Obsidian vault (frontmatter, [[wikilinks]], callouts, Home MOC, folders Architecture/Operations/Audits) and added a full-project audit note (Project Audit 2026-06). Redacted a real leaked Schedy key value from the security audit example (rotate it at Schedy). Also commits the previously-untracked server layer: app/api (cron + tasks routes) and lib (redis, ssrf-guard, task-store). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MortgageFi DApp
This is the MortgageFi DApp frontend (Next.js App Router). The landing page is the DApp itself.
First-time NFT scan and cache
- On first load (or after deleting cache), click the button: "Scan 12 more (ownerOf)" repeatedly until your NFTs are discovered and cached.
- The app stores results per chain and per ERC-721 contract in localStorage. If you add a new NFT later, click "Scan 12 more (ownerOf)" again to extend the cache.
- You can Reset (current wallet only) or Delete Local Cache (entire contract cache) from the Inputs panel.
Paying another wallet's debt (Manual Wallet)
- To pay a different wallet’s debt (e.g., a multisig), enter its address into the "Manual Wallet" field. The app will scan and read using this wallet.
- Stablecoin balance and allowance checks still use your connected wallet for approvals and payments, but loan reads will target the manual wallet’s NFTs.
Blockchain logs
- Verbose on-chain logs are printed to the browser console (scan, reads, and actions). Open DevTools → Console to view progress and diagnostics.
Networks and presets
- Supported networks include Base and Arbitrum. Use the Network selector to switch.
- Presets are available per chain to quickly populate ERC-721 and Debt contract addresses (e.g., cbBTC–USDC, WETH–USDC, USDTO–WBTC).
Development
npm install
npm run dev
# open http://localhost:3000
Environment
- Set
NEXT_PUBLIC_WALLETCONNECT_PROJECT_IDin.env.localfor WalletConnect.
Deployment on Vercel
- Monorepo: set the project root to
mortgagefi-frontend/in Vercel. - Build command:
next build(Turbopack is enabled by default via script). - Environment vars: set
NEXT_PUBLIC_WALLETCONNECT_PROJECT_IDin Vercel.
Using Gitea with Vercel
- Vercel does not natively integrate with Gitea. Options:
- Mirror your Gitea repository to GitHub/GitLab/Bitbucket and connect that to Vercel.
- Or use the Vercel CLI to deploy from your local machine or CI pipeline.
Description
Languages
TypeScript
98%
JavaScript
1.1%
CSS
0.9%