Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.generalmarket.io/llms.txt

Use this file to discover all available pages before exploring further.

You are about to create a financial product. The market will price it. The market has no feelings about your intentions. A Dex Traded Fund (DTF) is a tokenized basket of crypto assets — an on-chain ETF. You choose the assets, set the weights, and deploy in a single transaction. After that, anyone can buy and sell shares. The product is no longer yours. It belongs to the market.

Step-by-Step Creation

1

Select Assets

Choose from 100+ available crypto tokens. They are organized by category (Layer 1, DeFi, AI, Memecoins, etc.).The protocol imposes no minimum or maximum count. A well-diversified DTF holds between 5 and 50 assets. Diversification is the admission that you do not know which one will fail.
2

Set Weights

Assign a percentage weight to each asset. Weights must sum to exactly 100%. The weights are your thesis expressed as numbers.
AssetWeight
BTC50%
ETH30%
SOL20%
The Equal Weight button distributes weights evenly. It is the most honest allocation — the one that admits you have no edge. Fine-tune from there.
3

Add Metadata

Give the DTF a name and description. Buyers will read the name. Some will read the description. Few will read the holdings. Name it well.
  • Website URL — link to a project page, blog post, or research document
  • YouTube video — embed an explainer or thesis video on the DTF’s market page
4

Deploy

Click Create DTF. One transaction. One confirmation. After this, there is no undo.The deployment transaction:
  1. Registers the DTF on the Index contract on L3
  2. Converts percentage weights into fixed per-share quantities
  3. Sets the initial NAV to $1.00
The DTF is live. It appears on the Markets page. The market begins forming an opinion.

How Weights Become Quantities

Weights are intentions. Quantities are commitments. At creation, the protocol converts one into the other:
qty[i] = (weight[i] * 1e18) / price[i]
These quantities define how much of each asset one DTF share represents. They are stored on-chain and do not change unless the creator triggers a rebalance. The quantities are permanent. The prices are not.

Example

Suppose a DTF is created with 100 assets, all equally weighted at 1%, and every asset is priced at $1.00:
qty[i] = (0.01 * 1e18) / 1e18 = 0.01 tokens per share
Each share of the DTF holds 0.01 of each token. The NAV starts at exactly $1.00: As asset prices move, the NAV drifts from $1.00. That drift is the entire point. You built the basket. The market decides what it is worth.
The NAV formula is identical everywhere: on-chain in the Index contract, in the oracle nodes, and in the frontend. Quantities are the source of truth. Weights are a memory.

Deployer Fees

The deployer earns a fee on every buy and sell transaction. Design a good index and the market pays you. Design a bad one and nobody trades it. The incentive is simple. The execution is not. Fees are denominated in USDC and credited to the deployer’s wallet automatically as trades settle.

After Deployment

The DTF is live. What you intended no longer matters. What you built does.
  • The DTF appears on the Markets page alongside all other DTFs
  • Anyone with USDC can buy and sell shares
  • Real-time NAV, price charts, and trading volume are visible on the DTF’s detail page
  • The deployer earns fees on every trade
DTF creation is irreversible. Verify the asset selection and weights before deploying. You can rebalance weights later. You cannot delete the DTF. What is deployed stays deployed.