An open API service indexing awesome lists of open source software.

https://github.com/settlemint/asset-tokenization-kit

Create your own Asset Tokenization platform in minutes
https://github.com/settlemint/asset-tokenization-kit

asset-tokenization blockchain blockchain-transformation nextjs

Last synced: about 2 months ago
JSON representation

Create your own Asset Tokenization platform in minutes

Awesome Lists containing this project

README

        


SettleMint logo

SettleMint - Asset Tokenization Kit



https://settlemint.com


Build your digital assets platform with the SettleMint Asset Tokenization Kit.


Get the dApp UI and Smart Contracts out of the box — fully customizable source code is available.




CI status
License
npm
stars


Documentation
  •  
NPM
  •  
Issues


## Introduction

The SettleMint Asset Tokenization Kit is a full-stack solution designed to
accelerate the development of digital asset platforms. With built-in tools for
smart contract deployment, asset tracking, and seamless blockchain interactions,
the kit simplifies the creation of secure and scalable tokenization solutions.

## Complete Feature List

### Supported Asset Types

The Asset Tokenization Kit supports a wide range of digital assets, each with
specialized features:

1. **StableCoins**

- Fully collateralized digital currencies backed by real-world assets
- Designed for stable value maintenance and secure transactions
- Ideal for cross-border settlements, treasury management, and supply chain
finance

2. **Bonds**

- Digital representation of traditional fixed-income securities
- Features include maturity dates, yield distribution, and redemption
mechanisms
- Perfect for institutional investments and treasury optimization

3. **Equity Tokens**

- Digital shares with voting rights and governance capabilities
- Support for different equity classes and categories (Common, Preferred,
Series A, etc.)
- Streamlines shareholder management and corporate governance

4. **Investment Funds**

- Digital fund shares with automated fee management
- Supports various fund types (Hedge Funds, Mutual Funds, etc.)
- Simplifies fund administration and investor participation

5. **Tokenized Deposits**

- Digital representation of traditional banking deposits
- Enhanced with compliance features like allowlisting
- Streamlines interbank settlements and deposit management

6. **Cryptocurrency**

- Custom cryptocurrency token creation and management
- Configurable tokenomics and distribution mechanisms
- Supports various use cases from loyalty programs to utility tokens

7. **Fixed Yield Assets**
- Digital assets with predetermined yield returns
- Automated distribution of yields to token holders
- Ideal for structured financial products

### Platform Features

#### User Interface & Experience

- **Intuitive Dashboard** - Comprehensive overview of all tokenized assets,
transactions, and platform activities
- **Asset Management Interface** - Create, issue, transfer, and manage digital
assets through a user-friendly interface
- **Portfolio Management** - Track holdings, transaction history, and asset
performance
- **Activity Monitoring** - Real-time tracking of all on-chain activities and
transactions
- **Multi-language Support** - Interface available in multiple languages
including English, Arabic, German, and Japanese

#### Asset Management

- **Token Creation Wizard** - Step-by-step process to create and deploy new
tokenized assets
- **Asset Issuance Controls** - Secure mechanisms for minting and distributing
tokens
- **Transfer Management** - Initiate, approve, and track token transfers
- **Holder Management** - View and manage token holders with detailed
information
- **Underlying Asset Tracking** - Monitor and manage the real-world assets
backing digital tokens

#### Security & Compliance

- **Role-Based Access Control** - Granular permission management for different
user roles:
- Supply Management - Control token issuance and supply
- User Management - Manage user permissions and restrictions
- Administrator - Overall platform governance and emergency controls
- **Compliance Tools**:
- Blocklist/Allowlist Functionality - Restrict or permit specific users
- Pause Mechanisms - Temporarily halt operations during emergencies
- KYC/AML Integration Capabilities - Connect with identity verification
systems
- **Custodial Support** - Institutional-grade custody solutions for digital
assets
- **Regulation** - Supports the full scope of the EU MiCA regulation for
stablecoins

#### Technical Features

- **Smart Contract Templates** - Pre-built, audited contract templates for
various asset types
- **Meta-Transaction Support** - Gas-free transactions for improved user
experience
- **Customizable Code** - Fully open-source and customizable for specific
business needs
- **Multi-chain Compatibility** - Deploy on various blockchain networks
- **Subgraph Integration** - Efficient indexing and querying of blockchain data
- **Comprehensive REST API** - Complete coverage of all actions and data
retrieval via REST api's
- **Exports** - Filterable, sortable CSV exports of all data and logs

#### Platform Administration

- **User Management** - Add, remove, and manage platform users
- **Platform Settings** - Configure and customize platform behavior
- **Branding Customization** - Adapt the interface to match your brand identity

## Overcoming the Blockchain Challenges

Developing a digital asset platform involves multiple complex steps, from smart
contract deployment to frontend integration and compliance considerations. While
blockchain offers transparency and security, creating and managing tokenized
assets requires deep expertise in smart contract development, wallet
integrations, and transaction management.

The SettleMint Asset Tokenization Kit eliminates these complexities by providing
ready-to-use smart contract templates, a pre-built dApp web UI, and
easy-to-configure integrations. This allows businesses, banks, and financial
institutions to quickly launch digital assets, ensuring a faster go-to-market,
compliance readiness, and seamless user experiences.

## Getting Started

There are two ways to use this kit:

1. **Predeployed Setup** - Using pre-deployed contracts (fastest)
2. **Customized Setup** - Deploy your own contracts

### Predeployed Setup (Fastest)

This is the fastest way to get started with the kit. It uses pre-deployed
contracts, subgraphs, and ABIs.

```bash
# Install dependencies
bun install

# Login and connect to SettleMint
bunx settlemint login
bunx settlemint connect

# Generate types and start development server
cd kit/dapp
bun codegen:settlemint
bun addresses
bun dev
```

Browse to to access the application. Create an account
by clicking "Sign up" - the first account created will have admin privileges.

### Customized Setup

If you want to deploy and use your customised contracts, subgraph, and ABIs,
follow these steps:

#### Prerequisites

1. Forge v0.3.0 - Install the latest Foundry from
[https://book.getfoundry.sh/getting-started/installation](https://book.getfoundry.sh/getting-started/installation)
2. Node.js version >=20.18.1 - Required for The Graph CLI. We recommend using
[fnm](https://github.com/Schniz/fnm) for Node.js installation.

#### Deployment Steps

```bash
# Install dependencies
bun install

# Login and connect to SettleMint
bun settlemint login
bun settlemint connect

# Deploy contracts
cd kit/contracts
bun deploy:remote

# Deploy subgraph
cd ../subgraph
bun deploy:remote
cd ../../

# Codegen
bun codegen

# Setup dapp
cd kit/dapp
bun addresses
bun db:push

# Start development server
bun dev
```

Browse to to access the application. Create an account
by clicking "Sign up" - the first account created will have admin privileges.

### Database Customization

To modify database schema:

1. Update your schema definitions in the schema folder:

```bash
# Navigate to schema directory
cd kit/dapp/src/lib/db
```

2. Apply your changes to the database:

```bash
# Run in the kit/dapp directory
cd kit/dapp
bun db:push
```

3. Ensure your updates are registered with Hasura by executing:

```bash
settlemint hasura track -a
```

4. Regenerate GraphQL types by running the following command in the root
directory. It is important to use the `--force` flag to ensure the types are
regenerated:

```bash
bun codegen --force
```

5. Launch the application to verify your changes:

```bash
bun dev
```

> **Note**: When modifying tables managed by Better Auth (user, session,
> account, verification), you may need to update `additionalFields` in
> `kit/dapp/src/lib/auth/auth.ts`. If user object field changes aren't reflected
> in the `useSession` hook, try clearing cookies and signing in again. See
> [Better Auth database core schema](https://www.better-auth.com/docs/concepts/database#core-schema)
> for more information.

### Performance Monitoring

The kit includes a performance monitoring system that collects and visualizes
metrics and traces from the application. Set the `OTEL_EXPORTER_OTLP_ENDPOINT`
environment variable to your OpenTelemetry collector endpoint.

```bash
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/v1/traces
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
```

If working in a development environment, you can use the following command to
start a local OTEL collector and view the metrics and traces in your browser:

```bash
docker compose up -d
```

Then browse to to view the traces and
to view the metrics.