Creating a Basket
What you decide, what is permanent, and what happens after.
Anyone can create a Basket. There is no application and no approval: you make five decisions and it exists.
The five decisions
What goes in it. Any tokens on the chain. Verify the contract addresses rather than trusting tickers: many tokens share a symbol with the real tokenized stocks, and a Basket holding the wrong one is worthless no matter how good it looks.
How much of each. You pick amounts per token, not percentages. If you have a target split in mind, convert it at today's prices and the amounts follow. From then on the split moves with the market, which is normal.
Your fees. A management fee per year, a fee on buying and redeeming, or neither. You can change these later.
Your fee ceilings. The maximum each fee may ever reach. This is the one thing you can never undo. Set them too low and you have capped your own upside permanently; set them absurdly high and nobody will trust the Basket. Somewhere near five percent is a reasonable statement of intent.
Who manages it. Usually you. This can be transferred later, or given up permanently.
What happens next
The Basket exists as a token the moment it is created, and anyone can buy it immediately. There is no seeding requirement and no minimum.
Nothing else is automatic. In particular, your management fee accumulates but is not collected until someone sends a transaction to collect it. Collecting regularly is better than letting it build up: a single large collection moves the backing per token noticeably in one step, which is worse for anyone providing liquidity against it.
Managing it afterwards
You can rebalance, adjust fees under your ceilings, and hand the Basket to someone else or to nobody. See Rebalancing a Basket.
Before giving up control, turn on open recovery
If a token is ever sent to your Basket by mistake and is not one of its components, it is invisible to redemption and stuck. Recovering it is a manager action, so a Basket with no manager can never recover anything. If you plan to give up control, enable recovery-by-anyone first. Afterwards is too late.
Doing it programmatically
The contracts are open and the factory takes no permissions, so you can create a Basket directly rather than through an interface. The contracts, the deployment addresses and a TypeScript SDK with worked examples all live in the repository, next to the code they describe.