Skip to main content

Token Studio

Token Studio is the central platform of the DobProtocol ecosystem. It is where asset owners create distribution pools, issue shares, manage revenue distributions, and where investors discover, purchase, and track their tokenized asset holdings.

Live at: home.dobprotocol.com

What Token Studio Does

Token Studio serves three primary functions:

  1. Pool Creation -- Asset owners configure and deploy smart contracts that represent tokenized assets, defining share structures, access rules, and distribution parameters.

  2. Distribution Management -- As underlying assets generate revenue, pool creators deposit earnings and trigger distribution rounds. Shareholders claim their proportional share.

  3. Marketplace -- A built-in secondary market where shareholders can list shares for sale and investors can discover new investment opportunities.

Technology Stack

LayerTechnologyVersion
FrontendAngular15.2.10
UI ComponentsAngular Material + NgBootstrap15.2.9 / 14.2.0
State Management@ngrx/store15.4.0
Internationalizationngx-translate13.0.0
BackendNode.js + Express20.x + 4.17.3
ORMSequelize6.16.2
DatabasePostgreSQLGoogle Cloud SQL
Blockchain (Stellar)@stellar/stellar-sdk14.3.0
Blockchain (EVM)ethers.js6.14.4
Real-timeSocket.IO4.5.1
AuthJWTjsonwebtoken 8.5.1

Core Concepts

Pools

A pool is a smart contract deployed on-chain that represents a tokenized asset. Each pool has:

  • Shares: 10,000 total shares represent 100% ownership. 100 shares = 1%.
  • Access rules: Who can join and how (buy, request, crowdfunding, staking, QR).
  • Distribution schedule: How and when revenue is distributed.
  • Metadata: Name, ticker, description, estimated APR, and more.

Pools are the fundamental unit in Token Studio. Everything else -- distributions, marketplace listings, user dashboards -- revolves around pools.

Learn more: Pools

Shares

Shares represent fractional ownership in a pool. The share system uses basis points:

SharesOwnership
10,000100%
5,00050%
1,00010%
1001%
10.01%

Shares are tracked on-chain in the smart contract and mirrored in the database via the sync process. When a distribution occurs, each shareholder's claim is proportional to their share count at the time of the distribution.

Distributions

Distributions are how revenue flows from the pool to shareholders:

  • V1 (Push): The pool creator calls distribute() and the contract sends funds to every shareholder in a single transaction. Simple but limited to ~500 shareholders due to gas costs.

  • V2 (Pull): The pool creator calls create_distribution() which records a distribution round. Each shareholder then calls claim() individually. Scales to 10,000+ shareholders.

Learn more: Distributions

Marketplace

The built-in marketplace enables secondary trading of pool shares:

  • Shareholders list shares for sale at a specified price
  • Investors browse and purchase listings
  • Settlement happens on-chain through the smart contract
  • 1.5% commission on purchases

Learn more: Marketplace

User Roles

RoleCapabilities
Pool CreatorCreates pools, manages shares, triggers distributions, configures settings
InvestorPurchases/receives shares, claims distributions, lists shares for sale
AdminPlatform-wide management through the backoffice admin panel

User Dashboard

When a user connects their wallet, their dashboard shows:

  • My Pools: All pools where the user holds shares or is the creator
  • Portfolio: Aggregate view of holdings across all pools
  • Distributions: Pending claims and distribution history
  • Marketplace: Active listings and purchase history

A user sees a pool in their dashboard only if they have a record in the pool_users table. This record is created when:

  • The user creates the pool
  • The user is assigned shares (airdrop, request approval)
  • The user purchases shares (marketplace or direct buy)

Platform URLs

PageURL Pattern
Explore pools/explore
Pool detail/pool/{address}?network_id={chainId}
Marketplace/marketplace
Pool marketplace/marketplace/pool/{address}?network_id={chainId}
Create pool/create-pool
Dashboard/dashboard

Multi-Chain Support

Token Studio supports pool creation and management across multiple blockchains:

FeatureStellar SorobanEVM Chains
Pool creationYesYes
V1 distributionsYesYes
V2 distributionsYesPlanned
MarketplaceYesPlanned
Share transfersYesYes

Stellar Soroban is the recommended chain for new pools due to its lower fees, V2 contract support, and integrated marketplace.

Architecture Overview

+-------------------+         +-------------------+
| Angular 15 | HTTP | Express API |
| Frontend |-------->| (port 3000) |
| (port 4200) | | |
| | WS | |
| - @ngrx/store |<------->| - Sequelize ORM |
| - Material UI | | - JWT Auth |
| - ngx-translate | | - Socket.IO |
+-------------------+ +--------+----------+
|
+--------v----------+
| PostgreSQL |
| (Cloud SQL) |
+--------+----------+
|
+--------v----------+
| Blockchain Layer |
| - Stellar Soroban |
| - EVM (ethers.js) |
+-------------------+

Key Backend Files

For developers working with the Token Studio codebase:

FilePurpose
back-end/services/pool.service.jsPool CRUD operations and business logic
back-end/services/poolUtils.service.jsPool calculations, APR, utility functions
back-end/dal/repositories/bc_new.repository.jsBlockchain query abstraction
back-end/api/routes/pool.routes.jsPool API route definitions
front-end/src/app/services/pool.service.tsFrontend pool service
front-end/src/app/create-poolv3/Pool creation wizard components