Skip to content

StabilityNexus/TNT

Repository files navigation

Stability Nexus

 

Static Badge

Telegram Badge    X (formerly Twitter) Badge    Discord Badge    Medium Badge    LinkedIn Badge    Youtube Badge


TNT

TNT (Trust Network Tokens) is a non-transferable ERC721 framework for issuing and revoking verifiable trust credentials. The dApp lets organizations deploy their own TNT contract via a factory, issue tokens to users, optionally revoke them, and keep a chain-verifiable registry of trust relationships.


Project Maturity

TODO: In the checklist below, mark the items that have been completed and delete items that are not applicable to the current project:

  • The project has a logo.

  • The project has a favicon.

  • The protocol:

    • has been described and formally specified in a paper.

    • has had its main properties mathematically proven.

    • has been formally verified.

  • The smart contracts:

    • were thoroughly reviewed by at least two knights of The Stable Order.

    • were deployed to:

      • Ergo

      • Cardano

      • EVM Chains:

        • Ethereum Classic

        • Ethereum

        • Polygon

        • BSC

        • Base

        • Scroll Sepolia (Chain ID 534351) — factory at 0xc0e8ababc172112e3e458ae35a4d2d4b92b35e8e

  • The mobile app:

    • has an About page containing the Stability Nexus's logo and pointing to the social media accounts of the Stability Nexus.

    • is available for download as a release in this repo.

    • is available in the relevant app stores.

  • The web frontend:

    • has proper title and metadata.

    • has proper open graph metadata, to ensure that it is shown well when shared in social media (Discord, Telegram, Twitter, LinkedIn).

    • has a footer, containing the Stability Nexus's logo and pointing to the social media accounts of the Stability Nexus.

    • is fully static and client-side.

    • is deployed to Github Pages via a Github Workflow.

    • is accessible through the https://tnt.stability.nexus domain.

  • the project is listed in https://stability.nexus/protocols.


Tech Stack

Frontend

  • Next.js 15 (App Router)
  • TypeScript
  • TailwindCSS + tailwind-merge + tailwindcss-animate
  • shadcn/ui (Radix UI primitives)
  • RainbowKit + wagmi + ethers.js for wallet connectivity
  • Next Themes, Framer-powered UX elements

Blockchain

  • Solidity smart contracts (Foundry / Hardhat)
  • OpenZeppelin ERC721 + AccessControl
  • TNT Factory deploys non-transferable, optionally revokable TNT tokens and tracks issued tokens per user
  • Deployed on Scroll Sepolia (Chain ID 534351)

Getting Started

Prerequisites

  • Node.js 18+
  • npm/yarn/pnpm
  • MetaMask or any web3 wallet browser extension
  • Scroll Sepolia RPC endpoint and testnet funds for interactions
  • A WalletConnect project ID (NEXT_PUBLIC_PROJECT_ID) for RainbowKit

Installation

The Next.js app lives in web/. Smart contracts live in contracts/.

1. Clone the Repository

git clone https://github.com/StabilityNexus/TNT.git
cd TNT/web

2. Install Dependencies

Using your preferred package manager:

npm install
# or
yarn install
# or
pnpm install

3. Configure Environment Variables

Create web/.env.local (you can copy from web/.sample.env) and set:

NEXT_PUBLIC_PROJECT_ID=your_walletconnect_project_id

4. Run the Development Server

Start the app locally:

npm run dev
# or
yarn dev
# or
pnpm dev

5. Open your Browser

Navigate to http://localhost:3000 to see the application. Use the Create flow to deploy a new TNT, explore trust tokens, and manage issuance/revocation from the UI.


Smart Contracts

Contracts live in contracts/:

  • Factory.sol deploys TNT contracts, tracks TNTs per creator, and maintains user-to-TNT registries (register/unregister on issuance/burn).
  • TNT.sol is a non-transferable ERC721 with issuer and revoker roles, optional revocation, timestamped metadata, and image URL support.

Common commands (from contracts/):

forge build
forge test
forge fmt

Contributing

We welcome contributions of all kinds! To contribute:

  1. Fork the repository and create your feature branch (git checkout -b feature/AmazingFeature).
  2. Commit your changes (git commit -m 'Add some AmazingFeature').
  3. Run the development workflow commands to ensure code quality:
    • npm run lint
    • npm run build
  4. Push your branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request for review.

If you encounter bugs, need help, or have feature requests:

  • Please open an issue in this repository providing detailed information.
  • Describe the problem clearly and include any relevant logs or screenshots.

We appreciate your feedback and contributions!

© 2025 The Stable Order.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6