Appearance
Explorer services API
Accounts, watchlists and derived DeFi data for the block explorer.
Base URL: https://explorer.testnet.kriptonyx.com/api
Authentication
Email and password. Passwords are hashed with bcrypt. Signing in returns a JWT valid for 7 days, or 30 days with remember. Send it as Authorization: Bearer <token>.
| Endpoint | Purpose |
|---|---|
POST /auth/signup | Create an account |
POST /auth/signin | Sign in, returns a token |
GET /auth/me · /auth/status | Current session |
GET /auth/verify · POST /auth/verify-code · /auth/resend-code | Email verification |
POST /auth/forgot-password · /auth/reset-password | Password reset |
GET /profile | Profile |
Rate limits
| Action | Limit |
|---|---|
| Sign in | 10 attempts per 15 minutes |
| Sign up | 5 per hour |
| Public forms | 10 per hour |
Per IP address, with standard RateLimit-* response headers.
Watchlist
| Endpoint | Purpose |
|---|---|
GET /watchlist | Addresses you follow |
POST /watchlist | Add an address |
DELETE /watchlist/:address | Remove one |
Requires a bearer token.
Forms
| Endpoint | Purpose |
|---|---|
POST /support/requests | Support and application submissions |
POST /newsletter/subscribe | Newsletter |
DeFi data
Public, no authentication. These aggregate AMM Swap events — work the chain data API does not do for you.
GET /defi/pools
Every pool with its 24-hour volume, swap count and liquidity, busiest first.
json
{
"quote_symbol": "KUSD",
"pools": [{
"address": "0x8470b792d2c2ed1c8bfe9f8600a0b2d1c80df947",
"name": "WKNYX/KUSD",
"reserve0": "143.5",
"reserve1": "39.246145332215186089",
"liquidity_quote": 78.49,
"quote_symbol": "KUSD",
"volume_24h": 0,
"swaps_24h": 0,
"volume_total": 0,
"swaps_total": 0
}]
}liquidity_quote is the quote-side reserve doubled, since both sides of a pool are worth the same.
GET /defi/volume?days=7
Daily volume buckets, oldest first.
json
[{ "date": "2026-09-12", "volume": 0, "swaps": 0 }]Empty days are real zeros
A day with no swaps is returned as zero rather than omitted, so a chart does not compress quiet days out of existence.
Results are cached, because a page load must not enumerate every pair and page through its entire log history on demand.