> For the complete documentation index, see [llms.txt](https://docs.starke.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.starke.finance/products/fund-tokenization-as-a-service-ftaas/ftaas-api/vaults.md).

# Vaults

Vault analytics. Get vault details, transactions, description and icon, investors, etc.

## Get vtokens

> List vtoken market data (price, AUM, supply, mint, symbol, name, uri) for all Starke Finance vaults.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vtokens":{"post":{"tags":["Vaults"],"summary":"Get vtokens","description":"List vtoken market data (price, AUM, supply, mint, symbol, name, uri) for all Starke Finance vaults.","operationId":"get_vtokens","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","default":1,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","default":20,"maximum":100,"minimum":1}},{"name":"search","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sort_by","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetAllVaultsOrder"}]}},{"name":"order","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/QueryOrder"}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVaultsJsonQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved vtoken list.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VtokenListResp"}}}},"400":{"description":"include_ids and exclude_ids must be disjoint."},"418":{"description":"I'm a teapot."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"GetAllVaultsOrder":{"type":"string","enum":["vault_id","name","symbol","created_at","updated_at","vtoken_price","change1d","change7d","change30d","change1y","change_ytd"]},"QueryOrder":{"type":"string","enum":["asc","desc"]},"GetVaultsJsonQuery":{"type":"object","properties":{"manager_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}},"exclude_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}},"include_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VtokenListResp":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","required":["vtokens"],"properties":{"vtokens":{"type":"array","items":{"$ref":"#/components/schemas/VtokenPrice"},"description":"List of `VtokenPrice`"}}}],"description":"Vtoken List Response Model"},"Pagination":{"type":"object","required":["page","limit","total_pages","total_count"],"properties":{"page":{"type":"integer","format":"int32","description":"Current page number","minimum":0},"limit":{"type":"integer","format":"int32","description":"Number of items per page","minimum":0},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages","minimum":0},"total_count":{"type":"integer","format":"int64","description":"Total number of items","minimum":0}}},"VtokenPrice":{"allOf":[{"$ref":"#/components/schemas/Vtoken"},{"type":"object","required":["vault_id"],"properties":{"vault_id":{"$ref":"#/components/schemas/Pubkey","description":"Vault this Vtoken belongs to"}}}],"title":"VtokenPrice","description":"Vtoken Price Response Model"},"Vtoken":{"type":"object","title":"Vtoken","description":"Vault Vtoken Response Model","required":["mint_id","symbol","name","uri"],"properties":{"mint_id":{"$ref":"#/components/schemas/Pubkey","description":"Mint of the Vtoken"},"symbol":{"type":"string","description":"Symbol of the Vtoken"},"name":{"type":"string","description":"Name of the Vtoken / Vault"},"uri":{"type":"string","description":"URI of the Vtoken"},"supply":{"type":["number","null"],"format":"double","description":"Supply of the Vtoken"},"price_usd":{"type":["number","null"],"format":"double","description":"Price of the Vtoken in USD"},"aum_usd":{"type":["number","null"],"format":"double","description":"AUM of the Vtoken in USD"}}}}}}
```

## Get all vaults

> List all Starke Finance vaults' information.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults":{"post":{"tags":["Vaults"],"summary":"Get all vaults","description":"List all Starke Finance vaults' information.","operationId":"get_vaults","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","default":1,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","default":20,"maximum":100,"minimum":1}},{"name":"search","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sort_by","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetAllVaultsOrder"}]}},{"name":"order","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/QueryOrder"}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVaultsJsonQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved vaults.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultListResp"}}}},"400":{"description":"include_ids and exclude_ids must be disjoint."},"418":{"description":"I'm a teapot."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"GetAllVaultsOrder":{"type":"string","enum":["vault_id","name","symbol","created_at","updated_at","vtoken_price","change1d","change7d","change30d","change1y","change_ytd"]},"QueryOrder":{"type":"string","enum":["asc","desc"]},"GetVaultsJsonQuery":{"type":"object","properties":{"manager_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}},"exclude_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}},"include_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VaultListResp":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","required":["vaults"],"properties":{"vaults":{"type":"array","items":{"$ref":"#/components/schemas/VaultResp"},"description":"List of `VaultResp`"}}}],"description":"Vault List with pagination data"},"Pagination":{"type":"object","required":["page","limit","total_pages","total_count"],"properties":{"page":{"type":"integer","format":"int32","description":"Current page number","minimum":0},"limit":{"type":"integer","format":"int32","description":"Number of items per page","minimum":0},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages","minimum":0},"total_count":{"type":"integer","format":"int64","description":"Total number of items","minimum":0}}},"VaultResp":{"type":"object","description":"Vault Details","required":["id","name","manager_id","created_at","is_closed","current_depositors","deposit_token_mint_id","signature","metadata","config","vtoken","returns"],"properties":{"id":{"$ref":"#/components/schemas/Pubkey"},"name":{"type":"string"},"manager_id":{"$ref":"#/components/schemas/Pubkey"},"created_at":{"type":"string","format":"date-time"},"is_closed":{"type":"boolean"},"prices_updated_at":{"type":["string","null"],"format":"date-time"},"current_depositors":{"type":"integer","format":"int32"},"deposit_token_mint_id":{"$ref":"#/components/schemas/Pubkey"},"signature":{"$ref":"#/components/schemas/Signature"},"initial_vtoken_price":{"type":["integer","null"],"format":"int32"},"metadata":{"$ref":"#/components/schemas/VaultMetadata"},"config":{"$ref":"#/components/schemas/VaultConfig"},"vtoken":{"$ref":"#/components/schemas/Vtoken"},"returns":{"$ref":"#/components/schemas/VaultReturns"},"volatility_annualized":{"type":["number","null"],"format":"double"}}},"Signature":{"type":"string","description":"Base-58 encoded Solana Signature","contentEncoding":"base58"},"VaultMetadata":{"type":"object","title":"VaultMetadata","description":"Admin-managed vault metadata (icon and description only)","properties":{"description":{"type":["string","null"]},"icon_url":{"type":["string","null"]}}},"VaultConfig":{"type":"object","title":"VaultConfig","description":"On-chain vault configuration","required":["allowed_investor_types","allowed_investor_tiers","max_depositors","individual_min_deposit","entity_min_deposit","is_transferrable"],"properties":{"allowed_investor_types":{"$ref":"#/components/schemas/InvestorTypeAccess"},"allowed_investor_tiers":{"$ref":"#/components/schemas/InvestorTierAccess"},"max_allowed_aum":{"type":["integer","null"],"format":"int64"},"max_depositors":{"type":"integer","format":"int32"},"individual_min_deposit":{"type":"integer","format":"int32"},"individual_max_deposit":{"type":["integer","null"],"format":"int32"},"entity_min_deposit":{"type":"integer","format":"int32"},"entity_max_deposit":{"type":["integer","null"],"format":"int32"},"is_transferrable":{"type":"boolean"}}},"InvestorTypeAccess":{"type":"object","description":"Which investor types are allowed to deposit (0 bitmask = all allowed)","required":["unknown","entity","individual"],"properties":{"unknown":{"type":"boolean"},"entity":{"type":"boolean"},"individual":{"type":"boolean"}}},"InvestorTierAccess":{"type":"object","description":"Which investor tiers are allowed to deposit (0 bitmask = all allowed)","required":["basic","accredited","qualified"],"properties":{"basic":{"type":"boolean"},"accredited":{"type":"boolean"},"qualified":{"type":"boolean"}}},"Vtoken":{"type":"object","title":"Vtoken","description":"Vault Vtoken Response Model","required":["mint_id","symbol","name","uri"],"properties":{"mint_id":{"$ref":"#/components/schemas/Pubkey","description":"Mint of the Vtoken"},"symbol":{"type":"string","description":"Symbol of the Vtoken"},"name":{"type":"string","description":"Name of the Vtoken / Vault"},"uri":{"type":"string","description":"URI of the Vtoken"},"supply":{"type":["number","null"],"format":"double","description":"Supply of the Vtoken"},"price_usd":{"type":["number","null"],"format":"double","description":"Price of the Vtoken in USD"},"aum_usd":{"type":["number","null"],"format":"double","description":"AUM of the Vtoken in USD"}}},"VaultReturns":{"type":"object","title":"VaultReturns","description":"Vault Returns for last year, month, and quarter to date","required":["mtd","qtd","ytd","return_1d","return_7d","return_30d","return_1y"],"properties":{"mtd":{"type":"number","format":"double","description":"Month to date return"},"qtd":{"type":"number","format":"double","description":"Quarter(Financial) to date return"},"ytd":{"type":"number","format":"double","description":"Year to date return"},"return_1d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 24hrs"},"return_7d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 7 days"},"return_30d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 30 days"},"return_1y":{"type":"number","format":"double","description":"Percentage change in AUM in the last 1 year"}}}}}}
```

## Get vault by id

> Get detailed information about a specific Starke Finance vault with returns.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}":{"get":{"tags":["Vaults"],"summary":"Get vault by id","description":"Get detailed information about a specific Starke Finance vault with returns.","operationId":"get_vault_by_id","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"responses":{"200":{"description":"Successfull retrieved vault.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultByIdResp"}}}},"404":{"description":"Vault was not found."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VaultByIdResp":{"type":"object","description":"Vault Details with returns and volatility","required":["vault"],"properties":{"vault":{"$ref":"#/components/schemas/VaultResp"}}},"VaultResp":{"type":"object","description":"Vault Details","required":["id","name","manager_id","created_at","is_closed","current_depositors","deposit_token_mint_id","signature","metadata","config","vtoken","returns"],"properties":{"id":{"$ref":"#/components/schemas/Pubkey"},"name":{"type":"string"},"manager_id":{"$ref":"#/components/schemas/Pubkey"},"created_at":{"type":"string","format":"date-time"},"is_closed":{"type":"boolean"},"prices_updated_at":{"type":["string","null"],"format":"date-time"},"current_depositors":{"type":"integer","format":"int32"},"deposit_token_mint_id":{"$ref":"#/components/schemas/Pubkey"},"signature":{"$ref":"#/components/schemas/Signature"},"initial_vtoken_price":{"type":["integer","null"],"format":"int32"},"metadata":{"$ref":"#/components/schemas/VaultMetadata"},"config":{"$ref":"#/components/schemas/VaultConfig"},"vtoken":{"$ref":"#/components/schemas/Vtoken"},"returns":{"$ref":"#/components/schemas/VaultReturns"},"volatility_annualized":{"type":["number","null"],"format":"double"}}},"Signature":{"type":"string","description":"Base-58 encoded Solana Signature","contentEncoding":"base58"},"VaultMetadata":{"type":"object","title":"VaultMetadata","description":"Admin-managed vault metadata (icon and description only)","properties":{"description":{"type":["string","null"]},"icon_url":{"type":["string","null"]}}},"VaultConfig":{"type":"object","title":"VaultConfig","description":"On-chain vault configuration","required":["allowed_investor_types","allowed_investor_tiers","max_depositors","individual_min_deposit","entity_min_deposit","is_transferrable"],"properties":{"allowed_investor_types":{"$ref":"#/components/schemas/InvestorTypeAccess"},"allowed_investor_tiers":{"$ref":"#/components/schemas/InvestorTierAccess"},"max_allowed_aum":{"type":["integer","null"],"format":"int64"},"max_depositors":{"type":"integer","format":"int32"},"individual_min_deposit":{"type":"integer","format":"int32"},"individual_max_deposit":{"type":["integer","null"],"format":"int32"},"entity_min_deposit":{"type":"integer","format":"int32"},"entity_max_deposit":{"type":["integer","null"],"format":"int32"},"is_transferrable":{"type":"boolean"}}},"InvestorTypeAccess":{"type":"object","description":"Which investor types are allowed to deposit (0 bitmask = all allowed)","required":["unknown","entity","individual"],"properties":{"unknown":{"type":"boolean"},"entity":{"type":"boolean"},"individual":{"type":"boolean"}}},"InvestorTierAccess":{"type":"object","description":"Which investor tiers are allowed to deposit (0 bitmask = all allowed)","required":["basic","accredited","qualified"],"properties":{"basic":{"type":"boolean"},"accredited":{"type":"boolean"},"qualified":{"type":"boolean"}}},"Vtoken":{"type":"object","title":"Vtoken","description":"Vault Vtoken Response Model","required":["mint_id","symbol","name","uri"],"properties":{"mint_id":{"$ref":"#/components/schemas/Pubkey","description":"Mint of the Vtoken"},"symbol":{"type":"string","description":"Symbol of the Vtoken"},"name":{"type":"string","description":"Name of the Vtoken / Vault"},"uri":{"type":"string","description":"URI of the Vtoken"},"supply":{"type":["number","null"],"format":"double","description":"Supply of the Vtoken"},"price_usd":{"type":["number","null"],"format":"double","description":"Price of the Vtoken in USD"},"aum_usd":{"type":["number","null"],"format":"double","description":"AUM of the Vtoken in USD"}}},"VaultReturns":{"type":"object","title":"VaultReturns","description":"Vault Returns for last year, month, and quarter to date","required":["mtd","qtd","ytd","return_1d","return_7d","return_30d","return_1y"],"properties":{"mtd":{"type":"number","format":"double","description":"Month to date return"},"qtd":{"type":"number","format":"double","description":"Quarter(Financial) to date return"},"ytd":{"type":"number","format":"double","description":"Year to date return"},"return_1d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 24hrs"},"return_7d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 7 days"},"return_30d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 30 days"},"return_1y":{"type":"number","format":"double","description":"Percentage change in AUM in the last 1 year"}}}}}}
```

## Get vault assets bulk

> Get current holdings for up to 25 Starke Finance vaults in a single request.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/assets":{"post":{"tags":["Vaults"],"summary":"Get vault assets bulk","description":"Get current holdings for up to 25 Starke Finance vaults in a single request.","operationId":"get_vault_assets_bulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVaultAssetsBulkQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved bulk vault assets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultAssetsBulkResp"}}}},"400":{"description":"Too many vaults requested (max 25)."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"GetVaultAssetsBulkQuery":{"type":"object","required":["vaults"],"properties":{"vaults":{"type":"array","items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VaultAssetsBulkResp":{"type":"object","description":"Bulk Assets Response Model","required":["vault_assets"],"properties":{"vault_assets":{"type":"array","items":{"$ref":"#/components/schemas/VaultAssetsEntry"},"description":"List of per-vault asset entries"}}},"VaultAssetsEntry":{"allOf":[{"$ref":"#/components/schemas/VaultAssetsResp"},{"type":"object","required":["vault_id"],"properties":{"vault_id":{"$ref":"#/components/schemas/Pubkey"}}}],"description":"Per-vault entry in bulk assets response"},"VaultAssetsResp":{"type":"object","description":"API Succcess Response for Assets","required":["aum_usd","assets"],"properties":{"aum_usd":{"type":"number","format":"double","description":"This is null/None if any assets don't have a USD value"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/TokenBalanceWithShare"},"description":"List of `TokenBalanceWithShare`"}}},"TokenBalanceWithShare":{"allOf":[{"$ref":"#/components/schemas/TokenBalanceWithUsd"},{"type":"object","required":["allocation_share"],"properties":{"allocation_share":{"type":"number","format":"double","description":"This is a percentage of the total USD AUM of the vault.\nThis is null/None if the allocation share if any assets don't have a USD value"}}}],"title":"TokenBalancewithShare","description":"`TokenBalanceWithUsd` with Allocation Share"},"TokenBalanceWithUsd":{"allOf":[{"$ref":"#/components/schemas/TokenBalance"},{"type":"object","properties":{"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"icon_url":{"type":["string","null"]},"decimals":{"type":["integer","null"],"format":"int32","description":"Number of decimal places for this token (e.g. 6 for USDC, 9 for SOL)"},"rate_usd":{"type":["number","null"],"format":"double"},"value_usd":{"type":["number","null"],"format":"double"}}}],"description":"Extension of TokenBalance with USD rate and name/symbol for this token.If rate is `null`, then the value_usd is also `null`.vaule_usd = balance * rate_usd"},"TokenBalance":{"type":"object","description":"Token Balance information.Here, owner = holder of the ATA.Balance = (raw_balance / (10^decimals of the mint))","required":["mint","owner","balance"],"properties":{"mint":{"$ref":"#/components/schemas/Pubkey"},"owner":{"$ref":"#/components/schemas/Pubkey"},"token_program_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Pubkey"}]},"balance":{"type":"number","format":"double"}}}}}}
```

## Get vault returns bulk

> Get returns/stats for up to 25 Starke Finance vaults in a single request.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/returns":{"post":{"tags":["Vaults"],"summary":"Get vault returns bulk","description":"Get returns/stats for up to 25 Starke Finance vaults in a single request.","operationId":"get_vault_returns_bulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVaultReturnsBulkQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved bulk vault returns.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultReturnsBulkResp"}}}},"400":{"description":"Too many vaults requested (max 25)."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"GetVaultReturnsBulkQuery":{"type":"object","required":["vaults"],"properties":{"vaults":{"type":"array","items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VaultReturnsBulkResp":{"type":"object","description":"Bulk Returns Response Model","required":["vault_returns"],"properties":{"vault_returns":{"type":"array","items":{"$ref":"#/components/schemas/VaultReturnsEntry"}}}},"VaultReturnsEntry":{"allOf":[{"$ref":"#/components/schemas/VaultReturns"},{"type":"object","required":["vault_id","vtoken"],"properties":{"vault_id":{"$ref":"#/components/schemas/Pubkey"},"vtoken":{"$ref":"#/components/schemas/VtokenPricesOnly"}}}],"description":"Per-vault entry in bulk returns response"},"VaultReturns":{"type":"object","title":"VaultReturns","description":"Vault Returns for last year, month, and quarter to date","required":["mtd","qtd","ytd","return_1d","return_7d","return_30d","return_1y"],"properties":{"mtd":{"type":"number","format":"double","description":"Month to date return"},"qtd":{"type":"number","format":"double","description":"Quarter(Financial) to date return"},"ytd":{"type":"number","format":"double","description":"Year to date return"},"return_1d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 24hrs"},"return_7d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 7 days"},"return_30d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 30 days"},"return_1y":{"type":"number","format":"double","description":"Percentage change in AUM in the last 1 year"}}},"VtokenPricesOnly":{"type":"object","description":"Vtoken Prices Only","properties":{"price_usd":{"type":["number","null"],"format":"double"},"aum_usd":{"type":["number","null"],"format":"double"},"supply":{"type":["number","null"],"format":"double"},"updated_at":{"type":["string","null"],"format":"date-time"}}}}}}
```

## Get vault assets

> Get current holdings for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/assets":{"get":{"tags":["Vaults"],"summary":"Get vault assets","description":"Get current holdings for a specific Starke Finance vault.","operationId":"get_vault_assets","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"responses":{"200":{"description":"Successfully retrieved vault assets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultAssetsResp"}}}},"400":{"description":"Vault not found."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VaultAssetsResp":{"type":"object","description":"API Succcess Response for Assets","required":["aum_usd","assets"],"properties":{"aum_usd":{"type":"number","format":"double","description":"This is null/None if any assets don't have a USD value"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/TokenBalanceWithShare"},"description":"List of `TokenBalanceWithShare`"}}},"TokenBalanceWithShare":{"allOf":[{"$ref":"#/components/schemas/TokenBalanceWithUsd"},{"type":"object","required":["allocation_share"],"properties":{"allocation_share":{"type":"number","format":"double","description":"This is a percentage of the total USD AUM of the vault.\nThis is null/None if the allocation share if any assets don't have a USD value"}}}],"title":"TokenBalancewithShare","description":"`TokenBalanceWithUsd` with Allocation Share"},"TokenBalanceWithUsd":{"allOf":[{"$ref":"#/components/schemas/TokenBalance"},{"type":"object","properties":{"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"icon_url":{"type":["string","null"]},"decimals":{"type":["integer","null"],"format":"int32","description":"Number of decimal places for this token (e.g. 6 for USDC, 9 for SOL)"},"rate_usd":{"type":["number","null"],"format":"double"},"value_usd":{"type":["number","null"],"format":"double"}}}],"description":"Extension of TokenBalance with USD rate and name/symbol for this token.If rate is `null`, then the value_usd is also `null`.vaule_usd = balance * rate_usd"},"TokenBalance":{"type":"object","description":"Token Balance information.Here, owner = holder of the ATA.Balance = (raw_balance / (10^decimals of the mint))","required":["mint","owner","balance"],"properties":{"mint":{"$ref":"#/components/schemas/Pubkey"},"owner":{"$ref":"#/components/schemas/Pubkey"},"token_program_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Pubkey"}]},"balance":{"type":"number","format":"double"}}}}}}
```

## Get vault asset holdings history

> Get vault asset holdings history for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/assets/history":{"post":{"tags":["Vaults"],"summary":"Get vault asset holdings history","description":"Get vault asset holdings history for a specific Starke Finance vault.","operationId":"get_asset_holdings_history","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangeQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved vault assets history.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultChartResp"}}}},"400":{"description":"Vault not found."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"TimeRangeQuery":{"type":"object","required":["start_time","end_time","granularity"],"properties":{"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"granularity":{"$ref":"#/components/schemas/Granularity"}}},"Granularity":{"type":"string","enum":["5mins","15mins","30mins","1hour","2hours","4hours","8hours","12hours","1day","3days","7days","14days","1month","3months","6months","1year"]},"VaultChartResp":{"type":"object","description":"API Succcess Response for Assets History","required":["assets_history"],"properties":{"assets_history":{"type":"array","items":{"$ref":"#/components/schemas/VaultChartItem"}}}},"VaultChartItem":{"allOf":[{"$ref":"#/components/schemas/VaultAssetsResp"},{"type":"object","required":["generated_timestamp"],"properties":{"generated_timestamp":{"type":"string","format":"date-time","description":"This is a timestamp at which the data was sampled"}}}],"title":"Vault Assets History Item"},"VaultAssetsResp":{"type":"object","description":"API Succcess Response for Assets","required":["aum_usd","assets"],"properties":{"aum_usd":{"type":"number","format":"double","description":"This is null/None if any assets don't have a USD value"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/TokenBalanceWithShare"},"description":"List of `TokenBalanceWithShare`"}}},"TokenBalanceWithShare":{"allOf":[{"$ref":"#/components/schemas/TokenBalanceWithUsd"},{"type":"object","required":["allocation_share"],"properties":{"allocation_share":{"type":"number","format":"double","description":"This is a percentage of the total USD AUM of the vault.\nThis is null/None if the allocation share if any assets don't have a USD value"}}}],"title":"TokenBalancewithShare","description":"`TokenBalanceWithUsd` with Allocation Share"},"TokenBalanceWithUsd":{"allOf":[{"$ref":"#/components/schemas/TokenBalance"},{"type":"object","properties":{"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"icon_url":{"type":["string","null"]},"decimals":{"type":["integer","null"],"format":"int32","description":"Number of decimal places for this token (e.g. 6 for USDC, 9 for SOL)"},"rate_usd":{"type":["number","null"],"format":"double"},"value_usd":{"type":["number","null"],"format":"double"}}}],"description":"Extension of TokenBalance with USD rate and name/symbol for this token.If rate is `null`, then the value_usd is also `null`.vaule_usd = balance * rate_usd"},"TokenBalance":{"type":"object","description":"Token Balance information.Here, owner = holder of the ATA.Balance = (raw_balance / (10^decimals of the mint))","required":["mint","owner","balance"],"properties":{"mint":{"$ref":"#/components/schemas/Pubkey"},"owner":{"$ref":"#/components/schemas/Pubkey"},"token_program_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Pubkey"}]},"balance":{"type":"number","format":"double"}}}}}}
```

## Get vault investors

> Get investors for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/investors":{"post":{"tags":["Vaults"],"summary":"Get vault investors","description":"Get investors for a specific Starke Finance vault.","operationId":"get_vault_investors","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetInvestorsQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved vault investors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestorListResp"}}}},"400":{"description":"Vault not found."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"GetInvestorsQuery":{"type":"object","properties":{"page":{"type":["integer","null"],"format":"int32","minimum":0},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"sort_by":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetInvestorsOrder"}],"default":"investor_id"},"order":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/QueryOrder"}]}}},"GetInvestorsOrder":{"type":"string","enum":["investor_id","investor_type","vtoken_balance","first_deposited_at"]},"QueryOrder":{"type":"string","enum":["asc","desc"]},"InvestorListResp":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","required":["investors"],"properties":{"investors":{"type":"array","items":{"$ref":"#/components/schemas/InvestorResp"},"description":"List of `InvestorResp`"}}}],"description":"Investor List Response Model"},"Pagination":{"type":"object","required":["page","limit","total_pages","total_count"],"properties":{"page":{"type":"integer","format":"int32","description":"Current page number","minimum":0},"limit":{"type":"integer","format":"int32","description":"Number of items per page","minimum":0},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages","minimum":0},"total_count":{"type":"integer","format":"int64","description":"Total number of items","minimum":0}}},"InvestorResp":{"type":"object","title":"InvestorResp","description":"Investor Response Model","required":["investor_id","vtoken_balance","investor_type","first_deposited_at"],"properties":{"investor_id":{"$ref":"#/components/schemas/Pubkey"},"vtoken_balance":{"type":"number","format":"double","description":"Current VToken balance of the investor"},"investor_type":{"$ref":"#/components/schemas/InvestorType"},"first_deposited_at":{"type":"string","format":"date-time","description":"When the first deposit was made by this investor"}}},"InvestorType":{"type":"string","enum":["unknown","entity","individual"]}}}}
```

## Get vtoken prices

> Get vtoken prices for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/vtoken_prices":{"post":{"tags":["Vaults"],"summary":"Get vtoken prices","description":"Get vtoken prices for a specific Starke Finance vault.","operationId":"get_vtoken_prices","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVtokenPricesQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved Vtoken prices.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VtokenPricesResp"}}}},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"GetVtokenPricesQuery":{"type":"object","required":["vaults"],"properties":{"vaults":{"type":"array","items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"VtokenPricesResp":{"type":"object","description":"Vtoken Prices Response Model","required":["vtoken_prices"],"properties":{"vtoken_prices":{"type":"array","items":{"$ref":"#/components/schemas/VtokenPrice"},"description":"List of `VtokenPrice`"}}},"VtokenPrice":{"allOf":[{"$ref":"#/components/schemas/Vtoken"},{"type":"object","required":["vault_id"],"properties":{"vault_id":{"$ref":"#/components/schemas/Pubkey","description":"Vault this Vtoken belongs to"}}}],"title":"VtokenPrice","description":"Vtoken Price Response Model"},"Vtoken":{"type":"object","title":"Vtoken","description":"Vault Vtoken Response Model","required":["mint_id","symbol","name","uri"],"properties":{"mint_id":{"$ref":"#/components/schemas/Pubkey","description":"Mint of the Vtoken"},"symbol":{"type":"string","description":"Symbol of the Vtoken"},"name":{"type":"string","description":"Name of the Vtoken / Vault"},"uri":{"type":"string","description":"URI of the Vtoken"},"supply":{"type":["number","null"],"format":"double","description":"Supply of the Vtoken"},"price_usd":{"type":["number","null"],"format":"double","description":"Price of the Vtoken in USD"},"aum_usd":{"type":["number","null"],"format":"double","description":"AUM of the Vtoken in USD"}}}}}}
```

## Get vtoken price history

> Get vtoken price history for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/vtoken_price/history":{"post":{"tags":["Vaults"],"summary":"Get vtoken price history","description":"Get vtoken price history for a specific Starke Finance vault.","operationId":"get_vtoken_price_history","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangeQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved Vtoken price history.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VtokenPriceHistoryResp"}}}},"400":{"description":"Vault not found."},"412":{"description":"Granularity error."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"TimeRangeQuery":{"type":"object","required":["start_time","end_time","granularity"],"properties":{"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"granularity":{"$ref":"#/components/schemas/Granularity"}}},"Granularity":{"type":"string","enum":["5mins","15mins","30mins","1hour","2hours","4hours","8hours","12hours","1day","3days","7days","14days","1month","3months","6months","1year"]},"VtokenPriceHistoryResp":{"type":"object","description":"Vtoken Price History Response Model","required":["vtoken_price_history"],"properties":{"vtoken_price_history":{"type":"array","items":{"$ref":"#/components/schemas/VtokenPriceHistoryItem"}}}},"VtokenPriceHistoryItem":{"type":"object","title":"VtokenPriceHistoryItem","description":"Vtoken Price History Item Response Model.\nEverything except the `generated_timestamp` is optional\nsince data indexed might not be in the range of the requested time range.","required":["timestamp","generated_timestamp","price_usd","aum_usd","vtoken_supply"],"properties":{"timestamp":{"type":"string","format":"date-time","description":"This is the actual timestamp of the data"},"generated_timestamp":{"type":"string","format":"date-time","description":"This is a timestamp at which the data was sampled"},"price_usd":{"type":"number","format":"double","description":"Price of the Vtoken in USD"},"aum_usd":{"type":"number","format":"double","description":"AUM of the Vtoken in USD"},"vtoken_supply":{"type":"number","format":"double","description":"Supply of the Vtoken"}}}}}}
```

## Get vtoken price history for multiple vaults

> Get vtoken price history for up to 25 Starke Finance vaults in a single request.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/vtoken_price/history":{"post":{"tags":["Vaults"],"summary":"Get vtoken price history for multiple vaults","description":"Get vtoken price history for up to 25 Starke Finance vaults in a single request.","operationId":"get_vtoken_price_history_bulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVtokenPriceHistoryBulkBody"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved bulk Vtoken price history.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VtokenPriceHistoryBulkResp"}}}},"400":{"description":"Too many vaults requested (max 25)."},"412":{"description":"Granularity error."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"GetVtokenPriceHistoryBulkBody":{"type":"object","required":["vaults","start_time","end_time","granularity"],"properties":{"vaults":{"type":"array","items":{"$ref":"#/components/schemas/Pubkey"}},"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"granularity":{"$ref":"#/components/schemas/Granularity"}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"Granularity":{"type":"string","enum":["5mins","15mins","30mins","1hour","2hours","4hours","8hours","12hours","1day","3days","7days","14days","1month","3months","6months","1year"]},"VtokenPriceHistoryBulkResp":{"type":"object","description":"Bulk Vtoken Price History Response Model","required":["vtoken_price_history"],"properties":{"vtoken_price_history":{"type":"array","items":{"$ref":"#/components/schemas/VaultPriceHistoryEntry"}}}},"VaultPriceHistoryEntry":{"type":"object","description":"Per-vault entry in bulk price history response","required":["vault_id","history"],"properties":{"vault_id":{"$ref":"#/components/schemas/Pubkey"},"history":{"type":"array","items":{"$ref":"#/components/schemas/VaultPriceHistoryPoint"}}}},"VaultPriceHistoryPoint":{"type":"object","description":"Single price history point (used in bulk endpoint)","required":["timestamp","generated_timestamp","price_usd","aum_usd","vtoken_supply"],"properties":{"timestamp":{"type":"string","format":"date-time"},"generated_timestamp":{"type":"string","format":"date-time"},"price_usd":{"type":"number","format":"double"},"aum_usd":{"type":"number","format":"double"},"vtoken_supply":{"type":"number","format":"double"}}}}}}
```

## Get vtoken volatility

> Get vtoken volatility for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/vtoken_volatility/history":{"post":{"tags":["Vaults"],"summary":"Get vtoken volatility","description":"Get vtoken volatility for a specific Starke Finance vault.","operationId":"get_vtoken_volatility","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangeQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved Vtoken volatility.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VtokenVolatilityResp"}}}},"400":{"description":"Vault not found."},"412":{"description":"Granularity error."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"TimeRangeQuery":{"type":"object","required":["start_time","end_time","granularity"],"properties":{"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"granularity":{"$ref":"#/components/schemas/Granularity"}}},"Granularity":{"type":"string","enum":["5mins","15mins","30mins","1hour","2hours","4hours","8hours","12hours","1day","3days","7days","14days","1month","3months","6months","1year"]},"VtokenVolatilityResp":{"type":"object","description":"Vtoken Volatility Response Model","required":["vtoken_volatility_history"],"properties":{"vtoken_volatility_history":{"type":"array","items":{"$ref":"#/components/schemas/VtokenVolatilityItem"}}}},"VtokenVolatilityItem":{"type":"object","title":"VtokenVolatilityItem","description":"Vtoken Volatility Item Response Model\nGives the daily volatility of the Vtoken within generated buckets.","required":["start_timestamp","end_timestamp"],"properties":{"start_timestamp":{"type":"string","format":"date-time","description":"Start timestamp of the bucket"},"end_timestamp":{"type":"string","format":"date-time","description":"End timestamp of the bucket"},"volatility_annualized":{"type":["number","null"],"format":"double","description":"Volatility of the vtoken in annualized form"}}}}}}
```

## Get vault transaction by signature

> Get a single vault transaction by its Solana signature. Useful for polling to check if the back-end has processed a specific event or signature.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/transactions/{signature}":{"get":{"tags":["Vaults"],"summary":"Get vault transaction by signature","description":"Get a single vault transaction by its Solana signature. Useful for polling to check if the back-end has processed a specific event or signature.","operationId":"get_vault_transaction","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}},{"name":"signature","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Signature"}}],"responses":{"200":{"description":"Found transaction.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultTransactionResp"}}}},"400":{"description":"Vault not found."},"404":{"description":"Transaction not found."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"Signature":{"type":"string","description":"Base-58 encoded Solana Signature","contentEncoding":"base58"},"VaultTransactionResp":{"oneOf":[{"type":"object","title":"Create Vault","description":"Vault was created","required":["signature","tx_type","timestamp","manager_id"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"manager_id":{"$ref":"#/components/schemas/Pubkey"}}},{"type":"object","title":"Close Vault","description":"Vault was closed","required":["signature","tx_type","timestamp","manager_id"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"manager_id":{"$ref":"#/components/schemas/Pubkey"}}},{"type":"object","title":"Deposit","description":"Deposit was made","required":["signature","tx_type","timestamp","investor_id","deposit_token_amount","vtoken_minted_amount"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"investor_id":{"$ref":"#/components/schemas/Pubkey"},"deposit_token_amount":{"type":"number","format":"double"},"deposit_token_price_usd":{"type":["number","null"],"format":"double"},"deposit_token_value_usd":{"type":["number","null"],"format":"double"},"vtoken_minted_amount":{"type":"number","format":"double"}}},{"type":"object","title":"Swap","description":"Swap was made","required":["signature","tx_type","timestamp","manager_id","input","output"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"manager_id":{"$ref":"#/components/schemas/Pubkey"},"input":{"$ref":"#/components/schemas/TokenBalanceWithUsd"},"output":{"$ref":"#/components/schemas/TokenBalanceWithUsd"}}},{"type":"object","title":"Swap to Deposit Token","description":"Swap was made to the deposit token of the vault","required":["signature","tx_type","timestamp","authority_id","input","output"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"authority_id":{"$ref":"#/components/schemas/Pubkey"},"input":{"$ref":"#/components/schemas/TokenBalanceWithUsd"},"output":{"$ref":"#/components/schemas/TokenBalanceWithUsd"}}},{"type":"object","title":"Withdraw","description":"Withdraw was made","required":["signature","tx_type","timestamp","investor_id","vtoken_burned_amount","vtoken_mint"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"investor_id":{"$ref":"#/components/schemas/Pubkey"},"withdrawn_usd":{"type":["number","null"],"format":"double"},"vtoken_burned_amount":{"type":"number","format":"double"},"vtoken_mint":{"$ref":"#/components/schemas/Pubkey"},"vtoken_price":{"type":["number","null"],"format":"double"}}},{"type":"object","title":"Withdraw in Deposit Token","description":"Withdraw was made in the deposit token of the vault","required":["signature","tx_type","timestamp","user_id","vtoken_burned"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"user_id":{"$ref":"#/components/schemas/Pubkey"},"withdrawn_usd":{"type":["number","null"],"format":"double"},"vtoken_burned":{"type":"number","format":"double"},"vtoken_price":{"type":["number","null"],"format":"double"},"deposit_token_price_usd":{"type":["number","null"],"format":"double"}}}],"description":"Vault Transaction Response Model"},"VaultEventType":{"type":"string","enum":["vault_create","vault_close","deposit","withdraw","swap","swap_to_deposit_token_on_jupiter","withdraw_in_deposit_token"]},"TokenBalanceWithUsd":{"allOf":[{"$ref":"#/components/schemas/TokenBalance"},{"type":"object","properties":{"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"icon_url":{"type":["string","null"]},"decimals":{"type":["integer","null"],"format":"int32","description":"Number of decimal places for this token (e.g. 6 for USDC, 9 for SOL)"},"rate_usd":{"type":["number","null"],"format":"double"},"value_usd":{"type":["number","null"],"format":"double"}}}],"description":"Extension of TokenBalance with USD rate and name/symbol for this token.If rate is `null`, then the value_usd is also `null`.vaule_usd = balance * rate_usd"},"TokenBalance":{"type":"object","description":"Token Balance information.Here, owner = holder of the ATA.Balance = (raw_balance / (10^decimals of the mint))","required":["mint","owner","balance"],"properties":{"mint":{"$ref":"#/components/schemas/Pubkey"},"owner":{"$ref":"#/components/schemas/Pubkey"},"token_program_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Pubkey"}]},"balance":{"type":"number","format":"double"}}}}}}
```

## Get vault transactions history

> Get vault transactions history for a specific Starke Finance vault.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/{vault}/transactions":{"post":{"tags":["Vaults"],"summary":"Get vault transactions history","description":"Get vault transactions history for a specific Starke Finance vault.","operationId":"get_vault_transactions","parameters":[{"name":"vault","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Pubkey"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTransactionsQuery"}}},"required":true},"responses":{"200":{"description":"Found transactions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResp"}}}},"400":{"description":"Vault not found."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"GetTransactionsQuery":{"type":"object","properties":{"investor_ids":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Pubkey"}},"tx_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VaultEventType"}]},"page":{"type":["integer","null"],"format":"int32","minimum":0},"limit":{"type":["integer","null"],"format":"int32","minimum":0}}},"VaultEventType":{"type":"string","enum":["vault_create","vault_close","deposit","withdraw","swap","swap_to_deposit_token_on_jupiter","withdraw_in_deposit_token"]},"TransactionListResp":{"allOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"object","required":["transactions"],"properties":{"transactions":{"type":"array","items":{"$ref":"#/components/schemas/VaultTransactionResp"}}}}],"description":"Transaction List Response Model"},"Pagination":{"type":"object","required":["page","limit","total_pages","total_count"],"properties":{"page":{"type":"integer","format":"int32","description":"Current page number","minimum":0},"limit":{"type":"integer","format":"int32","description":"Number of items per page","minimum":0},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages","minimum":0},"total_count":{"type":"integer","format":"int64","description":"Total number of items","minimum":0}}},"VaultTransactionResp":{"oneOf":[{"type":"object","title":"Create Vault","description":"Vault was created","required":["signature","tx_type","timestamp","manager_id"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"manager_id":{"$ref":"#/components/schemas/Pubkey"}}},{"type":"object","title":"Close Vault","description":"Vault was closed","required":["signature","tx_type","timestamp","manager_id"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"manager_id":{"$ref":"#/components/schemas/Pubkey"}}},{"type":"object","title":"Deposit","description":"Deposit was made","required":["signature","tx_type","timestamp","investor_id","deposit_token_amount","vtoken_minted_amount"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"investor_id":{"$ref":"#/components/schemas/Pubkey"},"deposit_token_amount":{"type":"number","format":"double"},"deposit_token_price_usd":{"type":["number","null"],"format":"double"},"deposit_token_value_usd":{"type":["number","null"],"format":"double"},"vtoken_minted_amount":{"type":"number","format":"double"}}},{"type":"object","title":"Swap","description":"Swap was made","required":["signature","tx_type","timestamp","manager_id","input","output"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"manager_id":{"$ref":"#/components/schemas/Pubkey"},"input":{"$ref":"#/components/schemas/TokenBalanceWithUsd"},"output":{"$ref":"#/components/schemas/TokenBalanceWithUsd"}}},{"type":"object","title":"Swap to Deposit Token","description":"Swap was made to the deposit token of the vault","required":["signature","tx_type","timestamp","authority_id","input","output"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"authority_id":{"$ref":"#/components/schemas/Pubkey"},"input":{"$ref":"#/components/schemas/TokenBalanceWithUsd"},"output":{"$ref":"#/components/schemas/TokenBalanceWithUsd"}}},{"type":"object","title":"Withdraw","description":"Withdraw was made","required":["signature","tx_type","timestamp","investor_id","vtoken_burned_amount","vtoken_mint"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"investor_id":{"$ref":"#/components/schemas/Pubkey"},"withdrawn_usd":{"type":["number","null"],"format":"double"},"vtoken_burned_amount":{"type":"number","format":"double"},"vtoken_mint":{"$ref":"#/components/schemas/Pubkey"},"vtoken_price":{"type":["number","null"],"format":"double"}}},{"type":"object","title":"Withdraw in Deposit Token","description":"Withdraw was made in the deposit token of the vault","required":["signature","tx_type","timestamp","user_id","vtoken_burned"],"properties":{"signature":{"type":"string"},"tx_type":{"$ref":"#/components/schemas/VaultEventType"},"timestamp":{"type":"string","format":"date-time"},"user_id":{"$ref":"#/components/schemas/Pubkey"},"withdrawn_usd":{"type":["number","null"],"format":"double"},"vtoken_burned":{"type":"number","format":"double"},"vtoken_price":{"type":["number","null"],"format":"double"},"deposit_token_price_usd":{"type":["number","null"],"format":"double"}}}],"description":"Vault Transaction Response Model"},"TokenBalanceWithUsd":{"allOf":[{"$ref":"#/components/schemas/TokenBalance"},{"type":"object","properties":{"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"icon_url":{"type":["string","null"]},"decimals":{"type":["integer","null"],"format":"int32","description":"Number of decimal places for this token (e.g. 6 for USDC, 9 for SOL)"},"rate_usd":{"type":["number","null"],"format":"double"},"value_usd":{"type":["number","null"],"format":"double"}}}],"description":"Extension of TokenBalance with USD rate and name/symbol for this token.If rate is `null`, then the value_usd is also `null`.vaule_usd = balance * rate_usd"},"TokenBalance":{"type":"object","description":"Token Balance information.Here, owner = holder of the ATA.Balance = (raw_balance / (10^decimals of the mint))","required":["mint","owner","balance"],"properties":{"mint":{"$ref":"#/components/schemas/Pubkey"},"owner":{"$ref":"#/components/schemas/Pubkey"},"token_program_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Pubkey"}]},"balance":{"type":"number","format":"double"}}}}}}
```

## Get investments by investors

> Get investment details about investors.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/investments":{"post":{"tags":["Vaults"],"summary":"Get investments by investors","description":"Get investment details about investors.","operationId":"get_vault_investments","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":["string","null"],"format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":["string","null"],"format":"date-time"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestmentJsonQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved vaults.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestmentListResp"}}}},"400":{"description":"This investor is not whitelisted."},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"InvestmentJsonQuery":{"type":"object","required":["investor_ids"],"properties":{"investor_ids":{"type":"array","items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"InvestmentListResp":{"type":"object","description":"Vault List with pagination data","required":["investments"],"properties":{"investments":{"type":"array","items":{"$ref":"#/components/schemas/InvestmentDetails"},"description":"List of `VaultResp`"}}},"InvestmentDetails":{"type":"object","description":"Investment Details","required":["investor_id","vault","first_invested_at","vtoken_balance"],"properties":{"investor_id":{"$ref":"#/components/schemas/Pubkey","description":"Investor ID"},"vault":{"$ref":"#/components/schemas/VaultResp","description":"Vault Details"},"first_invested_at":{"type":"string","format":"date-time","description":"First Investment"},"vtoken_balance":{"type":"number","format":"double","description":"VToken Balance"},"vtoken_balance_usd":{"type":["number","null"],"format":"double"},"average_cost_usd":{"type":["number","null"],"format":"double","description":"Average Cost USD"},"total_cost_usd":{"type":["number","null"],"format":"double","description":"Total Cost USD"},"realized_pnl_usd":{"type":["number","null"],"format":"double","description":"Realized PnL: Profit/Loss that investor has already claimed"},"unrealized_pnl_usd":{"type":["number","null"],"format":"double","description":"Realized PnL: Profit/Loss that investor can claim"}}},"VaultResp":{"type":"object","description":"Vault Details","required":["id","name","manager_id","created_at","is_closed","current_depositors","deposit_token_mint_id","signature","metadata","config","vtoken","returns"],"properties":{"id":{"$ref":"#/components/schemas/Pubkey"},"name":{"type":"string"},"manager_id":{"$ref":"#/components/schemas/Pubkey"},"created_at":{"type":"string","format":"date-time"},"is_closed":{"type":"boolean"},"prices_updated_at":{"type":["string","null"],"format":"date-time"},"current_depositors":{"type":"integer","format":"int32"},"deposit_token_mint_id":{"$ref":"#/components/schemas/Pubkey"},"signature":{"$ref":"#/components/schemas/Signature"},"initial_vtoken_price":{"type":["integer","null"],"format":"int32"},"metadata":{"$ref":"#/components/schemas/VaultMetadata"},"config":{"$ref":"#/components/schemas/VaultConfig"},"vtoken":{"$ref":"#/components/schemas/Vtoken"},"returns":{"$ref":"#/components/schemas/VaultReturns"},"volatility_annualized":{"type":["number","null"],"format":"double"}}},"Signature":{"type":"string","description":"Base-58 encoded Solana Signature","contentEncoding":"base58"},"VaultMetadata":{"type":"object","title":"VaultMetadata","description":"Admin-managed vault metadata (icon and description only)","properties":{"description":{"type":["string","null"]},"icon_url":{"type":["string","null"]}}},"VaultConfig":{"type":"object","title":"VaultConfig","description":"On-chain vault configuration","required":["allowed_investor_types","allowed_investor_tiers","max_depositors","individual_min_deposit","entity_min_deposit","is_transferrable"],"properties":{"allowed_investor_types":{"$ref":"#/components/schemas/InvestorTypeAccess"},"allowed_investor_tiers":{"$ref":"#/components/schemas/InvestorTierAccess"},"max_allowed_aum":{"type":["integer","null"],"format":"int64"},"max_depositors":{"type":"integer","format":"int32"},"individual_min_deposit":{"type":"integer","format":"int32"},"individual_max_deposit":{"type":["integer","null"],"format":"int32"},"entity_min_deposit":{"type":"integer","format":"int32"},"entity_max_deposit":{"type":["integer","null"],"format":"int32"},"is_transferrable":{"type":"boolean"}}},"InvestorTypeAccess":{"type":"object","description":"Which investor types are allowed to deposit (0 bitmask = all allowed)","required":["unknown","entity","individual"],"properties":{"unknown":{"type":"boolean"},"entity":{"type":"boolean"},"individual":{"type":"boolean"}}},"InvestorTierAccess":{"type":"object","description":"Which investor tiers are allowed to deposit (0 bitmask = all allowed)","required":["basic","accredited","qualified"],"properties":{"basic":{"type":"boolean"},"accredited":{"type":"boolean"},"qualified":{"type":"boolean"}}},"Vtoken":{"type":"object","title":"Vtoken","description":"Vault Vtoken Response Model","required":["mint_id","symbol","name","uri"],"properties":{"mint_id":{"$ref":"#/components/schemas/Pubkey","description":"Mint of the Vtoken"},"symbol":{"type":"string","description":"Symbol of the Vtoken"},"name":{"type":"string","description":"Name of the Vtoken / Vault"},"uri":{"type":"string","description":"URI of the Vtoken"},"supply":{"type":["number","null"],"format":"double","description":"Supply of the Vtoken"},"price_usd":{"type":["number","null"],"format":"double","description":"Price of the Vtoken in USD"},"aum_usd":{"type":["number","null"],"format":"double","description":"AUM of the Vtoken in USD"}}},"VaultReturns":{"type":"object","title":"VaultReturns","description":"Vault Returns for last year, month, and quarter to date","required":["mtd","qtd","ytd","return_1d","return_7d","return_30d","return_1y"],"properties":{"mtd":{"type":"number","format":"double","description":"Month to date return"},"qtd":{"type":"number","format":"double","description":"Quarter(Financial) to date return"},"ytd":{"type":"number","format":"double","description":"Year to date return"},"return_1d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 24hrs"},"return_7d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 7 days"},"return_30d":{"type":"number","format":"double","description":"Percentage change in AUM in the last 30 days"},"return_1y":{"type":"number","format":"double","description":"Percentage change in AUM in the last 1 year"}}}}}}
```

## Get investment value history

> Get investment value history.

```json
{"openapi":"3.1.0","info":{"title":"Fund Tokenization as a Service API","version":"0.1.0"},"tags":[{"name":"Vaults","description":"Vault analytics. Get vault details, transactions, description and icon, investors, etc."}],"servers":[{"url":"https://dev.api.starke.finance/ftaas/","description":"Dev server"},{"url":"/","description":"Local development server"}],"paths":{"/api/v1/vaults/investments/history-by-investors":{"post":{"tags":["Vaults"],"summary":"Get investment value history","description":"Get investment value history.","operationId":"get_vault_investment_value_history","parameters":[{"name":"start_time","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"end_time","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Granularity"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestmentHistoryJsonQuery"}}},"required":true},"responses":{"200":{"description":"Successfully retrieved vaults.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestmentValueHistoryResp"}}}},"500":{"description":"Server Error."}}}}},"components":{"schemas":{"Granularity":{"type":"string","enum":["5mins","15mins","30mins","1hour","2hours","4hours","8hours","12hours","1day","3days","7days","14days","1month","3months","6months","1year"]},"InvestmentHistoryJsonQuery":{"type":"object","required":["investor_ids"],"properties":{"investor_ids":{"type":"array","items":{"$ref":"#/components/schemas/Pubkey"}}}},"Pubkey":{"type":"string","description":"Base-58 encoded Solana Pubkey","contentEncoding":"base58"},"InvestmentValueHistoryResp":{"type":"object","description":"Investment History","required":["history"],"properties":{"history":{"type":"array","items":{"$ref":"#/components/schemas/InvestmentValueHistoryItem"},"description":"List of `InvestmentHistoryItem`"}}},"InvestmentValueHistoryItem":{"type":"object","description":"Investment History Item","required":["generated_timestamp","investment_value_usd"],"properties":{"generated_timestamp":{"type":"string","format":"date-time","description":"This is a timestamp at which the data was sampled"},"investment_value_usd":{"type":"number","format":"double","description":"Investment Value at the generated timestamp accross vaults"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.starke.finance/products/fund-tokenization-as-a-service-ftaas/ftaas-api/vaults.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
