Skip to main content
If a release cannot be agreed upon, either the depositor or beneficiary can raise a dispute by calling this endpoint. This locks the escrow state to DISPUTED on-chain, preventing any release or further confirmation until the dispute is resolved. A FlareHQ arbiter will review the case. If you supplied a webhookUrl at creation time, FlareHQ will also POST an escrow.disputed event to your endpoint.
Only ACTIVE escrows can be disputed. If the escrow is already RELEASED or DISPUTED, the API returns a 400 error.

Endpoint

Authentication

Pass your merchant bearer token in the Authorization header.

Request Body

string
required
The escrow reference ID from POST /api/escrow/create — e.g. "escrow_m5k2r1_a4b8c2".
string
required
The SCA wallet address raising the dispute. Must be the depositor or beneficiary of this escrow. The caller must be a wallet your merchant account controls.
string
required
A human-readable description of the dispute — e.g. "Service was not delivered within the agreed timeframe". Stored in the FlareHQ database and included in the webhook payload. Defaults to "No reason provided" if sent as an empty string.

Response

boolean
true when the dispute transaction was confirmed on-chain.
object
The updated escrow record.
string
The on-chain transaction hash for this dispute.
string
ArcScan link — https://testnet.arcscan.app/tx/{txHash}.
string
Confirms the dispute has been raised and is pending admin review.

Examples

Success Response

Error — Escrow Not Active

Webhook Payload (escrow.disputed)

When a webhookUrl was registered at escrow creation, FlareHQ delivers the following event:
Once an escrow is DISPUTED, neither party can initiate a release. The FlareHQ arbiter has sole authority to resolve the dispute and direct the funds. Plan your integration flow accordingly.