Forfeit group balance
Moves group balance to breakage (system account). Allowed on archived assets as an explicit cleanup operation.
SYSTEM_BREAKAGE and cannot be recovered. Use this for policy violations or cleaning up a shared wallet that is no longer in use.
The operation is program-scoped: program_id is required in the body along with asset_id and a description. The bucket field is also required and must be AVAILABLE or HELD, specifying which balance bucket to forfeit from. If amount is omitted, the full balance in that bucket is forfeited. reference_id is not supported for forfeit operations.
This operation is irreversible. To restrict funds temporarily without destroying them, use the hold endpoint instead. Forfeits behave the same way on group and participant wallets; see forfeit participant balance for the participant equivalent.
Authorizations
API key passed in the X-API-Key header.
Headers
Idempotency key (1-255 printable ASCII chars). Equivalent to the idempotency_key body field; if both are provided they must match. Replays with the same key and identical parameters return the original result; the same key with different parameters returns 409 idempotency_conflict.
255Path Parameters
Group ID
Body
Forfeit parameters
Asset to operate on
"550e8400-e29b-41d4-a716-446655440001"
Reason for this operation
1 - 500"Hold for pending order #123"
Program this operation belongs to
"550e8400-e29b-41d4-a716-446655440000"
Amount to process. Omit to process the full balance (SIMPLE) or all matching lots (LOT)
"100.00"
Which bucket to forfeit from. Required for forfeit; ignored for hold/release
AVAILABLE, HELD "AVAILABLE"
Only process lots earned on or after this time (RFC 3339). LOT mode only.
"2024-01-01T00:00:00Z"
Only process lots earned on or before this time (RFC 3339). LOT mode only. Must be >= earned_from when both are provided.
"2024-12-31T23:59:59Z"
Client-provided key to dedupe retries. May also be supplied via the Idempotency-Key HTTP header; when both are present they must match. Identical operations with the same key return the original result; a reused key with different payload returns 409 idempotency_conflict.
1 - 255"order-123-hold"
Restrict to specific lots. LOT mode only
Correlation ID linking holds to releases. LOT mode only. Hold stamps lots; release filters by reference.
"auth_12345"
Response
Balance forfeited
Total amount processed
"100.00"
Asset ID
"550e8400-e29b-41d4-a716-446655440001"
Balance after the operation
Ledger journal entry created by this operation
"550e8400-e29b-41d4-a716-446655440003"
Individual lots affected. Only present for LOT mode assets
Confirmation message
"Processed 100.00"
Operation performed
"HOLD"
Program ID
"550e8400-e29b-41d4-a716-446655440000"
Correlation ID linking this hold/release (if provided)
"auth_12345"