Preview a deposit
Quotes how many shares a deposit would receive right now, from the provider's live accounting.
POST/
When the strategy's depositSlippage is not null, set minSharesOut from this quote: take your tolerance off sharesOut. Resolve every blockingIssues entry before you build. The preview is read-only, takes no Idempotency-Key, and applies a deposit's access checks, provider activation included. It returns 501 when the provider cannot quote deposits.
Requires an API key with the earn.read action.
Headers
-
x-project-id·string· min length 1 · exampleprj_exampleRequired for dashboard sessions. API keys use their assigned project.
Request body
application/json · required
Quote one direct vault deposit against the provider's live accounting. Read-only: nothing is built and nothing is persisted.
-
strategyId·string· required · min length 1 · exampleearn_strategy_3b6a81ce-00b0-4c5a-9761-cb359932e97e -
amount·string· required · max length 128 · pattern^(?=.*[1-9])\d+(\.\d+)?$· example25Deposit amount in deposit-token units.
Responses
-
200Live deposit quote-
data·object· required-
strategyId·string· required · exampleearn_strategy_3b6a81ce-00b0-4c5a-9761-cb359932e97e -
sharesOut·string· required · max length 128 · pattern^(?=.*[1-9])\d+(\.\d+)?$· example24.98Shares the deposit would mint at the live rate. Derive
minSharesOutfrom this value minus the chosen tolerance, quantized toshareDecimals. -
shareDecimals·integer· required · example6The share mint's decimals, which the floor must be quantized to.
-
blockingIssues·object[]· requiredConditions the provider reports would block this deposit; empty when none.
-
code·string· required · exampleSHARE_LOCKED -
message·string· required
-
-
feeSponsored·boolean· requiredWhether SDP pays network fees for Treasury movements on this cluster. It does not apply to customer wallets: to sponsor an Embedded Yield transaction, pass
feePayerwhen you build it.
-
-
meta·object· requiredResponse metadata.
-
requestId·string· required · min length 1 · examplereq_exampleRequest identifier for tracing.
-
timestamp·string· required · formatdate-time· example2025-01-01T00:00:00.000ZISO 8601 timestamp.
-
-
-
400Bad Request-
error·object· requiredStandard error payload.
-
code·string· requiredMachine-readable error code.
-
message·string· requiredHuman-readable error message.
-
details·objectOptional error details for debugging.
*·any
-
-
meta·object-
requestId·string· min length 1 · examplereq_exampleRequest identifier for tracing.
-
-
-
401UnauthorizedSame fields as
400. -
403Forbidden. Requires theearn.readaction: an API key must hold it (a module'smanageorexecutealso covers itsread), and a signed-in member's organization role must include it. Without it the error is INSUFFICIENT_PERMISSIONS anderror.details.actionnames the action. Any other 403 names its own reason.Same fields as
400. -
404Not FoundSame fields as
400. -
429Too Many RequestsSame fields as
400. -
500Internal Server ErrorSame fields as
400. -
501The provider does not support this operation.-
error·object· requiredStandard error payload.
-
code·string· required -
message·string· requiredHuman-readable error message.
-
details·objectOptional error details for debugging.
*·any
-
-
meta·object-
requestId·string· min length 1 · examplereq_exampleRequest identifier for tracing.
-
-
-
503Service UnavailableSame fields as
400.