hackquest logo

MantleRWADevkit

Comprehensive SDK for Real-World Asset tokenization on Mantle Network

Videos

Tech Stack

Ethers
Web3
Mantle
SDK
RWA
Solidity
Typescript
Devkit

Description

Mantle RWA Devkit β€” Hackathon Submission

πŸ† Project Overview

Mantle RWA Devkit is a complete, open-source toolkit for tokenizing real-world assets on Mantle Network with built-in regulatory compliance.

πŸ”— Links

Resource

URL

Live Demo

https://mantle-rwa-devkit-demo.vercel.app/

Documentation

https://mantle-rwa-devkit-docs.vercel.app/

GitHub

https://github.com/AqilaRifti/MantleRWADevkit

πŸ’‘ Problem Statement

Tokenizing real-world assets (real estate, private equity, commodities) is a $16T opportunity, but building compliant platforms is extremely difficult:

  • Regulatory Complexity β€” Securities require KYC/AML, accredited investor verification, and transfer restrictions

  • Technical Barriers β€” Building ERC-3643 compliant contracts from scratch takes months

  • Integration Overhead β€” Connecting KYC providers, building UIs, handling edge cases

  • Cost Prohibitive β€” High gas fees on Ethereum make micro-distributions impractical

βœ… Solution

A full-stack SDK that handles compliance out of the box:

Deploy compliant RWA tokens in days, not months.

πŸ› οΈ What We Built

Smart Contracts (Solidity)

  • RWAToken β€” ERC-3643 compliant security token with transfer restrictions

  • KYCRegistry β€” On-chain investor verification with expiring credentials

  • YieldDistributor β€” Snapshot-based dividend distribution

  • Compliance Modules β€” Pluggable rules (max holders, jurisdiction, lockups)

TypeScript SDK

  • Full API for all contract interactions

  • KYC provider integrations (Persona, Synaps, Jumio)

  • Type-safe with complete TypeScript support

  • Event listeners for real-time updates

React Components

  • <KYCFlow /> β€” Complete verification flow

  • <InvestorDashboard /> β€” Portfolio and yield overview

  • <TokenMintForm /> β€” Admin minting interface

  • <YieldCalculator /> β€” Distribution estimator

Documentation

  • Getting started guides

  • API reference

  • Architecture documentation

  • Example applications

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Your Application                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    React Components                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ KYCFlow  β”‚ β”‚InvestorDash  β”‚ β”‚ MintForm   β”‚ β”‚YieldCalc β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                     TypeScript SDK                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  Token   β”‚ β”‚     KYC      β”‚ β”‚   Yield    β”‚ β”‚Complianceβ”‚ β”‚
β”‚  β”‚  Module  β”‚ β”‚    Module    β”‚ β”‚   Module   β”‚ β”‚  Module  β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    Smart Contracts                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ RWAToken β”‚ β”‚ KYCRegistry  β”‚ β”‚YieldDistribβ”‚ β”‚Complianceβ”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                     Mantle Network                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⚑ Key Features

Compliance-First Design

Every token transfer automatically checks:

  • βœ… Sender KYC verified

  • βœ… Recipient KYC verified

  • βœ… Verification not expired

  • βœ… All compliance modules approve

Non-compliant transfers are impossible at the protocol level.

Privacy-Preserving KYC

  • On-chain registry stores only identity hashes

  • Actual PII stays with your KYC provider

  • Supports multiple accreditation tiers (Retail, Accredited, Institutional)

Automated Yield Distribution

  • Snapshot-based proportional distributions

  • Multi-token support (USDC, USDT, MNT)

  • Configurable claim windows

  • Automatic unclaimed fund handling

Mantle-Optimized

  • 90%+ lower gas costs than Ethereum

  • Fast finality for better UX

  • Full EVM compatibility

πŸ“¦ Packages

Package

Description

Status

@mantle-rwa/contracts

Smart contracts

βœ… Complete

@mantle-rwa/sdk

TypeScript SDK

βœ… Complete

@mantle-rwa/react

React components

βœ… Complete

πŸš€ Quick Start

npm install @mantle-rwa/sdk @mantle-rwa/react
import { RWAClient } from '@mantle-rwa/sdk';

const client = new RWAClient({
  network: 'mantle-sepolia',
  privateKey: process.env.PRIVATE_KEY,
});

// Deploy complete RWA systemconst deployment = await client.deployRWASystem({tokenName: 'Real Estate Token',
  tokenSymbol: 'RET',
  initialSupply: '1000000',
});

🎯 Use Cases

Asset Class

Example

Real Estate

Fractional ownership of commercial properties

Private Equity

Tokenized fund shares with automated distributions

Commodities

Gold-backed tokens with yield from lending

Revenue Share

Royalty tokens with quarterly distributions

Carbon Credits

Tokenized environmental assets

πŸ”’ Security

  • Role-Based Access Control β€” Granular permissions for issuers, compliance officers, admins

  • UUPS Upgradeable β€” Contracts can be upgraded without migrating tokens

  • Pausable β€” Emergency stop functionality

  • Reentrancy Guards β€” Protection against reentrancy attacks

  • Gas Optimized β€” Efficient implementations to minimize costs

πŸ“Š Technical Highlights

  • ERC-3643 Compliant β€” Industry standard for security tokens

  • Property-Based Testing β€” Comprehensive test coverage with fast-check

  • TypeScript β€” Full type safety across SDK and components

  • Monorepo β€” Turborepo for efficient builds

  • Documentation β€” Docusaurus-powered docs site

πŸ—ΊοΈ Roadmap

  • Core smart contracts

  • TypeScript SDK

  • React component library

  • Documentation site

  • Example application

  • Mainnet deployment

  • Additional compliance modules

  • Mobile SDK

  • Subgraph for indexing

πŸ‘¨β€πŸ’» Built By

Aqila Rifti

πŸ“„ License

MIT License β€” see LICENSE for details.


Built for Mantle Network. Open source. Ready for production.

Progress During Hackathon

Built the entire Mantle RWA Devkit from the ground up - starting with the core ERC-3643 compliant smart contracts (RWAToken, KYCRegistry, YieldDistributor), then wrapping them in a fully-typed TypeScript SDK with modules for token operations, KYC management, yield distribution, and compliance checks. I developed a React component library with production-ready UI components including KYCFlow, InvestorDashboard, TokenMintForm, and YieldCalculator. I also created a complete example web application demonstrating all features, deployed comprehensive documentation using Docusaurus, and wrote property-based tests to ensure correctness. The result is a full-stack, open-source toolkit that enables developers to launch compliant RWA platforms on Mantle in days instead of months.

Fundraising Status

N/A
Team Leader
SSkia Variants
Project Link
Sector
RWAInfraOther