Build Reputation. Unlock Capital. > A decentralized application (dApp) on IOTA Rebased that turns MSME (UMKM) revenue history into a verifiable, evolving Dynamic NFT.
Network: Testnet
Package ID: 0x8f412472693c878a83e21547fa9c37f0a8db8df11be1db6e265809d4d56ffd8c
Explorer: View on Explorer
Kredith helps unbanked businesses build a credit history on the blockchain. Instead of relying on traditional bank statements, businesses record their revenue on-chain.
The core innovation is the Dynamic Identity NFT:
- ** 🌱 Bronze Tier:** Newly registered business.
- ** 🥈 Silver Tier:** Revenue > 10,000,000 IDR.
- ** 👑 Gold Tier:** Revenue > 100,000,000 IDR.
The NFT image and metadata automatically evolve via Smart Contract logic as the business grows.
- ⚡ Instant Registration: Mint a unique "Kredith Score" NFT (Object) on the IOTA network.
- 📈 Real-time Recording: Input daily revenue directly to the blockchain.
- 🦎 Dynamic Evolution: The NFT Tier and Image update automatically based on accumulated revenue.
- 🔐 Auto-Login: The app automatically detects if your wallet already owns a Business Object and redirects you to the dashboard.
- 🔎 Verifiable: Every transaction includes a direct link to the IOTA Explorer.
- 🎨 Neo-Brutalist UI: A bold, high-contrast interface designed for clarity and impact.
- Blockchain: IOTA Rebased (Testnet)
- Smart Contract: Move Language
- Frontend: Next.js 14, React, Tailwind CSS
- Integration:
@iota/dapp-kit,@iota/iota-sdk - State Management: React Query
-
Install dependencies:
npm install --legacy-peer-deps
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
cd contract/<your-project-name>
iota move build
iota client publishThen manually copy the package ID and update lib/config.ts:
export const TESTNET_PACKAGE_ID = "0xYOUR_PACKAGE_ID"- Adjust
Provider.tsxfor the default environment of your dApp. - Adjust
useContracts.tsfor methods to interact with your contract. - Adjust
components/sample.tsxto customize how your dApp looks.
Edit lib/config.ts to configure different networks:
export const TESTNET_PACKAGE_ID = "0x..."
export const DEVNET_PACKAGE_ID = "0x..."
export const MAINNET_PACKAGE_ID = "0x..."