---
title: "Project staking rewards before committing capital"
method: POST
path: "/api/v1/stake/simulate"
tags: ["Intelligence"]
---

# Project staking rewards before committing capital

`POST /api/v1/stake/simulate`

## Request

- Base URL: `https://solentic.theblueprint.xyz`
- URL: `https://solentic.theblueprint.xyz/api/v1/stake/simulate`
- Auth: none required

Returns reward projections (daily/monthly/annual/total), effective APY (equal to the stated APY, since total_apy is already an annual yield), activation timing, fee reserve guidance, and a natural-language recommendation. Use this to model outcomes before calling create_stake_transaction.

## Request body

- SimulateStakeRequest
  - `amountSol` number, required: Amount of SOL to simulate staking
  - `durationDays` integer: Projection duration in days (default: 365, max: 3650)

## Response `200`

Staking projection with rewards, activation timing, and recommendation

- SimulateStakeResponse
  - `amountSol` number: Amount of SOL being simulated for staking
  - `durationDays` integer: Projection duration in days
  - `baseApy` number: Current total APY percentage
  - `effectiveApy` number: Effective APY. Equals the stated APY; total_apy from StakeWiz is already an annual yield, so projections are pro-rata and not re-compounded.
  - `rewards` object: Projected staking rewards over the simulation period (pro-rata; total_apy is already a compounded annual yield)
    - `daily` number: Estimated daily reward in SOL
    - `monthly` number: Estimated 30-day reward in SOL (compounded)
    - `annual` number: Estimated 365-day reward in SOL (compounded)
    - `total` number: Total projected reward over duration (compounded)
  - `activation` object: Stake activation timing — when the stake will start earning rewards
    - `estimatedActivationEpoch` integer: Epoch number when stake is expected to activate
    - `estimatedWaitTime` integer: Seconds until stake activates
    - `estimatedActivationDate` string, date-time: ISO 8601 timestamp when stake is expected to activate
    - `note` string: Explanation of activation timing
  - `feeReserve` object: Fee reserve guidance — how much SOL to keep liquid for transaction fees
    - `recommendedReserveSol` number: Recommended SOL to keep unstaked for transaction fees
    - `minimumStakeSol` number: Minimum SOL required to create a stake account (rent-exempt minimum)
    - `maxStakeableFromBalance` string: Formula showing how much can be staked from a given balance
  - `recommendation` string: Natural-language recommendation
  - `disclaimer` string: Risk disclaimer — projections are estimates, not guarantees
  - `_meta` ResponseMeta: Navigation metadata included in most responses
    - `endpoint` string: The endpoint that generated this response
    - `description` string: Brief description of the response
    - `timestamp` string, date-time: ISO 8601 timestamp when this response was generated
    - `relatedEndpoints` object: Related REST endpoints for next actions
    - `relatedTools` object: Related MCP tool names (MCP responses only)
    - `nextSteps` object: Contextual next steps based on response data
    - `verifyThisCode` string: Endpoint to verify code integrity
    - `cacheTtlSeconds` integer: Cache TTL for this response
    - `documentation` string: Link to documentation
    - `support` object: Optional donation info — Blueprint is free, donation-supported infrastructure
      - `address` string: Solana address for donations
      - `message` string: Context about why donations help
      - `donate` string: How to build a donation transaction via API/MCP

## Other responses

- `400`: Validation error
- `429`: Rate limited — 100 requests per 60-second sliding window
- `500`: Internal server error
- `502`: Solana RPC or StakeWiz API unavailable

---

[API](https://skmtc.dev/theblueprint/apis/blueprint-staking-api.md) · [All operations](https://skmtc.dev/theblueprint/apis/blueprint-staking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/theblueprint/apis/blueprint-staking-api/revisions/326d6015b851?raw)
