Deployment
Development setup and deployment
Login to SettleMint platform and create an organzation. For more details refer - 'Account setup guide'
Select "Add application" option and select "Asset tokenization kit".
Select the network you will like to use and then on the next step, decide if you will be deploying development or production environment. Optionally, enable code studio to get access to smart contract and front end UI IDE within the platform UI.
You can choose between development and production environments based on the stage and requirements of your application.
The development environment operates on a shared infrastructure within SettleMint’s managed SaaS offering. It is provisioned with a small resource pack, suitable for prototyping, testing, and early-stage development. This environment includes one validator node and one non-validator node, sufficient for basic functionality validation and integration testing.
The production environment, on the other hand, is deployed on a dedicated cluster and is provisioned with a medium resource pack by default. It is designed to support high availability, performance, and scalability for enterprise-grade deployments. The production setup includes four validator nodes and two non-validator nodes, ensuring fault tolerance and improved network consensus performance.
Both environments support dynamic resource scaling, allowing resource packs to be scaled up or down at any point based on application demand or usage patterns.
Custom deployment module for front end deployment
The Asset Tokenization Kit (ATK) Frontend UI is a containerized web application that provides a user interface for interacting with tokenized assets on the SettleMint platform. This guide covers the configuration and deployment of the frontend UI as a custom deployment within SettleMint.
Container Image Setup
The ATK Frontend UI is deployed using a prebuilt container image. Configure the following:
Field | Description | Example Value |
---|---|---|
Container Image | The Docker image containing the frontend UI. | ghcr.io/settlemint/asset-tokenization-kit:0.3.14 |
Exposed Port | The port on which the frontend serves HTTP traffic. | 3000 |
Registry Credentials (if private) | Username and access token for private container registries. | (Provided by DevOps) |
Access Control
Define who can access the deployed frontend:
- Anyone with the link – Public access (suitable for demos).
- Members of the organization – Restricted to authenticated users within the SettleMint organization.
Environment Variables
The frontend requires the following environment variables to connect to backend services:
Variable | Purpose |
---|---|
SETTLEMINT_INSTANCE | Internal SettleMint instance identifier. |
SETTLEMINT_ACCESS_TOKEN | Authentication token for SettleMint APIs. |
SETTLEMINT_HD_PRIVATE_KEY | Private key for blockchain transaction signing. |
SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT | URL for the blockchain explorer (Blockscout). |
SETTLEMINT_HASURA_ENDPOINT | Hasura GraphQL engine endpoint. |
SETTLEMINT_HASURA_DATABASE_URL | Database connection URL (internal). |
SETTLEMINT_HASURA_ADMIN_SECRET | Admin secret for Hasura access. |
SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT | SettleMint Portal GraphQL API endpoint. |
SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS | The Graph indexing service endpoints. |
Security Note:
- Sensitive values (e.g.,
HD_PRIVATE_KEY
,HASURA_ADMIN_SECRET
) are masked in the UI. - Rotate credentials periodically following security best practices.
Custom Domains (Optional)
For production or client-facing deployments, bind a custom domain: e.g. https://demo.tokenmint.be/ This ensures a branded URL for end users.
The Asset Tokenization Kit Frontend UI can be deployed as a standalone service while maintaining integration with SettleMint's blockchain and backend infrastructure. Key benefits include:
- Independent frontend management – Deploy UI updates without affecting other components.
- Flexible access control – Configure visibility for internal testing or public demos.
- Secure environment injection – Sensitive keys and endpoints are securely passed at runtime.
- Custom domain support – Use branded URLs for professional deployments.
Local development
For local development, please go to our GitHub repository and follow the readme setup guide.
There are two ways to use this kit:
- Predeployed Setup - Using pre-deployed contracts (fastest)
- 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.
Browse to http://localhost:3000 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
- Forge v0.3.0 - Install the latest Foundry from https://book.getfoundry.sh/getting-started/installation
- Node.js version >=20.18.1 - Required for The Graph CLI. We recommend using fnm for Node.js installation.
Deployment Steps
Browse to http://localhost:3000 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:
-
Update your schema definitions in the schema folder:
-
Apply your changes to the database:
-
Ensure your updates are registered with Hasura by executing:
-
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: -
Launch the application to verify your changes:
Note: When modifying tables managed by Better Auth (user, session, account, verification), you may need to update
additionalFields
inkit/dapp/src/lib/auth/auth.ts
. If user object field changes aren't reflected in theuseSession
hook, try clearing cookies and signing in again. See Better Auth database core schema for more information.