mirror of
https://github.com/luxfi/price.git
synced 2026-10-30 15:21:24 +00:00
Lux Partners Limited is not the entity behind this work. Every place the old name stood — copyright lines, site footers, brand config, legal and compliance text — now names the company that actually holds it. lux.fund is the exception and is not renamed to match: that site belongs to Lux Assets Management LLC, a different company, and it says so. Two kinds of line were left for a person rather than rewritten. A dated news item recording that Lux Partners Limited was established in the Isle of Man is a historical fact, and renaming it would falsify the record. And a sentence asserting that the company is domiciled in the Isle of Man is a claim about a jurisdiction, not a name — an Inc or an LLC is not an Isle of Man company, so swapping the name there would assert something untrue. Co-authored-by: Hanzo Dev <[email protected]>
2.0 KiB
2.0 KiB
Lux Pricing API
USD price feed for crypto assets: a cached CoinGecko gateway.
Features
- CoinGecko upstream, keyed or anonymous
- 1-hour cache TTL to minimize API calls
- CoinGecko-compatible
/simple/priceendpoint - CORS support
- Docker-ready deployment
Endpoints
| Endpoint | Description |
|---|---|
GET /health |
Health check |
GET /price/{token_id}?currency=usd |
Single token price |
GET /prices?ids=bitcoin,ethereum¤cy=usd |
Multiple token prices |
GET /simple/price?ids=bitcoin&vs_currencies=usd |
CoinGecko-compatible format |
Usage
# Single token
curl https://price.lux.cloud/price/bitcoin
# Multiple tokens
curl "https://price.lux.cloud/prices?ids=bitcoin,ethereum,solana¤cy=usd"
# CoinGecko compatible
curl "https://price.lux.cloud/simple/price?ids=bitcoin&vs_currencies=usd,eur"
Response Format
{
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
"price": 97234.56,
"currency": "usd",
"change_24h": 2.34,
"market_cap": 1923456789012,
"volume_24h": 45678901234,
"updated_at": "2025-01-24T12:00:00Z",
"cached": true
}
Development
# Run locally (the key is optional)
export COINGECKO_API_KEY=your-api-key
go run main.go
# Docker
docker compose up -d
Deployment
price.lux.cloud, on lux-k8s.
Tagging vX.Y.Z builds and pushes ghcr.io/luxfi/price:vX.Y.Z
(.hanzo/workflows/release.yml). Shipping it is an image.tag edit in
luxfi/universe at deploy/lux-cloud/price.yaml, which CD applies. A push to
main builds nothing and deploys nothing, by design.
Environment Variables
| Variable | Default | Description |
|---|---|---|
COINGECKO_API_KEY |
- | Optional. Unset, the service uses the anonymous CoinGecko endpoint and its rate limits. Sent as x-cg-demo-api-key, so a Demo key is what this reaches — see LLM.md. |
PORT |
8080 | Server port |
License
MIT © Lux Industries Inc