Skip to main content
POST
Evaluate an unsigned transaction against the treasury policies

Authorizations

X-API-KEY
string
header
required

Authorization method required to allow user to access the api endpoints.

Body

application/json
network
enum<string>
required
Available options:
solana
Example:

"solana"

transaction
string
required

The complete serialized unsigned transaction — account list, instructions, blockhash — as one encoded string (what a wallet holds immediately before signing).

Required string length: 1 - 4096
Example:

"AQAAAAAAAAAA…"

encoding
enum<string>

Encoding of transaction. Defaults to base64.

Available options:
base64,
base58
signer_address
string

The signing account. Honored only when it is a required signer of the payload; defaults to the fee payer derived from the payload.

Maximum string length: 64

Response

200 - application/json
verdict
enum<string>
required

Worst outcome across the evaluation: any transaction_breaches entry or any breached movement blocks the transaction. Both outcomes are HTTP 200. Advisory — the caller’s signing flow owns the decision.

Available options:
blocked,
allowed
coverage
enum<string>
required

Partial when anything evaluable was not fully evaluated: an unpriced asset (its value is in no USD total), an unresolvable recipient or sender, an authority grant, a truncated movement list, an unresolved signer, or no extracted movement at all. A partial allowed is not a clean bill — read notes.

Available options:
complete,
partial
network
string
required
Example:

"solana"

payload_sha256
string
required

SHA-256 of the decoded payload bytes — the evaluation’s identity.

transaction_breaches
object[]
required

Breaches of per-transaction policies (the transaction value ceiling, the asset concentration projection), judged once on the combined USD value of every priced movement. They belong to no single movement, so they are not repeated under movements.

movements
object[]
required
notes
object[]
required
policies_in_catalog
number
required

Size of the policy catalog this evaluation ran against — the catalog at GET /v2/intents/policies.

Example:

4

evaluated_at
string
required

When the evaluation ran (ISO 8601).

meta
object
required
signer
string

The signer the evaluation ran against.

Last modified on October 2, 2026