# Developer

- [Run Espresso Infrastructure](https://docs.espressosys.com/network/developer/operators.md): Pick the right Espresso infrastructure role for your team: validator, builder, or Caff Node.
- [Run a Validator Node](https://docs.espressosys.com/network/developer/operators/run-a-node.md): How to run an Espresso validator node: choose a network, register, and find the exact configuration you need.
- [Run a Builder](https://docs.espressosys.com/network/developer/operators/running-a-builder.md): Information about running a builder for the Espresso Network
- [Run a Caff Node](https://docs.espressosys.com/network/developer/operators/running-caff-node.md)
- [Integrate a Chain](https://docs.espressosys.com/network/developer/rollup-developers.md)
- [Nitro / Orbit](https://docs.espressosys.com/network/developer/rollup-developers/nitro.md): Arbitrum integration with Espresso
- [Deploy a New Orbit Chain](https://docs.espressosys.com/network/developer/rollup-developers/nitro/deploy-a-new-orbit-chain.md)
- [Deploy Your Own Orbit Chain Caff Node](https://docs.espressosys.com/network/developer/rollup-developers/nitro/deploy-your-own-caff-node.md)
- [Migrate an Existing Orbit Chain to Espresso](https://docs.espressosys.com/network/developer/rollup-developers/nitro/migrate-orbit-chains-to-espresso.md)
- [Using TEE with Nitro](https://docs.espressosys.com/network/developer/rollup-developers/nitro/using-tee-with-nitro.md)
- [Arbitrum Nitro Trust & Liveness Dependencies](https://docs.espressosys.com/network/developer/rollup-developers/nitro/arbitrum-nitro-trust-and-liveness-dependencies.md)
- [Mainnet 0 to Mainnet 1 Upgrade](https://docs.espressosys.com/network/developer/rollup-developers/nitro/rollup-migration-guide.md): Migrating rollup integrations from Mainnet 0 to Mainnet 1
- [OP Stack](https://docs.espressosys.com/network/developer/rollup-developers/op.md)
- [OP Stack Integration](https://docs.espressosys.com/network/developer/rollup-developers/op/op-stack-integration.md)
- [ZK Attestation Verification](https://docs.espressosys.com/network/developer/rollup-developers/op/zk-attestation-verification.md)
- [ZK Rollups (WIP)](https://docs.espressosys.com/network/developer/rollup-developers/integrating-a-zk-rollup.md)
- [Build an Application](https://docs.espressosys.com/network/developer/dapp.md)
- [Reading from Espresso](https://docs.espressosys.com/network/developer/dapp/read-from-network.md)
- [Bridging](https://docs.espressosys.com/network/developer/dapp/bridging-with-the-espresso-network.md): Using Espresso confirmations for bridging
- [Trustless Sync](https://docs.espressosys.com/network/developer/dapp/trustless-sync.md)
- [Fork Recovery](https://docs.espressosys.com/network/developer/dapp/fork-recovery.md)
- [Single-Chain App via Caff Node](https://docs.espressosys.com/network/developer/dapp/create-single-chain-app.md)
- [Crosschain via Hyperlane](https://docs.espressosys.com/network/developer/dapp/create-cross-chain-app-hyperlane.md)
- [Presto: Crosschain Minting](https://docs.espressosys.com/network/developer/dapp/deploy-presto.md)
- [API Reference](https://docs.espressosys.com/network/developer/espresso-api.md): Reference for REST APIs served by Espresso nodes and query services
- [Status API](https://docs.espressosys.com/network/developer/espresso-api/status-api.md): Node-specific state and consensus metrics
- [Catchup API](https://docs.espressosys.com/network/developer/espresso-api/catchup-api.md): Serves recent consensus state to allow peers to catch up with the network
- [Availability API](https://docs.espressosys.com/network/developer/espresso-api/availability-api.md): Serves data recorded by the Tiramisu DA layer, such as committed blocks
- [Node API](https://docs.espressosys.com/network/developer/espresso-api/node-api.md): Complements the availability API by serving eventually consistent data that is not necessarily agreed upon by all nodes
- [State API](https://docs.espressosys.com/network/developer/espresso-api/state-api.md): Serves consensus state derived from finalized blocks
- [Events API](https://docs.espressosys.com/network/developer/espresso-api/events-api.md): Streams events from HotShot
- [Submit API](https://docs.espressosys.com/network/developer/espresso-api/submit-api.md): Submit transactions to the public mempool
- [Builder API](https://docs.espressosys.com/network/developer/espresso-api/builder-api.md): The following describes the API endpoints a builder needs to support in order to build blocks in Espresso.
- [Earlier Versions](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions.md)
- [v0](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api.md): Reference for v0 REST APIs served by Espresso nodes and query services
- [Status API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/status-api.md): Node-specific state and consensus metrics
- [Catchup API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/catchup-api.md): Serves recent consensus state to allow peers to catch up with the network
- [Availability API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/availability-api.md): Serves data recorded by the Tiramisu DA layer, such as committed blocks
- [Node API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/node-api.md): Complements the availability API by serving eventually consistent data that is not necessarily agreed upon by all nodes
- [State API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/state-api.md): Serves consensus state derived from finalized blocks
- [Events API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/events-api.md): Streams events from HotShot
- [Submit API](https://docs.espressosys.com/network/developer/espresso-api/earlier-versions/espresso-api/submit-api.md): Submit transactions to the public mempool
- [Protocol Reference](https://docs.espressosys.com/network/developer/the-espresso-network.md): The universal settlement layer
- [System Overview](https://docs.espressosys.com/network/developer/the-espresso-network/system-overview.md)
- [HotShot Consensus](https://docs.espressosys.com/network/developer/the-espresso-network/properties-of-hotshot.md)
- [EspressoDA](https://docs.espressosys.com/network/developer/the-espresso-network/properties-of-hotshot/espresso-data-availability-layer.md)
- [How It Works](https://docs.espressosys.com/network/developer/the-espresso-network/properties-of-hotshot/espresso-data-availability-layer/how-it-works.md): A step-by-step guide on the data availability process
- [Interfaces](https://docs.espressosys.com/network/developer/the-espresso-network/interfaces.md)
- [Espresso ↔ Rollup](https://docs.espressosys.com/network/developer/the-espresso-network/interfaces/hotshot-less-than-greater-than-rollup.md)
- [Espresso ↔ L1](https://docs.espressosys.com/network/developer/the-espresso-network/interfaces/hotshot-less-than-greater-than-l1.md)
- [Rollup ↔ L1](https://docs.espressosys.com/network/developer/the-espresso-network/interfaces/rollup-less-than-greater-than-l1.md)
- [Light Client Contract](https://docs.espressosys.com/network/developer/the-espresso-network/light-client.md)
- [Fee Token Contract](https://docs.espressosys.com/network/developer/the-espresso-network/fee-token.md)
- [Stake Table Contract](https://docs.espressosys.com/network/developer/the-espresso-network/stake-table.md)
- [How the Stake Table Contract Works](https://docs.espressosys.com/network/developer/the-espresso-network/stake-table/stake-table.md)
- [Staking Rewards Calculation](https://docs.espressosys.com/network/developer/the-espresso-network/stake-table/staking-rewards-calculation.md)
- [Reward Claim Contract](https://docs.espressosys.com/network/developer/the-espresso-network/reward-claim.md)
- [Smart Contract Upgradeability](https://docs.espressosys.com/network/developer/the-espresso-network/smart-contract-upgradeability.md)
- [Espresso Node](https://docs.espressosys.com/network/developer/the-espresso-network/espresso-node.md)
- [L1 Bridging Internals](https://docs.espressosys.com/network/developer/the-espresso-network/bridging.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.espressosys.com/network/developer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
