Skip to main content
A deposit, a redemption or a new fund is a Solana transaction. This page follows one from the Starke app to the chain and back into the API’s reads.

1. The API builds the transaction

When an investor deposits or redeems, or a manager creates a fund, the Starke app asks the API to build the transaction. The API reads the fund’s current state and prices, and returns the transaction unsigned.

2. The user’s wallet signs it

The investor’s or manager’s own wallet signs the transaction. That signature is what authorizes it: only the wallet that holds the fund tokens can redeem them, and only the investor can deposit from their wallet. Starke also signs each transaction the app sends, as the fee payer: Starke pays the Solana network fee, so users don’t need SOL to deposit or redeem.

3. The app sends it, and the program checks it

The app sends the signed transaction to Solana and waits for the network to confirm it. The fund program then applies the fund’s rules on-chain, and refuses the transaction if one isn’t met. For a deposit, for example, the investor’s wallet must be on the fund’s list of allowed wallets: Starke adds a wallet to that list once its owner has verified their identity (KYC).

4. The indexer records it

Once the transaction is confirmed, the indexer reads it from the chain and records it in Starke’s database, and the API’s reads show the new balances and prices. To know when one transaction has been recorded, call:
The API answers 404 until the transaction is recorded, and 200 with its signature after. The Starke app does the same: it asks once a second until it gets a 200, then refreshes its reads.

For your integration

The public API is read-only today: building transactions through it, with API keys and a test environment, is planned (see Environments). Until then, a transaction made in the Starke app or sent by any wallet to the fund program shows in the API’s reads once step 4 is done.