The base URL,
https://api.atlasyield.club/v1, returns an
index of every endpoint with the rate limits and links. The machine-readable OpenAPI 3.1
document is at
docs.atlasyield.club/api-reference/openapi.yaml
(JSON: api.atlasyield.club/openapi.json).
Find a vault in one call
You do not need to know a vault address to get started./scores takes filters, so one
small request can answer “which USDC vaults on Base can I actually deposit into?”:
fields=compact and limit, /scores returns the
whole catalog, which is large. A trimmed real response:
count is the rows returned and total is the rows that matched before limit.
Every response carries
applied, the filters this server honoured. If you sent a parameter and it is missing from applied, the rows are not filtered by it. The usual cause is a misspelt name: an unknown query key is not an error, it is ignored and listed in ignoredParams (present only when there is one), so minAPY=10 returns 200 with the rows unfiltered and "ignoredParams": ["minAPY"].
A ranking by composite is a ranking by the Atlas Score, not a recommendation. Before any
deposit, check /route for that vault: a blocking verdict
means refuse.
Authentication
None for everything above. The API is public and read only. No key, no signup.Partner keys
Partners embedding Atlas in their own interface get a key, sent asx-api-key. It is an
unlock, not a gate: every public endpoint behaves the same with or without it. What it
adds (bulk factor breakdowns, the timestamped score history, a larger request budget) is
documented for partners only.
Contact us for partner keys and more
Tell us what you are building and which vaults you list. We reply with a key, the partner
endpoint reference, and pricing.
/scores and /catalog serve whatever is currently cached. /portfolio fails closed:
an allocation is an active recommendation, so it returns 503 rather than allocating on
stale scoring data. Treat a 503 as “ask again shortly”, not as an outage.Calling from a browser
Every/v1 route answers cross-origin requests from any website: Access-Control-Allow-Origin: *,
with no credentials involved, so fetch works from a page on any domain or from localhost.
The x-api-key and content-type request headers are allowed, preflights are cached for 24
hours, and error responses carry the same headers, so a browser can read a 429 or 404
body. The RateLimit, RateLimit-Policy, Retry-After and X-Atlas-Disclaimer response
headers are readable from JavaScript. openapi.json and llms.txt on the API host are open
the same way.
Rate limits
60 requests / minute per IP. Exceeding it returns429 with standard
RateLimit-* headers. The dataset refreshes on a scoring cadence of hours, not seconds —
cache responses and poll sparingly.
Versioning
Everything lives under the/v1 prefix. Breaking changes ship under a new prefix; /v1
stays stable. Every score row also carries scorerVersion so you can pin to a scoring
engine revision.
Disclaimer
Atlas Scores are research and information, not investment advice. The same line ships on every response — as adisclaimer field and an X-Atlas-Disclaimer header. Scores are
neutral, model-driven signals; you are responsible for your own listing and allocation
decisions. See Limitations.