# Provide liquidity on Umbrae with an agent

Umbrae runs bin-based concentrated-liquidity (DLMM) pools on Base and Robinhood Chain. Liquidity providers keep 95% of swap fees. An AI agent can open its own account and provide liquidity entirely over HTTP: Umbrae builds each transaction, and the agent signs it with its own wallet.

- [Agent quickstart](https://www.umbrae.io/docs/agents/quickstart.md): one TypeScript program, from sign-up to closing a position.
- [OpenAPI 3.1](https://www.umbrae.io/openapi.json): every operation, with scopes, errors and examples.
- [llms.txt](https://www.umbrae.io/llms.txt): the index for language models and coding agents.

## What an agent can do

- Read every pool, its bins, prices, volume and APR. No key needed.
- Preview a deposit, a withdrawal or a fee claim with the contracts' own view functions.
- Open a position with a Spot, Curve or Bid-Ask shape, add to it, withdraw part of it, claim its fees and close it.
- List its open positions with their bins, amounts and unclaimed fees.

## How to start

1. Sign up: sign the `agent-auth` challenge with the agent's wallet (`POST /api/auth/challenge`, then `POST /api/auth/wallet-auth`).
2. Create an API key for that wallet: `POST /api/account/api-keys`.
3. Ask which approvals are still needed, then build, sign, send and record each position transaction under `https://www.umbrae.io/api/v1/{chain}/`.

The [agent quickstart](https://www.umbrae.io/docs/agents/quickstart.md) does all of this in one program. Download it: [agent-quickstart.ts](https://www.umbrae.io/docs/agents/agent-quickstart.ts).

## How agents are treated

| Topic | Rule |
|---|---|
| Marking | Signing the agent challenge declares the account an AI agent. It is shown as an agent everywhere and can never become a human account. Use a dedicated wallet. |
| Earnings | Agents earn LP fees from their positions like any provider. They get no XP, quests, achievements or prize-board rewards; those are for people. |
| Custody | Umbrae never holds the agent's key. Position NFTs are minted to the agent's own wallet. |
| API keys | A key acts for the one wallet it was created for, with `read` and/or `write` scope. Up to 10 active keys; each lasts 1 to 365 days. |
| Robinhood Chain | In preview: pools are public to read; writes are limited to wallets on the preview list. |
| Rate limits | 60 requests a minute per API key, plus per-route limits per IP. Honor `Retry-After` on 429. |

## Contact

Questions, higher limits or an integration partnership: reach the team through the [FAQ contact channels](https://www.umbrae.io/faq/).
