Skip to main content

Quick Reference

Everything a developer needs in one place. Keep this open while building.


API

Value
Base URLhttps://{tenant}-platform.chainara.io/api/v2
Auth headerX-API-Key: ek_YOUR_KEY
Content-Typeapplication/json

Replace {tenant}-platform with your subdomain (e.g. ripple-platform). The default Chainara instance uses platform.chainara.io.

Rate limits

LimiterWindowLimit
Enterprise (per-minute)1 min500 requests
Enterprise (burst)2 hrs10,000 requests
Public endpoints15 min1,000 requests
Bulk operations1 hr100 requests
Auth endpoints15 min10 requests

Monthly limit: 100,000 requests per API key.

Returns 429 with Retry-After header when exceeded.


Blockchain IDs

Used in any endpoint with a blockchainId path parameter.

IDChainSymbolNetwork TypeStatus
1XRPLXRPxrplAvailable
2StellarXLMstellarAvailable
3RLUSDRLUSDxrplAvailable
4FlareFLRevmAvailable
5BitcoinBTCbitcoinAvailable
6EthereumETHevmAvailable
7BSCBNBevmExperimental
8PolygonMATICevmExperimental
9ArbitrumARBevmExperimental
10AvalancheAVAXevmExperimental
11SUISUIsuiExperimental

Key endpoints

EndpointDescription
GET /wallets/{blockchainId}/{address}Full wallet intelligence
GET /wallets/{blockchainId}/{address}/risk-scoreRisk score only (faster)
GET /fraud-reportsList fraud reports
POST /fraud-reportsSubmit a fraud report
GET /blacklistBlacklisted addresses
GET /feed/snapshotFull threat feed snapshot
POST /webhooksRegister a webhook endpoint
POST /ingest/reportsBulk-ingest fraud reports
POST /ingest/walletsBulk-ingest wallet flags
POST /ingest/domainsBulk-ingest domains
GET /healthAPI health check

Risk score ranges

ScoreLabelRecommended action
0–24SafeNo action
25–49Low RiskAdd to watchlist
50–74Medium RiskFlag for review
75–89High RiskBlock / submit report
90–99CriticalImmediate block + escalate

Scores ≥ 75 trigger automatic alerts. Scores ≥ 90 are auto-flagged as Critical.


Wallet severity tiers

TierMeaningAction
blacklistedConfirmed malicious: corroborated by Ripple, Xaman, or investigationsBlock transactions
suspiciousFlagged by feeds, community reports, or on-chain patternsMonitor / risk score

Webhook events

EventWhen it fires
indicator_addedNew threat verified and added
indicator_updatedExisting indicator updated with new evidence
indicator_removedIndicator removed (false positive or domain taken down)

Signature header: X-Chainara-Signature: sha256=<hmac-hex> Secret algorithm: HMAC-SHA256 over raw request body.


Threat feed indicator types

typeDescription
domainMalicious or suspicious domain
walletBlockchain address (see severity tier)
domain_wallet_pairVerified domain → drain wallet link
fraud_reportFull investigation report
community_reportVictim-submitted scam report

Threat types

TypeDescription
xrp_scamXRP/Ripple-themed scam
executive_impersonationImpersonates a public figure
giveaway_scamFake airdrop or doubling scheme
phishingCredential theft
investment_fraudFake investment / Ponzi
political_scamUses political figures as lure
scam_recipientWallet that received victim funds
drain_walletWallet used to drain scam site
exfil_patternOn-chain fund exfiltration pattern

Fraud / report types

TypeDescription
scam_websiteFraudulent website
fake_giveawayFake airdrop or doubling event
fraudulent_walletConfirmed bad wallet
suspicious_domainSuspicious but unconfirmed domain
social_media_scamScam operated via social channels

For the full taxonomy see Threat Categories.


Ingest rules

  • All ingest submissions tagged source_tier: community, verification_status: pending
  • Risk scores capped at 65 until analyst verifies
  • Admins review via Admin → Fraud Reports → External Intel

Incremental sync pattern

# Store generated_at from last response; pass as ?since= on next call
params = {"since": load_last_sync_timestamp()}
r = requests.get(f"{BASE_URL}/feed/snapshot", headers=headers, params=params)
save_last_sync_timestamp(r.json()["generated_at"])

Pagination cursors expire after 1 hour. If expired, restart with a fresh snapshot.


Error codes

CodeMeaning
400Bad request: invalid parameters
401Missing or invalid API key
403Valid key but insufficient plan/permissions
404Resource not found
429Rate limited: check Retry-After header
500Server error: retry with exponential backoff