The on-chain programs
- The fund program holds each fund’s assets in accounts that the program controls, not any person. It issues fund tokens when an investor deposits, burns them when the investor redeems, and calculates the fund token’s price on-chain. It also checks, on-chain, which wallets may deposit into each fund.
- The transfer hook runs on every transfer of a fund token. It refuses the transfer unless the fund allows transfers.
The indexer
The indexer reads every transaction of the fund program from Solana, decodes it, and records the result in Starke’s database: the funds, their transactions, the changes to their tokens and assets, and their prices over time.The API
The API serves reads from that database: the public reference lists them. It also builds the transactions that the Starke app asks its users to sign (see Transaction model); those operations aren’t public yet.The app
The Starke app, at app.starke.finance, is where investors and fund managers sign in, verify their identity, and deposit, redeem or manage a fund. It uses the same API.What this means for your integration
- The chain is the record; the API is a view of it. A transaction shows in the API’s reads once the indexer has recorded it, a short time after the chain confirms it. To know when that has happened for one transaction, call
GET /v1/transactions/{signature}(Transaction model). - Fund addresses are Solana addresses. The
idsandidparameters take the fund’s account address, the same one the Starke app shows in a fund page’s URL.