OUTCOME · Create or advance
What changes
Evaluates dry-run policy evaluation without creating an intent, reservation, approval, signature, transaction, broadcast, or settlement side effect.
AI wallet control
/api/v2/ai-wallets/{binding_id}/intent-evaluationsPurpose and usage
Evaluate a typed native-asset action without creating an intent, reservation, event, transaction, signature, approval, or broadcast.
When to use it
Call this when a wallet, treasury, custody, or governed agent workflow needs to apply the documented dry-run policy evaluation transition after re-reading the current authoritative state so it can make a custody decision inside the correct owner, workspace, network, and policy boundary.
OUTCOME · Create or advance
Evaluates dry-run policy evaluation without creating an intent, reservation, approval, signature, transaction, broadcast, or settlement side effect.
WHY IT MATTERS
ISOLATION + AUTHORITY
The authenticated owner, workspace, network, and wallet policy remain authoritative. A wallet record, policy result, approval, ceremony, or balance never grants another lifecycle stage and cannot substitute for threshold signing or separately owned funding, settlement, publisher, matching, or trading authority.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
Implemented reads expose bearer-derived workspace projections, exact policy versions and commitments, independent native-asset budgets, retained decisions, and execution-readiness evidence. POLICY_APPROVED is not transaction construction, signing, broadcast, confirmation, or settlement. The implemented intent-evaluation route is a dry run: it creates no intent, reservation, event, approval, transaction, signature, or broadcast. Any lifecycle, policy, retained-intent, cancellation, or execution operation marked planned is non-executable and must not be registered as an agent tool.
Use the deployed OpenAPI for exact parameters, schemas and security requirements. The tables below provide integration guidance.
Open this operation in OpenAPIRequest and response
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
AuthorizationheaderRequiredBearer tokenCredential containing the ai-wallets:evaluate scope.EXAMPLEBearer hc_live_…
binding_idpathRequired32-character lowercase hexadecimal UUIDAI wallet binding visible in the authenticated workspace.EXAMPLEa1b2c3d4e5f6471890abcdeffedcba09
X-Request-IDheaderOptionalstringOptional caller correlation value. The gateway returns the effective request identifier.EXAMPLEagent-run-20260901-0042
typebodyRequiredTRANSFER | TRADE | CONTRACT_CALL | RECURRING_PAYMENTTyped action mapped to one least-privilege wallet capability.EXAMPLETRANSFER
assetbodyRequireduppercase native asset code · 2–24Asset covered by one exact policy budget envelope.EXAMPLEDHYBRID
amountbodyRequiredpositive decimal stringNative-unit amount. JSON numbers, exponent notation, zero, and negative values are rejected.EXAMPLE25.00000000
destinationbodyRequired{ type, id }Exact destination namespace and identifier checked against the committed allowlist.EXAMPLE{ type: ADDRESS, id: dhyb1approveddestination… }
rationalebodyOptional{ schema, summary, explanation, expected_outcome, reference } | nullOptional explanation for the preview. It is not retained and grants no authority.
purposebodyOptionalstring | nullOptional concise purpose used when rationale is omitted.EXAMPLEPreview treasury allocation
REQUEST
{
"type": "TRANSFER",
"asset": "DHYBRID",
"amount": "25.00000000",
"destination": {
"type": "ADDRESS",
"id": "dhyb1approveddestination…"
},
"purpose": "Preview treasury allocation"
}RESPONSES
{
"dry_run": true,
"state": "POLICY_APPROVED",
"decision_code": "POLICY_ALLOWED",
"capability": "wallet:quote",
"asset_code": "DHYBRID",
"amount": "25.00000000",
"policy_uuid": "104db2e6b7b842bb8ab733e3b6e74870",
"policy_version": 4,
"policy_commitment": "4c2ac3d7…",
"budget_before": {
"accounting_model": "PER_ASSET_NATIVE_UNITS_V1",
"asset_code": "DHYBRID",
"currency": "DHYBRID",
"max_single_amount": "100.00000000",
"daily_limit": "500.00000000",
"daily_committed": "125.00000000",
"daily_remaining": "375.00000000",
"monthly_limit": "5000.00000000",
"monthly_committed": "825.00000000",
"monthly_remaining": "4175.00000000",
"active_intent_count": 3
},
"projected_budget": {
"daily_committed": "150.00000000",
"monthly_committed": "850.00000000",
"asset_code": "DHYBRID"
},
"execution_created": false,
"reservation_created": false,
"event_created": false
}{
"code": "invalid_json",
"message": "The JSON body is malformed."
}invalid_json{
"code": "invalid_credentials",
"message": "The bearer credential is missing or invalid."
}invalid_credentials{
"code": "insufficient_scope",
"message": "The credential lacks ai-wallets:evaluate or is outside the derived workspace."
}insufficient_scope{
"code": "ai_wallet_binding_not_found",
"message": "The binding is not visible in this workspace."
}ai_wallet_binding_not_found{
"code": "active_policy_required",
"message": "No active committed policy is available."
}active_policy_required{
"code": "invalid_evaluation",
"message": "The identifiers or evaluation inputs are invalid."
}invalid_evaluation{
"code": "ai_wallet_control_unavailable",
"message": "The authoritative control plane is unavailable and failed closed."
}ai_wallet_control_unavailableOPERATIONAL NOTES
This route is implemented in canonical gateway source and appears in the production OpenAPI snapshot observed 2026-10-02T23:27:55.510Z. Authentication, tenant, feature, venue, and market policy still apply.
Verify the exact production OpenAPI operation Return to the V2 directory