Decommitment Only
This endpoint allows you to submit a decommitment request for an HDP task when you are running HDP and generating PIE locally. You can optionally providehdp_output and program_hash, and if not provided, they will be automatically fetched from Atlantic storage using the atlantic_query_id.
Endpoint
Authentication
This endpoint requires authentication using an API key:Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| destination_chain_id | string | Yes | Hex-encoded chain ID (e.g., 0x534e5f5345504f4c4941 for SN_SEPOLIA) |
| atlantic_query_id | string | Yes | The Atlantic query ID from PIE submission |
| hdp_output | object | No | HDP output data. If not provided, will be fetched from Atlantic storage |
| program_hash | string | No | HDP program hash. If not provided, will be fetched from Atlantic storage |
| webhook_url | string | No | Optional URL to receive task completion/failure notifications |
hdp_output Structure
| Field | Type | Description |
|---|---|---|
| mmr_metas | array | Array of MMR metadata objects |
| task_hash_low | string | Low 128 bits of task hash (hex string) |
| task_hash_high | string | High 128 bits of task hash (hex string) |
| output_tree_root_low | string | Low 128 bits of output tree root (hex string) |
| output_tree_root_high | string | High 128 bits of output tree root (hex string) |
mmr_metas Array Items
Each item inmmr_metas can be either a Poseidon or Keccak MMR:
Poseidon MMR:
Example Requests
With hdp_output and program_hash provided
Without hdp_output and program_hash (fetched from Atlantic)
Response
Success Response (202 Accepted)
Error Responses
400 Bad Request - Program hash mismatch:Response Fields
| Field | Type | Description |
|---|---|---|
| message | string | Success message |
| status | string | Status of the request (always “accepted”) |
| uuid | string | The unique identifier of the decommitment task |
| error | string | Error message (only present in error responses) |
Automatic Fetching from Atlantic
Ifhdp_output or program_hash are not provided, the service will automatically fetch them from Atlantic storage using the atlantic_query_id. The metadata is fetched from:
- Fetch the metadata JSON from Atlantic storage
- Parse the
outputarray according to the Cairo serialization format - Extract
hdp_outputandprogram_hashfrom the metadata - Validate the
program_hashagainst the local compiled program
Notes
- The
destination_chain_idmust be a hex-encoded string starting with0x - If both
hdp_outputandprogram_hashare provided, they will be used directly - If either is missing, both will be fetched from Atlantic storage
- The
program_hashis validated against the local compiled program to prevent mismatches - The task will be queued for decommitment processing
- Webhook notifications work the same way as the main task creation endpoint

