# Vault API

## Get Vault List with Contents

> This API should be called at \*\*<https://vault-content-api.teahouse.finance/vaults\\*\\*\\>
> \
> Retrieve a list of vaults with content information.\
> \
> \- deprecated vault: \*\*isActive=false\*\*\
> \- permissionless vault: \*\*isDefi=true\*\*, managed vault: \*\*isDefi=false\*\*\
> \- permissionless vault include: \*\*type=V3Pair\*\* or \*\*V3Port\*\*\
> \- base Token = \*\*assets\[mainAssetIndex]\*\* can be used for vault value calculation in the future<br>

```json
{"openapi":"3.0.0","info":{"title":"Teahouse Vault API","version":"1.0.0"},"servers":[{"url":"https://vault-api.teahouse.finance"}],"paths":{"/vaults":{"get":{"summary":"Get Vault List with Contents","description":"This API should be called at **https://vault-content-api.teahouse.finance/vaults**\n\nRetrieve a list of vaults with content information.\n\n- deprecated vault: **isActive=false**\n- permissionless vault: **isDefi=true**, managed vault: **isDefi=false**\n- permissionless vault include: **type=V3Pair** or **V3Port**\n- base Token = **assets[mainAssetIndex]** can be used for vault value calculation in the future\n","tags":["Vault API"],"responses":{"200":{"description":"Successfully retrieved vault list","content":{"application/json":{"schema":{"type":"object","properties":{"vaults":{"type":"array","items":{"type":"object","properties":{"ENS":{"type":"string"},"URLs":{"type":"object","properties":{"asset0Icon":{"type":"string"},"asset1Icon":{"type":"string"},"shareIcon":{"type":"string"}}},"asset0":{"type":"object","description":"deprecated, same as assets[0]","properties":{"address":{"type":"string"},"decimals":{"type":"integer"},"icon":{"type":"string"},"symbol":{"type":"string"},"type":{"type":"string"}}},"asset1":{"type":"object","description":"deprecated, same as assets[1]","properties":{"address":{"type":"string"},"decimals":{"type":"integer"},"icon":{"type":"string"},"symbol":{"type":"string"},"type":{"type":"string"}}},"assets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"decimals":{"type":"integer"},"icon":{"type":"string"},"symbol":{"type":"string"},"type":{"type":"string"}}}},"chain":{"type":"string"},"chainId":{"type":"string"},"defaultSlippage":{"type":"string"},"details":{"type":"string"},"feeTier":{"type":"string"},"isActive":{"type":"boolean"},"isAsset0Main":{"type":"boolean","description":"deprecated, main asset = assets[mainAssetIndex]"},"isDeFi":{"type":"boolean","description":"true = permissionless vault, false = managed vault"},"links":{"type":"object","properties":{"details":{"type":"string"},"fee":{"type":"string"}}},"mainAssetIndex":{"type":"integer"},"marqueeLink":{"type":"string"},"marqueeWording":{"type":"string"},"name":{"type":"string"},"nodeType":{"type":"string","description":"evm or starknet"},"poolAddress":{"type":"string"},"positionGraph":{"type":"string"},"positionWording":{"type":"string"},"promotionInfo":{"type":"object"},"protocol":{"type":"string"},"rewardTokens":{"type":"array","items":{"type":"string"}},"riskLevel":{"type":"string"},"share":{"type":"object","description":"share token","properties":{"address":{"type":"string"},"decimals":{"type":"integer"},"icon":{"type":"string"},"symbol":{"type":"string"}}},"tags":{"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"V3Pair, V3Port (permissionless vault) or V2 (managed vault)"},"version":{"type":"string"},"strategyType":{"type":"string"}}}}}}}}}}}}}}
```

## Get Permissionless Vault Data List

> Retrieve a list of permissionless vaults.

```json
{"openapi":"3.0.0","info":{"title":"Teahouse Vault API","version":"1.0.0"},"servers":[{"url":"https://vault-api.teahouse.finance"}],"paths":{"/vaults/type/permissionless":{"get":{"summary":"Get Permissionless Vault Data List","description":"Retrieve a list of permissionless vaults.","responses":{"200":{"description":"Successfully retrieved permissionless vaults","content":{"application/json":{"schema":{"type":"object","properties":{"vaults":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"vault contract address"},"network":{"type":"string"},"latestInfo":{"type":"object","properties":{"token0":{"type":"object","description":"calculate value in token0","properties":{"tvl":{"type":"string"},"feeApr":{"type":"integer","description":"percentage, 256335=25.6335% (average since inception)"},"feeApr7dAvg":{"type":"integer","description":"average since 7 days ago"},"feeEarned":{"type":"string"},"shareTokenApr":{"type":"integer","description":"percentage, 53374=5.3374% (since inception)"},"shareTokenApr7dAvg":{"type":"integer","description":"average since 7 days ago"},"shareTokenPrice":{"type":"string"}}},"token1":{"type":"object","description":"calculate value in token1","properties":{"tvl":{"type":"string"},"feeApr":{"type":"integer"},"feeApr7dAvg":{"type":"integer"},"feeEarned":{"type":"string"},"shareTokenApr":{"type":"integer"},"shareTokenApr7dAvg":{"type":"integer"},"shareTokenPrice":{"type":"string"}}},"outsideEmissionApr":{"type":"integer","description":"percentage, 7336=0.7336% (average since inception)"},"outsideEmissionApr7dAvg":{"type":"integer","description":"average since 7 days ago"}}}}}}}}}}}},"tags":["Vault API"]}}}}
```

## Get Vault Info & Performance

> Retrieve vault performance data between start and end timestamps.

```json
{"openapi":"3.0.0","info":{"title":"Teahouse Vault API","version":"1.0.0"},"servers":[{"url":"https://vault-api.teahouse.finance"}],"paths":{"/vaults/permissionless/performance/{chainID}/{contractAddress}/{start}/{end}":{"get":{"summary":"Get Vault Info & Performance","description":"Retrieve vault performance data between start and end timestamps.","tags":["Vault API"],"parameters":[{"in":"path","name":"chainID","required":true,"description":"Blockchain ID, e.g., 137 (Polygon network)","schema":{"type":"integer"}},{"in":"path","name":"contractAddress","required":true,"description":"Vault contract address","schema":{"type":"string"}},{"in":"path","name":"start","required":true,"description":"Start timestamp (Unix time)","schema":{"type":"integer"}},{"in":"path","name":"end","required":true,"description":"End timestamp (Unix time)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved vault performance data","content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"object","properties":{"address":{"type":"string"},"network":{"type":"string"},"latestInfo":{"type":"object","properties":{"token0":{"type":"object","properties":{"tvl":{"type":"string"},"feeApr":{"type":"integer","description":"percentage, 57523=5.7523% (average since inception)"},"feeApr7dAvg":{"type":"integer","description":"average since 7 days ago"},"shareTokenApr":{"type":"integer","description":"percentage, 7307=0.7307%"},"shareTokenApr7dAvg":{"type":"integer","description":"average since 7 days ago"},"feeEarned":{"type":"string"}}},"token1":{"type":"object","properties":{"tvl":{"type":"string"},"feeApr":{"type":"integer","description":"percentage"},"feeApr7dAvg":{"type":"integer"},"shareTokenApr":{"type":"integer","description":"percentage"},"shareTokenApr7dAvg":{"type":"integer"},"feeEarned":{"type":"string"}}},"outsideEmissionApr":{"type":"integer","description":"percentage, 7336=0.7336% (average since inception)"},"outsideEmissionApr7dAvg":{"type":"integer","description":"average since 7 days ago"}}}}},"performance":{"type":"object","properties":{"token0":{"type":"object","properties":{"tvl":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"string"}}}},"feeApr":{"type":"array","description":"percentage","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"integer"}}}},"feeEarned":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"string"}}}},"shareTokenPrice":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"string"}}}}}},"token1":{"type":"object","properties":{"tvl":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"string"}}}},"feeApr":{"type":"array","description":"percentage","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"integer"}}}},"feeEarned":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"string"}}}},"shareTokenPrice":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer"},"value":{"type":"string"}}}}}}}}}}}}}}}}}}
```

## Get Account Share Transactions in Permissionless Vault

> Retrieve share transaction logs for a given account within a time range.\
> \
> There are four types of actions:\
> \- deposit\
> \- transfer\_from\
> \- transfer\_to\
> \- withdraw<br>

```json
{"openapi":"3.0.0","info":{"title":"Teahouse Vault API","version":"1.0.0"},"servers":[{"url":"https://vault-api.teahouse.finance"}],"paths":{"/vaults/permissionless/log/{address}/{startTimestamp}/{endTimestamp}":{"get":{"summary":"Get Account Share Transactions in Permissionless Vault","description":"Retrieve share transaction logs for a given account within a time range.\n\nThere are four types of actions:\n- deposit\n- transfer_from\n- transfer_to\n- withdraw\n","parameters":[{"in":"path","name":"address","required":true,"description":"Account wallet address","schema":{"type":"string"}},{"in":"path","name":"startTimestamp","required":true,"description":"Start timestamp (Unix time)","schema":{"type":"integer"}},{"in":"path","name":"endTimestamp","required":true,"description":"End timestamp (Unix time)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved share transaction","content":{"application/json":{"schema":{"type":"object","properties":{"shareLogs":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"logs":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string"},"amount":{"type":"string"},"blockNumber":{"type":"integer"},"timestamp":{"type":"integer"},"transactionID":{"type":"string"}}}}}}}}}}}}},"tags":["Vault API"]}}}}
```

## Get Share Transaction in Permissionless Vault

> Retrieve share transaction logs for a given permissionless vault within a time range.

```json
{"openapi":"3.0.0","info":{"title":"Teahouse Vault API","version":"1.0.0"},"servers":[{"url":"https://vault-api.teahouse.finance"}],"paths":{"/vaults/permissionless/log/shares/{chainID}/{contractAddress}/{startTimestamp}/{endTimestamp}":{"get":{"summary":"Get Share Transaction in Permissionless Vault","description":"Retrieve share transaction logs for a given permissionless vault within a time range.","tags":["Vault API"],"parameters":[{"in":"path","name":"chainID","required":true,"description":"Blockchain ID, e.g., 137 for Polygon","schema":{"type":"integer"}},{"in":"path","name":"contractAddress","required":true,"description":"Vault contract address","schema":{"type":"string"}},{"in":"path","name":"startTimestamp","required":true,"description":"Start timestamp (Unix time)","schema":{"type":"integer"}},{"in":"path","name":"endTimestamp","required":true,"description":"End timestamp (Unix time)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved share transaction logs","content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"object","properties":{"chain":{"type":"string","description":"Blockchain network name"},"address":{"type":"string","description":"Vault contract address"}}},"logs":{"type":"array","items":{"type":"object","properties":{"fromAddress":{"type":"string","description":"Source address (“0x000…000” means minting)"},"toAddress":{"type":"string","description":"Destination address (“0x000…000” means burning)"},"amount":{"type":"string","description":"Share token amount moved"},"blockNumber":{"type":"integer","description":"Block number of the transaction"},"timestamp":{"type":"integer","description":"Unix timestamp of the transaction"},"transactionID":{"type":"string","description":"On-chain transaction hash"}}}}}}}}}}}}}}
```
