---
title: "Build the unsigned deposit batch for a stock + yield equity vault"
method: POST
path: "/v1/partner/equity/deposit/build"
tags: ["Partner"]
---

# Build the unsigned deposit batch for a stock + yield equity vault

`POST /v1/partner/equity/deposit/build`

## Request

- Base URL: `https://api.spiralstake.xyz`
- URL: `https://api.spiralstake.xyz/v1/partner/equity/deposit/build`
- Auth: HTTP bearer

## Request body

- object
  - `strategyId` string, required: The vault's id from /v1/strategies (starts with 'equity-').
  - `amount` string, required: Deposit in human units of the vault's deposit token (USDG), e.g. '10000'.
  - `stockLtvPct` string: Stock-leg LTV percent. Default: the vault's targetLtvPct. Capped at 88% of the stock market's liquidation LTV; above it the request is refused.
  - `slippage` number: Ratio, default 0.01 (the app's equity setting), capped at 0.01.
  - `chainId` 4663
  - `userAddress` string, required: Wallet that will sign; the stock leg and yield loop are opened for it.

## Response `200`

Unsigned call batch

- object: An ORDERED call batch for the user's own wallet, meant to be submitted atomically (EIP-5792 wallet_sendCalls / Safe MultiSend) — the Morpho manager authorization the router needs is granted and revoked inside the batch. A wallet that cannot batch sends the calls in order and must always send the final (revoke) call.
  - `chainId` integer, required
  - `action` 'equity_deposit' | 'equity_exit', required
  - `strategyId` string, required
  - `calls` object[], required
    - `to` string, required
    - `data` string, required
    - `value` string
  - `atomic` true, required
  - `meta` object, required
    - `preview` object: Deposit: the same preview as /equity/simulate. Exit: `position` (the vault being unwound) instead.
    - `slippage` number
    - `expiresAt` string, date-time
    - `signingUrl` string
    - `instructions` string

## Other responses

- `400`: Invalid input
- `401`: Missing/invalid API key
- `429`: Rate limited
- `503`: Transient (stale data / no route / RPC) — retry

---

[API](https://skmtc.dev/spiralstake/apis/spiral-stake-read-api-v1.md) · [All operations](https://skmtc.dev/spiralstake/apis/spiral-stake-read-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/spiralstake/apis/spiral-stake-read-api-v1/revisions/e58af20cd747?raw)
