Chain Sentinel API
Integrate token safety scanning, smart wallet tracking, and launchpad monitoring into your trading bots, dashboards, and DeFi tools.
NEW in v0.5.0: Track whale wallets (PnL + trades), scan new tokens from pump.fun, gmgn, four.meme, and DexScreener.
NEW in v0.6.0: Accept crypto payments, manage Pro subscriptions, and real-time social proof.
https://chainshieldsentinel.tech
0.6.0
Scan a token in 5 seconds โ no API key needed for free tier.
curl -X POST https://chainshieldsentinel.tech/api/scan \
-H "Content-Type: application/json" \
-d '{"address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", "chain": "bsc"}'
Authentication
The API supports two modes: free access (no key needed, 20 scans/min) and authenticated access (API key in header, higher limits).
Using an API Key
Pass your API key in the X-API-Key header with every request.
X-API-Key: cs_your_api_key_here
curl -X POST https://chainshieldsentinel.tech/api/scan \
-H "Content-Type: application/json" \
-H "X-API-Key: cs_your_api_key_here" \
-d '{"address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", "chain": "bsc"}'
Rate Limits
Rate limits are per IP address. When exceeded, the API returns 429 Too Many Requests.
| Plan | Scans/Min | API Calls/Day | Price |
|---|---|---|---|
| Free | 20 | Unlimited | $0 |
| Pro | Unlimited | 1,000 | $9/mo |
| Enterprise | Unlimited | Unlimited | $29/mo |
Errors
The API uses standard HTTP status codes. Errors return a JSON body with a detail field.
| Code | Meaning | Common Cause |
|---|---|---|
| 200 | Success | Request processed successfully |
| 400 | Bad Request | Invalid address or chain parameter |
| 401 | Unauthorized | Invalid or inactive API key |
| 429 | Rate Limited | Too many requests โ slow down |
{
"detail": "Rate limit exceeded. Try again in 45s. (20 scans/min limit)"
}
/api/scan
Scan a token contract for safety indicators. Returns a comprehensive safety report including honeypot detection, tax analysis, liquidity status, and a 0-100 safety score.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | required | Token contract address |
| chain | string | optional | Blockchain network. Default: bsc. Options: bsc, eth, base, arbitrum, polygon, avalanche, fantom, optimism, solana |
Response 200
| Field | Type | Description |
|---|---|---|
| address | string | Contract address |
| chain | string | Blockchain network |
| name | string | Token name |
| symbol | string | Token symbol |
| safety_score | integer | Safety score 0-100 (higher = safer) |
| risk_level | string | safe, caution, danger, or critical |
| is_honeypot | boolean | True if token is a honeypot (can't sell) |
| can_sell | boolean | Whether selling is possible |
| buy_tax | float | Buy tax percentage (0-100) |
| sell_tax | float | Sell tax percentage (0-100) |
| owner_renounced | boolean | Whether contract ownership is renounced |
| owner_address | string | Contract owner address |
| is_verified | boolean | Whether source code is verified on explorer |
| is_proxy | boolean | Whether contract uses a proxy pattern |
| liquidity_locked | boolean | Whether liquidity is locked |
| lock_platform | string | Platform where liquidity is locked (e.g. "PancakeSwap") |
| price_usd | float | Current price in USD |
| volume_24h | float | 24-hour trading volume in USD |
| market_cap | float | Market capitalization in USD |
| holders | integer | Number of token holders |
| data_sources | array | Data sources used (e.g. ["GoPlus", "DexScreener"]) |
| warnings | array | List of risk warnings found |
| positives | array | List of positive indicators |
{
"address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82",
"chain": "bsc",
"name": "PancakeSwap Token",
"symbol": "CAKE",
"safety_score": 85,
"risk_level": "safe",
"is_honeypot": false,
"can_sell": true,
"buy_tax": 0.0,
"sell_tax": 0.0,
"owner_renounced": true,
"owner_address": "0x0000000000000000000000000000000000000000",
"is_verified": true,
"is_proxy": false,
"liquidity_locked": true,
"lock_platform": "PancakeSwap",
"price_usd": 2.45,
"volume_24h": 52000000,
"market_cap": 720000000,
"holders": 1250000,
"data_sources": ["GoPlus", "DexScreener"],
"warnings": [],
"positives": [
"Contract source code is verified",
"Ownership is renounced",
"Liquidity is locked",
"No honeypot patterns detected"
]
}
/api/health
Check API status and version. No authentication required.
{
"status": "ok",
"service": "chain-sentinel",
"version": "0.3.0"
}
๐ Smart Wallet Tracking v0.5.0
Track whale wallets, analyze trades, and calculate PnL across EVM chains and Solana. Free tier: 3 trades, no PnL. Pro: unlimited trades + full PnL breakdown.
/api/v1/wallet/trades
FREE / PRO
Get recent trades for a wallet address. Scans on-chain transfer logs to detect DEX trades.
Free: 3 recent trades, limited data. Pro: Unlimited trades with full details + USD values.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | required | Wallet address (0x... for EVM, base58 for Solana) |
| chains | string[] | optional | Array of chains to scan. Default: ["bsc", "eth"]. Options: bsc, eth, base, arbitrum, polygon, avalanche, fantom, optimism, solana |
Example Request
curl -X POST https://chainshieldsentinel.tech/api/v1/wallet/trades \
-H "Content-Type: application/json" \
-d '{"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "chains": ["eth"]}'
Response (Free Tier)
{
"address": "0xd8dA...6045",
"plan": "free",
"trades": [
{"tx_hash": "0x1234abcd...", "chain": "eth", "action": "buy", "token": "CMD", "amount": 147710.7253, "locked": true}
],
"total_visible": 3,
"total_hidden": 12,
"upgrade_message": "Upgrade to Pro to see full trade history, PnL, and all chains."
}
Response (Pro Tier)
{
"address": "0xd8dA...6045",
"plan": "pro",
"trades": [
{
"tx_hash": "0x1234abcdef...",
"chain": "eth",
"timestamp": 1717800000,
"action": "buy",
"token_address": "0xae42f183554d369ee9...",
"token_symbol": "CMD",
"token_name": "Ten Commandments",
"amount": 147710.7253,
"amount_usd": 1234.56,
"price_usd": 0.008356,
"dex": "uniswap"
}
],
"total": 15
}
/api/v1/wallet/pnl
PRO ONLY
Calculate profit/loss for a wallet by analyzing trade history. Returns win rate, realized PnL, and average hold time.
Free: Returns null + upgrade message. Pro: Full PnL breakdown.
Response (Pro)
{
"address": "0xd8dA...6045",
"plan": "pro",
"pnl": {
"total_trades": 15,
"winning_trades": 9,
"losing_trades": 6,
"win_rate": 60.0,
"total_realized_pnl": 4521.34,
"total_pnl": 4521.34,
"avg_hold_time_hours": 12.5
}
}
/api/v1/wallet/summary
FREE / PRO
Full wallet summary combining trades, PnL, and holdings. Free tier returns limited data with upgrade prompts.
๐ Launchpad Scanner v0.5.0
Aggregate new tokens from pump.fun, gmgn, four.meme, and DexScreener. Free tier: 1 launchpad, 5 tokens. Pro: all launchpads, unlimited.
/api/v1/launchpads/tokens
FREE / PRO
Get new tokens from multiple launchpads in one call. Specify which launchpads to query.
Free: 5 tokens, blurred prices. Pro: All tokens, full data.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| launchpads | string[] | optional | Array of launchpads. Options: dexscreener, pump.fun, four.meme, gmgn. Default: ["dexscreener"] |
| limit | integer | optional | Max tokens per launchpad. Default: 10 |
Example
curl -X POST https://chainshieldsentinel.tech/api/v1/launchpads/tokens \
-H "Content-Type: application/json" \
-d '{"launchpads": ["dexscreener", "pump.fun", "four.meme", "gmgn"], "limit": 5}'
/api/v1/launchpads/trending
FREE / PRO
Get trending/boosted tokens from DexScreener. No parameters needed.
Free: Top 5, blurred prices. Pro: Full list with prices, volume, and social links.
/api/v1/launchpads/pumpfun
PRO ONLY
Get new tokens from pump.fun (Solana). Includes bonding curve %, dev wallet, and social links.
Free: Locked + upgrade message. Pro: Full data with bonding curve progress.
Response (Pro)
{
"plan": "pro",
"launchpad": "pump.fun",
"tokens": [
{
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"chain": "solana",
"name": "Example Token",
"symbol": "EXMPL",
"price_usd": 0.00001234,
"market_cap": 12340,
"holders": 45,
"created_at": 1717800000,
"bonding_curve_pct": 23.5,
"twitter": "https://x.com/example"
}
],
"total": 20
}
/api/v1/launchpads/fourmeme
PRO ONLY
Get new tokens from four.meme (BNB Chain) via DexScreener proxy. Includes price, volume, and social links.
/api/v1/launchpads/gmgn
PRO ONLY
Get trending Solana meme tokens (via DexScreener). Includes volume, price changes, and buy/sell counts.
/api/keys/generate
Generate a new API key. In production, this requires authentication and a paid plan.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | string | optional | User identifier. Default: demo_user |
| plan | string | optional | Plan type: free, pro, enterprise. Default: pro |
Response 200
{
"api_key": "cs_aBcDeFgHiJkLmNoPqRsTuVwXyZ123456",
"plan": "pro",
"limits": {
"scans_per_minute": -1,
"api_calls_per_day": 1000,
"wallet_monitoring": 5
},
"message": "Keep this key safe. It won't be shown again."
}
/api/keys/validate
Validate an API key and check its usage. Pass the key in the X-API-Key header.
Response 200
{
"valid": true,
"plan": "pro",
"usage_count": 42,
"limits": {
"scans_per_minute": -1,
"api_calls_per_day": 1000,
"wallet_monitoring": 5
}
}
/api/plans
Get all available plans, features, and limits. No authentication required.
Response 200
{
"plans": [
{
"name": "Free",
"price": 0,
"currency": "USD",
"interval": "forever",
"features": [
"20 scans per minute",
"Basic safety report",
"9 blockchain networks",
"Honeypot detection"
]
},
{
"name": "Pro",
"price": 5,
"currency": "USD",
"interval": "month",
"features": [
"Unlimited scans",
"Advanced safety report",
"API access (1000 calls/day)",
"Wallet monitoring (5 wallets)",
"Email alerts",
"Priority support"
]
},
{
"name": "Enterprise",
"price": 25,
"currency": "USD",
"interval": "month",
"features": [
"Everything in Pro",
"Unlimited API calls",
"Wallet monitoring (50 wallets)",
"Custom integrations",
"White-label option",
"Dedicated support"
]
}
]
}
Supported Chains
Use these chain identifiers in the chain parameter.
| Chain ID | Network | Native Token | Explorer |
|---|---|---|---|
bsc | ๐ก BNB Smart Chain | BNB | bscscan.com |
eth | ๐ท Ethereum | ETH | etherscan.io |
base | ๐ต Base | ETH | basescan.org |
arbitrum | ๐ Arbitrum One | ETH | arbiscan.io |
polygon | ๐ฃ Polygon | MATIC | polygonscan.com |
avalanche | ๐ด Avalanche | AVAX | snowtrace.io |
fantom | ๐ป Fantom | FTM | ftmscan.com |
optimism | ๐ด Optimism | ETH | optimistic.etherscan.io |
solana | ๐ฃ Solana | SOL | solscan.io |
Understanding the Safety Score
The safety score (0-100) is calculated from multiple on-chain and off-chain signals.
Scoring Factors
| Factor | Weight | What It Checks |
|---|---|---|
| Honeypot Detection | High | Can holders actually sell the token? |
| Contract Verification | Medium | Is source code verified on block explorer? |
| Ownership Status | Medium | Has the owner renounced control? |
| Liquidity Lock | Medium | Is LP locked on a recognized platform? |
| Buy/Sell Tax | Low | Are transaction taxes reasonable (<10%)? |
| Proxy Contract | Low | Does the contract use an upgradeable proxy? |
Code Examples
Copy-paste ready examples for popular languages.
๐ Python
import requests
API_URL = "https://chainshieldsentinel.tech/api/scan"
API_KEY = "cs_your_api_key_here" # Optional for free tier
def scan_token(address: str, chain: str = "bsc") -> dict:
"""Scan a token for safety indicators."""
headers = {"Content-Type": "application/json"}
if API_KEY:
headers["X-API-Key"] = API_KEY
response = requests.post(API_URL, json={
"address": address,
"chain": chain
}, headers=headers)
response.raise_for_status()
return response.json()
# Example: Scan CAKE on BSC
result = scan_token("0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82")
print(f"Token: {result['name']} ({result['symbol']})")
print(f"Safety Score: {result['safety_score']}/100")
print(f"Risk Level: {result['risk_level']}")
print(f"Honeypot: {result['is_honeypot']}")
print(f"Buy Tax: {result['buy_tax']}%")
print(f"Sell Tax: {result['sell_tax']}%")
โก JavaScript / Node.js
const API_URL = "https://chainshieldsentinel.tech/api/scan";
const API_KEY = "cs_your_api_key_here"; // Optional for free tier
async function scanToken(address, chain = "bsc") {
const headers = { "Content-Type": "application/json" };
if (API_KEY) headers["X-API-Key"] = API_KEY;
const response = await fetch(API_URL, {
method: "POST",
headers,
body: JSON.stringify({ address, chain })
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
return response.json();
}
// Example: Scan CAKE on BSC
scanToken("0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82")
.then(result => {
console.log(`Token: ${result.name} (${result.symbol})`);
console.log(`Safety Score: ${result.safety_score}/100`);
console.log(`Risk Level: ${result.risk_level}`);
})
.catch(console.error);
๐ง cURL
# Free tier (no API key)
curl -s -X POST https://chainshieldsentinel.tech/api/scan \
-H "Content-Type: application/json" \
-d '{"address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", "chain": "bsc"}' \
| jq '.'
# With API key
curl -s -X POST https://chainshieldsentinel.tech/api/scan \
-H "Content-Type: application/json" \
-H "X-API-Key: cs_your_api_key_here" \
-d '{"address": "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82", "chain": "bsc"}' \
| jq '.safety_score, .risk_level, .is_honeypot'
๐ค Trading Bot Integration
Example: Auto-check tokens before buying in a trading bot.
import requests
def is_safe_to_buy(token_address: str, chain: str = "bsc",
min_score: int = 60, max_tax: float = 10.0) -> dict:
"""
Check if a token is safe to buy.
Returns dict with 'safe' (bool) and 'reason' (str).
"""
try:
result = requests.post(
"https://chainshieldsentinel.tech/api/scan",
json={"address": token_address, "chain": chain},
headers={"X-API-Key": "cs_your_key"},
timeout=10
).json()
# Check honeypot
if result.get("is_honeypot"):
return {"safe": False, "reason": "Honeypot detected โ cannot sell"}
# Check safety score
if result["safety_score"] < min_score:
return {"safe": False, "reason": f"Score {result['safety_score']} < {min_score}"}
# Check tax
if result["buy_tax"] > max_tax:
return {"safe": False, "reason": f"Buy tax {result['buy_tax']}% > {max_tax}%"}
if result["sell_tax"] > max_tax:
return {"safe": False, "reason": f"Sell tax {result['sell_tax']}% > {max_tax}%"}
return {"safe": True, "reason": f"Score {result['safety_score']} โ {result['risk_level']}"}
except Exception as e:
return {"safe": False, "reason": f"Scan failed: {e}"}
# Usage in your trading bot
check = is_safe_to_buy("0xNewTokenAddress...")
if check["safe"]:
print(f"โ
Safe to buy: {check['reason']}")
# execute_buy(token_address)
else:
print(f"โ Skipping: {check['reason']}")
๐ Market Data CoinMarketCap
Real-time market data powered by CoinMarketCap. Get global metrics, trending tokens, gainers/losers, and search any cryptocurrency. Requires a CMC API key (free tier: 10,000 credits/month).
/api/market/status
Check if CMC API is configured and working.
curl https://chainshieldsentinel.tech/api/market/status
/api/market/overview
Global crypto market metrics: total market cap, BTC/ETH dominance, active cryptocurrencies.
curl https://chainshieldsentinel.tech/api/market/overview
Response fields:
total_market_cap | Total crypto market cap in USD |
total_volume_24h | 24h trading volume |
btc_dominance | Bitcoin dominance % |
eth_dominance | Ethereum dominance % |
active_cryptocurrencies | Number of active cryptos |
/api/market/trending
Get trending cryptocurrencies on CoinMarketCap.
curl https://chainshieldsentinel.tech/api/market/trending?limit=10
Query: limit (1-50, default 20)
/api/market/gainers
Top price gainers in the last 24 hours.
curl https://chainshieldsentinel.tech/api/market/gainers?limit=10
/api/market/losers
Top price losers in the last 24 hours.
curl https://chainshieldsentinel.tech/api/market/losers?limit=10
/api/market/new-listings
Newly listed cryptocurrencies on CoinMarketCap.
curl https://chainshieldsentinel.tech/api/market/new-listings?limit=10
/api/market/top
Top cryptocurrencies ranked by market cap.
curl https://chainshieldsentinel.tech/api/market/top?start=1&limit=20&sort=market_cap
Query: start (offset), limit (1-100), sort (market_cap, volume_24h, percent_change_24h)
/api/market/search?q=bitcoin
Search tokens by name or symbol on CoinMarketCap.
curl https://chainshieldsentinel.tech/api/market/search?q=bitcoin
Query: q (min 2 characters)
๐ Webhooks
Receive real-time notifications when events happen. Webhooks send HTTP POST requests to your URL with event data and HMAC-SHA256 signatures for security.
Available Events
| Event | Description |
|---|---|
scan.complete |
Fired when any scan completes |
scan.risk_high |
Fired when a scan returns risk level danger or critical |
scan.honeypot |
Fired when a honeypot is detected |
key.expired |
Fired when an API key expires or is deactivated |
Create a Webhook
/api/webhooks
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | required | HTTPS endpoint to receive payloads |
| events | array | optional | Events to subscribe. Default: ["scan.complete"] |
| description | string | optional | Human-readable description |
Response 200
{
"id": "wh_a1b2c3d4e5f6g7h8",
"url": "https://myapp.com/webhooks/chain-sentinel",
"events": ["scan.complete", "scan.honeypot"],
"secret": "whsec_xK9mN2pQ4rS6tU8vW0xY2zA4bC6dE8fG",
"active": true,
"created_at": "2025-06-06T12:00:00Z"
}
secret โ it's only shown once and needed to verify webhook signatures.
Other Webhook Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/webhooks |
List your webhook subscriptions |
| POST | /api/webhooks/{id}/test |
Send a test payload |
| DELETE | /api/webhooks/{id} |
Delete a webhook subscription |
๐ Verifying Signatures
Every webhook delivery includes a X-ChainSentinel-Signature header containing an HMAC-SHA256 signature.
Always verify this before processing the payload.
Delivery Headers
| Header | Description |
|---|---|
X-ChainSentinel-Signature |
sha256=<hex> HMAC-SHA256 of request body |
X-ChainSentinel-Event |
Event type (e.g. scan.complete) |
X-ChainSentinel-Delivery |
Unique delivery ID for idempotency |
import hmac
import hashlib
def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
"""Verify a Chain Sentinel webhook signature."""
expected = hmac.new(
secret.encode("utf-8"),
payload,
hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)
# In your webhook handler:
@app.post("/webhooks/chain-sentinel")
async def handle_webhook(request: Request):
body = await request.body()
signature = request.headers.get("X-ChainSentinel-Signature", "")
event = request.headers.get("X-ChainSentinel-Event", "")
if not verify_webhook(body, signature, "whsec_your_secret"):
raise HTTPException(status_code=401, detail="Invalid signature")
data = json.loads(body)
if event == "scan.honeypot":
# Alert: honeypot detected!
print(f"๐จ Honeypot: {data['data']['name']}")
elif event == "scan.complete":
print(f"โ
Scan complete: {data['data']['safety_score']}/100")
return {"status": "ok"}
const crypto = require("crypto");
function verifyWebhook(body, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(body)
.digest("hex");
return signature === `sha256=${expected}`;
}
// Express.js handler
app.post("/webhooks/chain-sentinel", (req, res) => {
const signature = req.headers["x-chainsentinel-signature"];
const event = req.headers["x-chainsentinel-event"];
if (!verifyWebhook(JSON.stringify(req.body), signature, "whsec_your_secret")) {
return res.status(401).json({ error: "Invalid signature" });
}
if (event === "scan.honeypot") {
console.log(`๐จ Honeypot: ${req.body.data.name}`);
}
res.json({ status: "ok" });
});
Webhook Payload Format
{
"event": "scan.honeypot",
"timestamp": "2025-06-06T14:30:00Z",
"data": {
"address": "0xScamToken...",
"chain": "bsc",
"name": "FakeToken",
"symbol": "FAKE",
"safety_score": 12,
"risk_level": "critical",
"is_honeypot": true,
"warnings": [
"Honeypot detected โ sell function disabled",
"Contract not verified",
"Ownership not renounced"
]
}
}
๐ณ Payment & Subscriptions v0.6.0
Accept crypto payments and manage Pro subscriptions.
/api/crypto/payment
Submit a crypto payment for verification. No API key required.
Request Body
{
"email": "user@example.com",
"plan": "pro",
"tx_hash": "0xabc123...",
"chain": "bsc",
"wallet_address": "0x4809618558bf56f9b348fcf1bcd83dbb949746eb"
}
Response
{
"status": "pending",
"message": "Payment submitted. We'll verify within 24h.",
"payment_id": "cp_abc123"
}
/api/subscription/status
Check subscription status by email or API key.
Parameters
email (query) or X-API-Key (header)
Response
{
"active": true,
"plan": "pro",
"expires_at": "2026-07-08T00:00:00Z",
"api_key": "cs_live_abc123"
}
Accepted Payment Wallets
BSC / ETH (USDT, USDC, BNB, ETH)
0x4809618558bf56f9b348fcf1bcd83dbb949746eb
Solana (USDC, SOL, SPL tokens)
7FUVmXcV8rTeyq3RmkpNzwRfyiLn22ggQhpzByrdzB5q
๐ Python SDK
Official Python package for Chain Sentinel. Type-safe, well-documented, production-ready.
Installation
pip install chain-sentinel
Quick Start
from chain_sentinel import ChainSentinel
# Free tier (no API key)
client = ChainSentinel()
# Scan a token
result = client.scan("0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82")
print(result.summary) # โ
PancakeSwap Token (CAKE) โ Score: 85/100 [SAFE]
print(result.is_safe) # True
print(result.is_honeypot) # False
# With API key
client = ChainSentinel(api_key="cs_your_key")
# Create webhook
webhook = client.create_webhook(
url="https://myapp.com/webhooks",
events=["scan.honeypot"]
)
print(f"Secret: {webhook.secret}")
All Methods
| Method | Returns | Description |
|---|---|---|
scan(address, chain) | ScanResult | Scan token safety |
health() | HealthResponse | Check API status |
validate_key() | dict | Validate current API key |
get_plans() | List[Plan] | Get pricing plans |
create_webhook(url, events) | WebhookInfo | Create webhook subscription |
list_webhooks() | List[WebhookInfo] | List webhook subscriptions |
test_webhook(id) | dict | Send test payload |
delete_webhook(id) | None | Delete webhook |
๐ Full documentation: GitHub โ Python SDK
โก JavaScript / Node.js SDK
TypeScript-first SDK with zero dependencies. Works in Node.js 18+ and modern browsers.
Installation
npm install chain-sentinel
Quick Start
import { ChainSentinel } from "chain-sentinel";
const client = new ChainSentinel(); // Free tier
const result = await client.scan(
"0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82"
);
console.log(result.summary); // โ
PancakeSwap Token (CAKE) โ Score: 85/100
console.log(result.isSafe); // true
console.log(result.isHoneypot); // false
// With API key
const pro = new ChainSentinel("cs_your_key");
// Create webhook
const webhook = await pro.createWebhook(
"https://myapp.com/webhooks",
["scan.honeypot", "scan.risk_high"]
);
console.log(`Secret: ${webhook.secret}`);
All Methods
| Method | Returns | Description |
|---|---|---|
scan(address, chain?) | Promise<ScanResult> | Scan token safety |
health() | Promise<HealthResponse> | Check API status |
validateKey() | Promise<object> | Validate current API key |
getPlans() | Promise<Plan[]> | Get pricing plans |
createWebhook(url, events) | Promise<WebhookResponse> | Create webhook subscription |
listWebhooks() | Promise<WebhookListResponse> | List webhook subscriptions |
testWebhook(id) | Promise<TestResponse> | Send test payload |
deleteWebhook(id) | Promise<void> | Delete webhook |
๐ Full documentation: GitHub โ JavaScript SDK
Built by @ChainShieldSn
โ Back to Scanner ยท GitHub ยท Contact