Skip to main content
Move funds between yield vaults (Aave/Morpho/Kamino/idle) within the envelope. Blocked by V3 yield infra if that dependency slips.

Metadata

Annotations

Input schema

Output schema

Auth

Caller’s grant must include the treasury:yield-allocate scope. Grants whose scope set is a superset of the required scope are accepted.

Request examples

Response examples

Success
Step-up required (amount over envelope threshold)
V3 yield infrastructure not yet available

Errors

Step-up flow

yield.allocate uses the same envelope step-up threshold as payments.initiate — step-up is not always required, only when the allocation amount exceeds the envelope’s step_up_amount_cents.
  1. Call yield.allocate with your params. If the amount is below the threshold, the allocation is enqueued immediately and you receive a success response.
  2. If the amount is at or above the threshold, you receive -32003 with data.step_up_url.
  3. Redirect the principal to step_up_url. On approval, Glide mints a one-time sigil for reason: "yield_allocate".
  4. Re-submit the original call with step_up_sigil: "<sigil>" added to params. The server verifies the sigil is bound to reason: "yield_allocate" and has not been redeemed.
Note: unlike vault.rotateSigner, the allocation row is enqueued after the sigil is redeemed in the same call — there is no separate proposal step.