> For the complete documentation index, see [llms.txt](https://docs.arenas.fi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.arenas.fi/build-with-arenas/build.md).

# Overview

Arenas exposes its credit protocol as a **developer platform**, so you can embed lending, launch markets, and fund them without writing Solidity. This section covers the API, SDK, CLI, and MCP surfaces.

***

### The surfaces

| Surface                                                      | Use it for                                                                                                                                                                      |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**REST API**](/build-with-arenas/api-reference.md)          | Read markets, pools, requests, financings and intents; build any UI or backend. Curated JSON with normalized amounts and millisecond timestamps.                                |
| [**SDKs & Tooling**](/build-with-arenas/sdks-and-tooling.md) | Typed helpers for calldata, unit conversion, and contract reads on top of the API and ABIs.                                                                                     |
| [**CLI**](/build-with-arenas/cli.md)                         | Script and automate the same flows from a terminal or CI.                                                                                                                       |
| **MCP**                                                      | Agent-native access at `mcp.atomica.org` — skills, primitives and integration bundles for AI-assisted builds. See [SDKs & Tooling](/build-with-arenas/sdks-and-tooling.md#mcp). |

***

### Authentication

Every read call is scoped to an **arena** by an `arenaKey`. Pass it as a query parameter or a header:

```bash
# query param
curl "$ARENAS_API/lending/markets?arenaKey=$ARENA_KEY"

# or header
curl -H "X-Arena-Key: $ARENA_KEY" "$ARENAS_API/lending/markets"
```

Write actions are on-chain transactions signed by the user’s wallet — the API and SDK give you the **calldata and ABIs**, your app sends the transaction.

***

### Pick your journey

Arenas has three builder journeys, mapped to the three sides of a market:

| You are…                  | You want to…                 | Start here                                             |
| ------------------------- | ---------------------------- | ------------------------------------------------------ |
| **Borrower / Builder**    | Embed credit in your product | [Embed Credit](/build-with-arenas/embed.md)            |
| **Supplier / Originator** | Launch a white-label market  | [Launch a Market](/build-with-arenas/launch-market.md) |
| **Liquidity Provider**    | Fund markets and earn yield  | [Fund Markets](/build-with-arenas/fund-markets.md)     |

***

### How reads and writes fit together

```mermaid
flowchart LR
    App[Your app / backend] -->|arenaKey| API[Arenas REST API]
    API -->|markets, pools, requests, intents| App
    App -->|ABIs + calldata| Wallet[User wallet]
    Wallet -->|signed tx| Chain[(FinancingMarket / Pool contracts)]
    App -->|poll after tx| Sync[/provisioning-sync/]
```

Reads come from the curated API; writes are wallet transactions against the [Atomica](/atomica/atomica-protocol.md) contracts. After a write, poll the indexer (`/provisioning-sync/last-synced-blocks`) before refetching so lists reflect the new state.
