Skip to main content
POST

Authorizations

x-api-key
string
header
required

An API key (chance_sk_live_…) from https://harness.chance.cc/keys.

Path Parameters

id
string
required

The wallet's id (UUID) or its name.

Body

application/json
input
object
required

One proposal. Send caip2 or chain. x402_payment is refused here.

note
string

Context for the judge, treated as untrusted narration. Cut at 2,000 characters.

Response

The proposal outcome.

txId
string

Escrow transaction id. Poll it at /api/v1/escrow-transactions/{id}.

status
enum<string>
Available options:
blocked,
awaiting_user,
executing,
executed,
failed
verdict
string | null

ALLOW, BLOCK or ESCALATE. BLOCK without a scanId means the wallet's limits refused it before the judge ran.

reasoning
string | null
requestHash
string

Hash of the canonical payload the wallet will sign. Execution recomputes it and refuses on a mismatch.

simulation
object | null
approvalUrl
string | null

Set when the proposal waits for the owner. Send it to them; an API key cannot confirm.

txHash
string | null

Set when the proposal executed.

scanId
string | null

Verification id. Null when no judge ran.

creditsRemaining
integer | null

Null when no credit was charged.

proof
object | null

Null when no judge ran.