Skip to content

Conversation

@ten852456
Copy link

@ten852456 ten852456 commented Sep 20, 2025

Link https://soulnad.vercel.app/

Soulnad is a comprehensive Soulbound Token (SBT) platform built for the Monad Blitz 2025 hackathon. It implements
non-transferable NFTs that serve as digital certificates, achievements, or participation records on the Monad
blockchain.

Core Features

  • 🔒 Soulbound Tokens: Non-transferable ERC721 tokens with rich metadata
  • 📋 Template System: Reusable SBT templates for different events and achievements
  • ⏰ Session Management: Time-limited minting sessions with unique QR-based claiming
  • 📱 QR Code Claims: Self-service claiming via QR code scanning
  • 👥 Issuer Authorization: Role-based access control for template creation and minting
  • 🚀 Batch Minting: Efficient bulk minting for large events
  • 📊 User Dashboard: Comprehensive view of owned SBTs with full metadata

Technical Architecture

Smart Contracts (Solidity)

  • SBTToken.sol: Main ERC721 implementation with non-transferable logic
  • SBTTemplate.sol: Template management for reusable SBT types
  • SBTSession.sol: Time-limited minting sessions with unique ID generation
  • IssuerRegistry.sol: Authorization management for SBT issuers

Frontend (Next.js 15)

  • Framework: Next.js with App Router, TypeScript, Tailwind CSS
  • Web3 Integration: RainbowKit + Wagmi + Viem for seamless wallet connectivity
  • Development: Built on Scaffold-ETH 2 for rapid DApp development
  • UI Components: DaisyUI for polished, responsive design

Key Workflows

  1. Template Creation

Authorized issuers create reusable SBT templates with name and description that can be used across multiple events.

  1. Session-Based Minting
  • Issuers create time-limited sessions linked to templates
  • Unique session IDs generated using cryptographic hashing
  • Sessions have configurable duration and minting limits
  1. QR Code Claiming
  • Generate QR codes containing session information
  • Users scan QR codes to access claim pages
  • Self-service minting directly to user wallets
  • Real-time session validation and duplicate prevention
  1. Batch Operations
  • Bulk minting capabilities for large events
  • Efficient gas usage through batch processing
  • Event organizer dashboard for participant management

Blockchain Integration

  • Network: Monad Testnet/Mainnet (EVM compatible)
  • Currency: MON tokens
  • Explorer: Monad Explorer integration
  • Verification: Sourcify contract verification support

Development Stack

  • Smart Contracts: Solidity with OpenZeppelin standards
  • Testing: Hardhat test suite with comprehensive coverage
  • Frontend: React with TypeScript and modern hooks
  • Styling: Tailwind CSS with responsive design principles
  • Package Management: Yarn workspaces for monorepo structure

This platform enables organizations to issue verifiable, non-transferable digital credentials that remain permanently
associated with recipients' wallets, creating a trusted system for achievements, certifications, and event participation
records on the Monad blockchain.

@socket-security
Copy link

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
[email protected] has Obfuscated code.

Confidence: 0.94

Location: Package overview

From: ?npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
[email protected] has Obfuscated code.

Confidence: 0.94

Location: Package overview

From: ?npm/[email protected]npm/@nomicfoundation/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant