Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.herodotus.cloud/llms.txt

Use this file to discover all available pages before exploring further.

There are three common ways to run HDP workflows.

1) Run locally (developer loop)

Best for fast iteration on module logic. Core flow:
  1. hdp dry-run -m <compiled_module>.json --print_output
  2. hdp fetch-proofs
  3. hdp sound-run -m <compiled_module>.json --print_output
Example (from examples/eth_call/run.sh):
scarb build -p example_eth_call && \
hdp dry-run -m target/dev/example_eth_call_module.compiled_contract_class.json --print_output && \
hdp fetch-proofs --mmr-deployment-config examples/eth_call/mmr_deployment_config.json && \
hdp sound-run -m target/dev/example_eth_call_module.compiled_contract_class.json --print_output --cairo_pie ./pie.zip

2) Prove with Atlantic

Best when you want managed proving and verification pipelines. Atlantic can be used with different prover modes exposed in Atlantic docs (currently stone and stwo). This lets teams optimize for workflow needs without running prover infrastructure themselves. Typical flow:
  1. Produce trace/PIE from HDP run
  2. Submit Atlantic query
  3. Track query status and retrieve proof-related job details
  4. Verify on chosen target (for example L1, L2, or off-chain mode depending on workflow)
Start here:

3) Use HDP Server API (orchestrated path)

Best when you want API-driven scheduling and lifecycle management from your backend. This is not the same as State Server:
  • HDP Server API orchestrates HDP task execution lifecycle (/tasks, status, retries, outputs).
  • State Server provides injected-state trie read/write/proof endpoints used in injected-state workflows.
Key endpoints:
  • POST /tasks -> schedule a task
  • GET /tasks/{task_uuid}/status -> track task status
  • GET /tasks/{task_uuid}/details -> inspect execution metadata
  • POST /tasks/{task_uuid}/retry -> retry failed tasks
Start here:

Choosing the path

  • Use local HDP for module development and testing.
  • Use Atlantic for self-running but managed proving/verification.
  • Use HDP Server for full managed orchestration including proving/verification with Atlantic.
Most teams combine all three: local dev loop -> Atlantic/HDP Server in staging and production.