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.

โšก Base URL https://chainshieldsentinel.tech
๐Ÿ“ก Version 0.6.0
๐Ÿš€ Quick Start

Scan a token in 5 seconds โ€” no API key needed for free tier.

cURL
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.

Header
X-API-Key: cs_your_api_key_here
cURL Example
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.

CodeMeaningCommon 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
Error Response Example
{
  "detail": "Rate limit exceeded. Try again in 45s. (20 scans/min limit)"
}
POST /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

ParameterTypeRequiredDescription
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

FieldTypeDescription
addressstringContract address
chainstringBlockchain network
namestringToken name
symbolstringToken symbol
safety_scoreintegerSafety score 0-100 (higher = safer)
risk_levelstringsafe, caution, danger, or critical
is_honeypotbooleanTrue if token is a honeypot (can't sell)
can_sellbooleanWhether selling is possible
buy_taxfloatBuy tax percentage (0-100)
sell_taxfloatSell tax percentage (0-100)
owner_renouncedbooleanWhether contract ownership is renounced
owner_addressstringContract owner address
is_verifiedbooleanWhether source code is verified on explorer
is_proxybooleanWhether contract uses a proxy pattern
liquidity_lockedbooleanWhether liquidity is locked
lock_platformstringPlatform where liquidity is locked (e.g. "PancakeSwap")
price_usdfloatCurrent price in USD
volume_24hfloat24-hour trading volume in USD
market_capfloatMarket capitalization in USD
holdersintegerNumber of token holders
data_sourcesarrayData sources used (e.g. ["GoPlus", "DexScreener"])
warningsarrayList of risk warnings found
positivesarrayList of positive indicators
๐Ÿงช Try It Live
Example Response
{
  "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"
  ]
}
GET /api/health

Check API status and version. No authentication required.

Response
{
  "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.

POST /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

ParameterTypeRequiredDescription
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
}
POST /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
  }
}
POST /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.

POST /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

ParameterTypeRequiredDescription
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}'
GET /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
}
GET /api/v1/launchpads/fourmeme PRO ONLY

Get new tokens from four.meme (BNB Chain) via DexScreener proxy. Includes price, volume, and social links.

GET /api/v1/launchpads/gmgn PRO ONLY

Get trending Solana meme tokens (via DexScreener). Includes volume, price changes, and buy/sell counts.

POST /api/keys/generate

Generate a new API key. In production, this requires authentication and a paid plan.

Request Body

ParameterTypeRequiredDescription
user_id string optional User identifier. Default: demo_user
plan string optional Plan type: free, pro, enterprise. Default: pro

Response 200

Example
{
  "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."
}
GET /api/keys/validate

Validate an API key and check its usage. Pass the key in the X-API-Key header.

Response 200

Example
{
  "valid": true,
  "plan": "pro",
  "usage_count": 42,
  "limits": {
    "scans_per_minute": -1,
    "api_calls_per_day": 1000,
    "wallet_monitoring": 5
  }
}
GET /api/plans

Get all available plans, features, and limits. No authentication required.

Response 200

Example
{
  "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 IDNetworkNative TokenExplorer
bsc๐ŸŸก BNB Smart ChainBNBbscscan.com
eth๐Ÿ”ท EthereumETHetherscan.io
base๐Ÿ”ต BaseETHbasescan.org
arbitrum๐ŸŒ€ Arbitrum OneETHarbiscan.io
polygon๐ŸŸฃ PolygonMATICpolygonscan.com
avalanche๐Ÿ”ด AvalancheAVAXsnowtrace.io
fantom๐Ÿ‘ป FantomFTMftmscan.com
optimism๐Ÿ”ด OptimismETHoptimistic.etherscan.io
solana๐ŸŸฃ SolanaSOLsolscan.io

Understanding the Safety Score

The safety score (0-100) is calculated from multiple on-chain and off-chain signals.

80-100
Safe โ€” Low risk indicators
60-79
Caution โ€” Some concerns
30-59
Danger โ€” High risk signals
0-29
Critical โ€” Likely scam

Scoring Factors

FactorWeightWhat It Checks
Honeypot DetectionHighCan holders actually sell the token?
Contract VerificationMediumIs source code verified on block explorer?
Ownership StatusMediumHas the owner renounced control?
Liquidity LockMediumIs LP locked on a recognized platform?
Buy/Sell TaxLowAre transaction taxes reasonable (<10%)?
Proxy ContractLowDoes the contract use an upgradeable proxy?

Code Examples

Copy-paste ready examples for popular languages.

๐Ÿ Python

Python (requests)
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

JavaScript (fetch)
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

bash
# 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.

Python โ€” Pre-trade Safety Check
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).

๐Ÿ”‘ Requires CMC_API_KEY in environment โ€” Get free key โ†’
GET /api/market/status

Check if CMC API is configured and working.

curl https://chainshieldsentinel.tech/api/market/status
GET /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_capTotal crypto market cap in USD
total_volume_24h24h trading volume
btc_dominanceBitcoin dominance %
eth_dominanceEthereum dominance %
active_cryptocurrenciesNumber of active cryptos
GET /api/market/gainers

Top price gainers in the last 24 hours.

curl https://chainshieldsentinel.tech/api/market/gainers?limit=10
GET /api/market/losers

Top price losers in the last 24 hours.

curl https://chainshieldsentinel.tech/api/market/losers?limit=10
GET /api/market/new-listings

Newly listed cryptocurrencies on CoinMarketCap.

curl https://chainshieldsentinel.tech/api/market/new-listings?limit=10
GET /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)

๐Ÿ”” 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.

๐Ÿ’ก Requires Pro or Enterprise plan

Available Events

EventDescription
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

POST /api/webhooks

Request Body

ParameterTypeRequiredDescription
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

Example
{
  "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"
}
โš ๏ธ Save the secret โ€” it's only shown once and needed to verify webhook signatures.

Other Webhook Endpoints

MethodEndpointDescription
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

HeaderDescription
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
Python โ€” Verify Webhook Signature
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"}
Node.js โ€” Verify Webhook Signature
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

Example Payload โ€” scan.honeypot
{
  "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.

POST /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"
}
GET /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
pip install chain-sentinel

Quick Start

Python
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

MethodReturnsDescription
scan(address, chain)ScanResultScan token safety
health()HealthResponseCheck API status
validate_key()dictValidate current API key
get_plans()List[Plan]Get pricing plans
create_webhook(url, events)WebhookInfoCreate webhook subscription
list_webhooks()List[WebhookInfo]List webhook subscriptions
test_webhook(id)dictSend test payload
delete_webhook(id)NoneDelete 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
npm install chain-sentinel

Quick Start

TypeScript / ESM
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

MethodReturnsDescription
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