---
title: "Deterministically verify a built stake transaction"
method: POST
path: "/api/v1/verify/stake-transaction"
tags: ["Verification"]
---

# Deterministically verify a built stake transaction

`POST /api/v1/verify/stake-transaction`

## Request

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

Deterministically decodes a built stake transaction and confirms it only creates a stake account that delegates to the Blueprint vote account, with your wallet set as BOTH the stake authority and the withdraw authority — and nothing else. Returns per-check results so you can audit exactly what passed. The fully trustless path is the @solentic/verify npm package, which runs the same checks entirely client-side with no server round-trip.

## Request body

- object
  - `transaction` string, required: Base64-encoded stake transaction to verify
  - `walletAddress` string, required: Expected stake and withdraw authority (your wallet's base58 public key)

## Response `200`

Deterministic verification result

- VerifyResult: Deterministic verification of a built stake transaction. The fully trustless path is the @solentic/verify npm package, run client-side.
  - `ok` boolean: True only if every check passed — the transaction solely delegates to Blueprint with your wallet as both stake and withdraw authority
  - `reason` string, nullable: Human-readable reason the verification failed, or null when ok is true
  - `checks` object[]: Per-check results, each describing one property of the transaction that was inspected
    - `name` string: Check identifier
    - `pass` boolean: Whether this individual check passed
    - `detail` string: Explanation of what was inspected and the result
  - `stakeAccount` string, nullable: Decoded new stake account address, or null if it could not be determined
  - `amountLamports` number, nullable: Lamports the transaction funds the stake account with, or null if it could not be determined
  - `note` string: Reminder that the trustless path is the @solentic/verify npm package run client-side
  - `_meta` Meta (unresolved $ref)

## Other responses

- `400`: Missing transaction or walletAddress

---

[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)
