Strategy Assignment | Tesseract Documentation
For the complete documentation index, see llms.txt. This page is also available as Markdown.
Strategy selection is off-chain metadata signed by the vault owner. There's no on-chain transaction and no gas cost — you sign an EIP‑712 typed-data message with the owner wallet and POST it to the Public API. Tesseract picks the vault up and starts managing it.
Strategy can be set and changed freely before the vault starts being actively managed. Once a vault is actively managed, changes may be restricted — if your change isn't accepted, contact Tesseract to arrange a managed transition.
Discover available strategies
The set of strategies and their IDs is in the Tesseract app and exposed via the Public API. Each strategy has a UUID and is tied to a specific underlying asset (a USDC strategy can only be assigned to a USDC vault).
Sign the message
The EIP‑712 schema is defined in the Reference → Public API page. Using viem:
import {createWalletClient, http} from 'viem'
import {mainnet} from 'viem/chains'
const walletClient = createWalletClient({
chain: mainnet,
account: /* your signer */,
transport: http(),
})
const timestamp = Math.floor(Date.now() / 1000)
const signature = await walletClient.signTypedData({
domain: {
name: 'Tesseract Public API',
version: '1',
chainId: 1,
},
types: {
SetStrategy: [
{name: 'vaultAddress', type: 'address'},
{name: 'strategyId', type: 'string'},
{name: 'timestamp', type: 'uint256'},
],
},
primaryType: 'SetStrategy',
message: {
vaultAddress: vault,
strategyId: selectedStrategyId,
timestamp: BigInt(timestamp),
},
})
Submit to the Public API
const response = await fetch(
`https://api.vault.tesseract.fi/public/vaults/${vault}/strategy`,
{
method: 'PUT',
headers: {'content-type': 'application/json'},
body: JSON.stringify({
clientAddress: owner,
strategyId: selectedStrategyId,
signature,
timestamp,
}),
},
)
if (!response.ok) {
throw new Error(`Failed to assign strategy: ${response.status}`)
}
The API verifies:
- The signature recovers to
clientAddress. clientAddressis the owner of the vault.timestampis recent (a few minutes — sign and submit in the same flow).- The vault is eligible for strategy change (see note above about actively-managed vaults).
After assignment
Once the signature is accepted, Tesseract's management process picks up the vault on its next cycle and begins allocating positions according to the selected strategy. You can see the assignment reflected in the vault's detail via GET /vaults/{vault} — see Reading Vault Data.
Changing strategy later
Re-sign and re-submit with a different strategyId — each submission replaces the previous assignment. Strategy changes may be restricted once the vault is actively managed; if your submission is rejected, contact Tesseract to arrange a managed transition.