Developers
The mathbehind AEVONE,as an API.
Deterministic tokenomics, launch, and valuation calculations over HTTP — the exact formulas our tools use, with the formulas returned alongside every result.
One source of truth
Endpoints call the same functions as the tools. Results always match the UI.
Transparent
Every response includes the formulas used to produce it.
Stateless & private
Requests are not stored. No cookies, accounts, or keys involved.
Predictable limits
Rate-limit headers on every response, with Retry-After on 429.
Quick start
Send a JSON body with POST. Successful responses return { data, meta }; errors return { error: { code, message, field? } }.
curl -X POST https://aevone.tech/api/v1/launch \
-H "Content-Type: application/json" \
-d '{"totalSupply":1000000000,"poolTokens":200000000,"poolUsd":50000,"circulatingSupply":250000000}'/api/v1/tokenomicsToken allocation
Token amounts per category, the total allocated, what remains, and whether the plan sums to exactly 100%.
| Field | Type | Description |
|---|---|---|
| totalSupply | number | Total token supply, greater than 0. |
| allocations | array | 1–32 items of { name?: string, percent: number (0–100) }. |
Request
curl -X POST https://aevone.tech/api/v1/tokenomics \
-H "Content-Type: application/json" \
-d '{"totalSupply":1000000000,"allocations":[{"name":"Community","percent":40},{"name":"Liquidity","percent":20},{"name":"Team","percent":15},{"name":"Treasury","percent":25}]}'Response · 200 (generated by the live handler)
{
"data": {
"totalSupply": 1000000000,
"allocations": [
{
"name": "Community",
"percent": 40,
"tokens": 400000000
},
{
"name": "Liquidity",
"percent": 20,
"tokens": 200000000
},
{
"name": "Team",
"percent": 15,
"tokens": 150000000
},
{
"name": "Treasury",
"percent": 25,
"tokens": 250000000
}
],
"allocatedPercent": 100,
"remainingPercent": 0,
"allocatedTokens": 1000000000,
"status": "balanced"
},
"meta": {
"version": "v1",
"endpoint": "/api/v1/tokenomics",
"formulas": {
"tokens": "Token allocation = total supply × allocation percentage / 100"
},
"disclaimer": "…"
}
}/api/v1/launchLaunch estimate
Estimated starting price, implied FDV, pool share, and liquidity-to-FDV for a single hypothetical pool.
| Field | Type | Description |
|---|---|---|
| totalSupply | number | Total token supply, greater than 0. |
| poolTokens | number | Token reserve in the pool. Cannot exceed totalSupply. |
| poolUsd | number | USD-denominated reserve in the pool. |
| circulatingSupplyoptional | number | Tokens circulating at launch, for an initial market cap. |
| targetFdvoptional | number | Solves the USD reserve needed to start at this FDV. |
Request
curl -X POST https://aevone.tech/api/v1/launch \
-H "Content-Type: application/json" \
-d '{"totalSupply":1000000000,"poolTokens":200000000,"poolUsd":50000,"circulatingSupply":250000000}'Response · 200 (generated by the live handler)
{
"data": {
"price": 0.00025,
"fdv": 250000,
"poolSharePercent": 20,
"liquidityToFdvPercent": 20,
"poolValueUsd": 100000,
"initialMarketCap": 62500,
"usdForTargetFdv": null
},
"meta": {
"version": "v1",
"endpoint": "/api/v1/launch",
"formulas": {
"price": "Estimated token price = USD reserve / token reserve",
"fdv": "Implied FDV = estimated token price × total token supply",
"poolSharePercent": "Pool share = token reserve / total supply × 100",
"liquidityToFdvPercent": "Liquidity-to-FDV = USD reserve / implied FDV × 100",
"poolValueUsd": "Pool value at starting price = USD reserve × 2",
"initialMarketCap": "Initial circulating market cap = estimated price × circulating supply",
"usdForTargetFdv": "USD reserve for target FDV = target FDV / total supply × token reserve"
},
"disclaimer": "…"
}
}/api/v1/scenariosValuation scenarios
Implied token price and circulating market cap for each hypothetical fully diluted valuation.
| Field | Type | Description |
|---|---|---|
| totalSupply | number | Total token supply, greater than 0. |
| circulatingSupply | number | Circulating supply. Cannot exceed totalSupply. |
| scenarios | array | 1–20 items of { label?: string, fdv: number }. |
Request
curl -X POST https://aevone.tech/api/v1/scenarios \
-H "Content-Type: application/json" \
-d '{"totalSupply":1000000000,"circulatingSupply":250000000,"scenarios":[{"label":"Conservative","fdv":500000},{"label":"Base","fdv":2000000}]}'Response · 200 (generated by the live handler)
{
"data": {
"totalSupply": 1000000000,
"circulatingSupply": 250000000,
"circulatingPercent": 25,
"scenarios": [
{
"label": "Conservative",
"fdv": 500000,
"price": 0.0005,
"circulatingMarketCap": 125000
},
{
"label": "Base",
"fdv": 2000000,
"price": 0.002,
"circulatingMarketCap": 500000
}
]
},
"meta": {
"version": "v1",
"endpoint": "/api/v1/scenarios",
"formulas": {
"price": "Implied token price = hypothetical FDV / total token supply",
"circulatingMarketCap": "Circulating market cap = implied token price × circulating supply"
},
"disclaimer": "…"
}
}Live console
Edit the body and send a real request to this server. Requests count toward your rate limit.
Send a request to see the live response from this server.
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_json · invalid_request · invalid_field | The body is not valid JSON, or a field failed validation. `field` names the offending input. |
| 405 | method_not_allowed | Calculation endpoints accept POST only. |
| 413 | payload_too_large | Request bodies are limited to 32 KB. |
| 415 | unsupported_media_type | Send Content-Type: application/json. |
| 429 | rate_limited | Too many requests. Wait for the number of seconds in Retry-After. |
Limits & versioning
- 60 requests per minute per client IP. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
- Request bodies up to 32 KB; numbers must be finite, non-negative, and at most 1e18. Up to 32 allocations and 20 scenarios per request.
- The /v1 contract is stable: fields may be added, but existing fields will not be removed or change meaning. Breaking changes ship as /v2.
- Requests and responses are not stored. Standard hosting logs (IP address, time, path) may be kept for security.
Integration example
Validate a tokenomics configuration in CI before it ships.
// Fail a CI job when a tokenomics config does not sum to 100%.
import { readFile } from "node:fs/promises";
const plan = JSON.parse(await readFile("tokenomics.json", "utf8"));
const res = await fetch("https://aevone.tech/api/v1/tokenomics", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(plan),
});
const { data, error } = await res.json();
if (error) throw new Error(`Invalid plan: ${error.message}`);
if (data.status !== "balanced") {
console.error(`Allocation is ${data.status}: ${data.allocatedPercent}% allocated.`);
process.exit(1);
}
console.log("Tokenomics plan is fully allocated.");Authentication roadmap
Planned · not available yetThe calculation endpoints are free and keyless because they are cheap and stateless. Endpoints that cost money to run — AI explanations and research retrieval — are not part of the public API. If they are opened to developers, this is the design they will follow:
API keys per account
Created from the AEVONE dashboard, shown once, stored only as a SHA-256 hash, and revocable at any time.
Scopes
Keys are limited to the endpoint groups they need, e.g. calculations:read or research:read.
Per-key quotas
Monthly quotas and per-minute limits per key, reported in response headers, enforced in a shared store.
Bearer authentication
Sent as Authorization: Bearer <key> over HTTPS only. Keys are never accepted in URLs.
Nothing on this list is live