API reference.
Everything you need to read tokenized-stock signals from Wood Terminal. The API is free — always. Grab a key on the keys page and start querying.
Base URL
All requests are made against a single base URL. Set NEXT_PUBLIC_API_URL in this site's environment to point the /keys page at your deployment.
https://api.woodterminal.comBearer token auth
Every request except POST /v1/keys and GET /v1/tokens requires your API key as a Bearer token in the Authorization header.
Authorization: Bearer wood_live_your_free_keyRate limits
Free forever, with fair-use limits so the tape stays fast for everyone.
| Limit | Value |
|---|---|
| Requests per key | 60 requests / minute |
| Key creation | 5 keys / IP / day |
Creates a new free API key. No authentication required. Save the key value — it is only returned once.
Request
curl -X POST https://api.woodterminal.com/v1/keys \
-H "Content-Type: application/json" \
-d '{"label":"my-trading-agent"}'Response · 201
{
"id": "key_9f2a1c",
"key": "wood_live_8f3d9a2b1e4c...",
"key_preview": "wood_live_8f3d...c",
"label": "my-trading-agent",
"rateLimit": { "requestsPerMinute": 60 },
"createdAt": "2026-07-11T09:12:03.000Z"
}Lists every tokenized stock Wood Terminal tracks on Robinhood Chain. No authentication required.
Request
curl https://api.woodterminal.com/v1/tokensResponse · 200
{
"chain": "robinhood-chain",
"chainId": 4663,
"count": 12,
"tokens": [
{ "symbol": "NVDA", "name": "Nvidia", "basePrice": 174.32, "hasFeed": true },
{ "symbol": "AAPL", "name": "Apple", "basePrice": 258.10, "hasFeed": true }
]
}Returns price, signal and oracle reference for one tokenized stock. Requires a Bearer API key.
Request
curl https://api.woodterminal.com/v1/signal/NVDA \
-H "Authorization: Bearer wood_live_your_free_key"Response · 200
{
"token": "NVDA",
"name": "Nvidia",
"chain": "robinhood-chain",
"chainId": 4663,
"price": 174.32,
"currency": "USD",
"signal": "bullish",
"confidence": 0.78,
"source": "chainlink",
"market": "open · 24/7",
"updatedAt": "2026-07-11T09:12:03.000Z"
}Errors
All errors share the same shape, with an HTTP status code matching error.code.
{
"error": {
"code": "invalid_token",
"message": "Unknown symbol 'XYZ'."
}
}| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | Malformed request body or params. |
| 401 | unauthorized | Missing or invalid API key. |
| 404 | invalid_token | Unknown or unsupported symbol. |
| 429 | rate_limited | Too many requests — back off and retry. |
| 500 | internal_error | Something went wrong on our end. |
Supported tokens
Tokenized stocks currently tracked on Robinhood Chain (chain ID 4663). Call GET /v1/tokens for the live, authoritative list.
Free forever, no credit card. Questions or feedback — reach out at @woodterminal.