◈ API REFERENCE

Build on the Forge

ANVL exposes a set of public REST endpoints — swap routing, token data, platform stats — that you can integrate into your own tools and dashboards.

BASE URL
https://anvl.site
FORMAT
JSON
RATE LIMIT
60 req / min
AUTH
Wallet Signature
◈ GETTING STARTED

Most ANVL endpoints are publicly accessible without authentication. Authenticated endpoints (marked 🔒 AUTH REQUIRED) require a valid session obtained via wallet signature — connect your wallet on anvl.site to get started.

All responses are JSON. Errors return a standard shape: { "error": "message" }

# Example: fetch a token price from ANVL's DexScreener proxy
curl "https://anvl.site/api/dexscreener?chain=BSC&address=0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095"

# Response
{
  "pairs": [{ "priceUsd": "185.42", "volume": { "h24": 94200000 }, ... }]
}
⚡ RATE LIMITS & FAIR USE
PUBLIC ENDPOINTS
60 req / min
Per IP
AUTHENTICATED
120 req / min
Per wallet
JUPITER SWAP BUILD
20 req / min
Per IP
DEXSCREENER SEARCH
30 req / min
Per IP

Exceeding limits returns HTTP 429. These are best-effort limits — heavy abuse may result in IP blocks. For production integrations with higher needs, reach out at dev@anvl.site.

TOKEN DATA
GET/api/dexscreener

Fetch token pair data from DexScreener. Returns price, liquidity, volume, and price change data.

PARAMETERS
chainstring*Blockchain identifier, e.g. BSC (also supports Solana, Base, Ethereum, Arbitrum)
addressstring*Token mint address
* required   ○ optional
EXAMPLE REQUEST
curl "https://anvl.site/api/dexscreener?chain=BSC&address=0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095"
EXAMPLE RESPONSE
{
  "pairs": [
    {
      "priceUsd": "185.42",
      "liquidity": { "usd": 12480000 },
      "volume": { "h24": 94200000 },
      "priceChange": { "h24": 2.14 }
    }
  ]
}
GET/api/dexscreener/search

Search for tokens by name, symbol, or address across DexScreener's index.

PARAMETERS
qstring*Token name, symbol, or address fragment
* required   ○ optional
EXAMPLE REQUEST
curl "https://anvl.site/api/dexscreener/search?q=BONK"
JUPITER SWAP
GET/api/jupiter/quote

Get a swap quote routed through Jupiter v6. Returns best output amount, route plan, and price impact.

PARAMETERS
inputMintstring*Input token mint address
outputMintstring*Output token mint address
amountinteger*Input amount in base units (no decimals)
slippageBpsintegerSlippage in basis points (default: 50)
onlyDirectRoutesbooleanRestrict to direct routes only
asLegacyTransactionbooleanUse legacy transaction format
* required   ○ optional
EXAMPLE REQUEST
curl "https://anvl.site/api/jupiter/quote?inputMint=So111...&outputMint=EPjF...&amount=1000000000&slippageBps=50"
EXAMPLE RESPONSE
{
  "outAmount": "1000234",
  "priceImpactPct": "0.12",
  "routePlan": [
    { "swapInfo": { "label": "Raydium" } }
  ],
  "otherAmountThreshold": "995230"
}
POST/api/jupiter/swap

Build a serialized swap transaction from a Jupiter quote. Returns a base64-encoded VersionedTransaction ready to sign.

PARAMETERS
quoteResponseobject*Full quote object returned from /api/jupiter/quote
userPublicKeystring*Wallet public key (base58)
wrapAndUnwrapSolbooleanAuto-wrap/unwrap native SOL (default: true)
* required   ○ optional
EXAMPLE REQUEST
curl -X POST "https://anvl.site/api/jupiter/swap" \
  -H "Content-Type: application/json" \
  -d '{ "quoteResponse": {...}, "userPublicKey": "BjNR...Dz5Y" }'
EXAMPLE RESPONSE
{
  "swapTransaction": "<base64-encoded versioned transaction>"
}
GET/api/jupiter/token

Look up a Solana token by mint address using Jupiter's verified token list.

PARAMETERS
mintstring*Token mint address (base58)
* required   ○ optional
EXAMPLE REQUEST
curl "https://anvl.site/api/jupiter/token?mint=JUPy..."
EXAMPLE RESPONSE
{
  "address": "JUPy...",
  "symbol": "JUP",
  "name": "Jupiter",
  "decimals": 6,
  "logoURI": "https://..."
}
PLATFORM STATS
GET/api/stats

Returns aggregate platform statistics — total projects created, wallets connected, and swap volume.

EXAMPLE REQUEST
curl "https://anvl.site/api/stats"
EXAMPLE RESPONSE
{
  "projects": 1420,
  "wallets": 3812,
  "swapVolume": 142000
}
GET/api/ticker

Live ticker data for the $ANVL token — price, 24h change, and market cap.

EXAMPLE REQUEST
curl "https://anvl.site/api/ticker"
EXAMPLE RESPONSE
{
  "symbol": "ANVL",
  "priceUsd": "0.00042",
  "change24h": 12.4,
  "marketCap": 420000
}
🔒
FORGE (AUTHENTICATED)
GET/api/forge/me🔒 AUTH REQUIRED

Returns the authenticated user's Forge profile — XP, tier, crafted items, and quest progress.

EXAMPLE REQUEST
curl "https://anvl.site/api/forge/me" \
  -H "Authorization: Bearer <session_token>"
EXAMPLE RESPONSE
{
  "wallet": "BjNR...Dz5Y",
  "xp": 2400,
  "tier": "IRON",
  "questsCompleted": 7
}
GET/api/forge/leaderboard

Top wallets ranked by XP and crafting activity on the Forge.

EXAMPLE REQUEST
curl "https://anvl.site/api/forge/leaderboard"
◈ SDK & CLIENT LIBRARIES

Official TypeScript SDK and community-maintained wrappers are in progress. Follow @anvlproject for release updates. In the meantime, all endpoints are standard HTTP REST — use fetch, axios, or curl directly.

// TypeScript — fetch a Jupiter quote
const params = new URLSearchParams({
  inputMint:  "So11111111111111111111111111111111111111112",
  outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  amount:     "1000000000",
  slippageBps: "50",
});

const res  = await fetch(`https://anvl.site/api/jupiter/quote?${params}`);
const data = await res.json();
console.log(data.outAmount); // USDC base units
⚒ QUESTIONS OR ISSUES?

Open an issue on GitHub or reach us at dev@anvl.site