# ➤ Developers

You're building something that touches ETH Strategy — displaying STRAT in a wallet, integrating esETH into a DEX, building on the bonding mechanism, or querying protocol state for a dashboard. This guide points you to the right resources.

## Quick Reference

| Token          | Standard | Key Integration Note                                                                                        |
| -------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| **STRAT**      | ERC-20   | Standard ERC-20. No inflation schedule — only minted through note conversion.                               |
| **sSTRAT-v2**  | ERC-20   | **Non-transferable.** `transfer()` and `approve()` revert with `TransferDisabled`. Display-only.            |
| **esETH**      | ERC-20   | Non-rebasing. Balances never change except on transfer/mint/burn. Safe to cache. Supports ERC-2612 permits. |
| **CDT**        | ERC-20   | Each token = \~$1 protocol debt. `totalSupply()` = total protocol debt. Supports ERC-2612 permits.          |
| **Option NFT** | ERC-721  | Conversion rights. Requires CDT to exercise. Partial exercise supported.                                    |
| **ESPN**       | ERC-4626 | Standard vault interface. Deposit USDS, receive shares.                                                     |

## Primary Resources

### Integration Guide

The [Developer Integration Guide](/developers/integration-guide.md) is your main reference. It covers:

* Solidity interfaces for every token
* Recommended integration patterns (with opinionated guidance on what works best)
* Production caveats and common pitfalls
* Working ethers.js code examples
* An end-to-end quickstart

### Contract Addresses

All deployed contract addresses: [Contracts](/references/contracts.md)

### AI Agents

Building an autonomous agent that queries or interacts with ETH Strategy? The [AI Agents](/developers/ai-agents.md) page provides function selectors for direct RPC calls, typed protocol state schemas, machine-readable token metadata in JSON, safety rules for transaction agents, and derived metric formulas.

### Machine-Readable Docs

The [llms.txt](https://github.com/ethstrat/public-docs/blob/main/llms.txt) file provides a machine-readable protocol overview for AI assistants and automated tools. See [LLMs.txt](/references/llms.md) for details.

## Key Integration Patterns

**esETH is the easy one.** Non-rebasing, standard ERC-20, supports permits. If you've integrated wstETH or rETH, esETH works the same way. Store and operate on balances directly — no rebase edge cases.

**sSTRAT-v2 is display-only.** Transfers revert. Show it in wallet UIs as a staked balance indicator, but do not attempt to transfer, pool, or use it as collateral.

**CDT is a standard ERC-20 with economic meaning.** Each CDT = \~$1 of protocol debt. `totalSupply()` gives you real-time protocol leverage. Useful for dashboards and risk monitoring.

**NFT Options require CDT to exercise.** If you're building an NFT marketplace integration, note that the NFT alone is not self-contained — the holder also needs CDT to convert.

## Your Reading Path

1. [Developer Integration Guide](/developers/integration-guide.md) — interfaces, patterns, code examples
2. [Contract Reference](/developers/contract-reference.md) — full API reference for every function
3. [AI Agents](/developers/ai-agents.md) — structured data for autonomous agents
4. [Protocol Overview](/introduction/protocol-overview.md) — how the pieces fit together
5. [Contracts](/references/contracts.md) — deployed addresses
6. [Risks](/security-and-risk/risks.md) — security considerations


---

# 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.ethstrat.xyz/guides/developers.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.
