> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stonkme.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# App API

> The routes behind app.stonkme.fun.

The app's server routes are for the app itself: each one needs a signed-in, approved account (a Privy access token as `Authorization: Bearer <token>`). For tracking markets, read the chain directly: see [Reading markets](/developers/reading-markets). A public, keyless read API is on our list.

| Route | Method | Does |
| - | - | - |
| `/api/news` | GET | Today's headlines for our stocks, each tagged with the stocks it names. Cached 10 minutes. |
| `/api/news/{id}/ideas` | POST | The agent's take and stocks for one story. Cached per story. |
| `/api/take` | POST | `{ "thesis": "..." }` to a take, up to four stocks with reasons, a length and a risk line. 10 an hour per account. |
| `/api/candles?s=NVDAx,MUx` | GET | 24 hours of hourly closes per stock, up to 30 stocks. Cached 5 minutes per stock. |
| `/api/prices` | POST | Posts fresh prices on-chain if the oldest is more than 20 seconds old. |
| `/api/keeper?market={address}` | POST | Runs the keeper for one market. |
| `/api/faucet` | POST | 1,000 mock USDC and 0.05 devnet SOL, once every 10 minutes. |
| `/api/names` | POST | Display names (X handles) for wallet addresses. |
| `/api/skr` | POST | Checks a signed message from a Seeker wallet and its mainnet SKR; approves holders. |
| `/api/access` | GET | Whether the signed-in account is approved. |

## Errors

Errors come back as `{ "error": "<message>" }` with the HTTP status: `400` bad input, `401` not signed in, `403` not approved, `404` not found, `429` over the limit, `502` an upstream (agent, Hyperliquid) failed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.