Back to Skill Marketplace

Risk & Control

quickintel-scan

Quick Intel Token Security Scanner performs automated contract analysis across 63 chains (including Base, Ethereum, Solana, Sui, and Tron) to detect honeypots, scams, rug pulls, hidden mint/blacklist functions, ownership controls, and unusual taxes.

Updated today<1 min setup

Overview

Quick Intel Token Security Scanner performs automated contract analysis across 63 chains (including Base, Ethereum, Solana, Sui, and Tron) to detect honeypots, scams, rug pulls, hidden mint/blacklist functions, ownership controls, and unusual taxes.

Quick Intel Token Security Scanner performs automated contract analysis across 63 chains (including Base, Ethereum, Solana, Sui, and Tron) to detect honeypots, scams, rug pulls, hidden mint/blacklist functions, ownership controls, and unusual taxes. In seconds it returns a detailed audit (fields like is_Honeypot, isScam, can_Mint, contract_Renounced, liquidity, buy/sell tax) that guides buy/sell decisions and risk assessments. Use before trading, when asked if a token is safe, or to audit suspicious contracts and detect rug-pull vectors. Integration is via x402 POST /v1/scan/full; each read-only scan costs $0.03 USDC and is paid transparently through an x402-compatible wallet (managed wallets recommended: Sponge, AgentWallet, Vincent, Lobster.cash). Core advantages: multi-chain coverage, rapid actionable signals, low per-scan cost, and no private-key or token access—ideal for traders, analysts, and DeFi tooling.

Skill.md

How this skill works

Quick Intel Token Security Scanner performs automated contract analysis across 63 chains (including Base, Ethereum, Solana, Sui, and Tron) to detect honeypots, scams, rug pulls, hidden mint/blacklist functions, ownership controls, and unusual taxes.

SKILL.mdALPHIO / VERIFIED

Quick Intel Token Security Scanner

Scan any token on 63 chains for honeypots, scams, and security risks. Returns a detailed audit in seconds. Costs $0.03 USDC per scan via x402 — read-only, never touches your wallet or tokens.

Quick Reference

SituationAction
User asks "is this token safe?"Scan the token, interpret results
User wants to buy/trade a tokenScan BEFORE trading, warn on red flags
Scan shows is_Honeypot: trueSTOP — tell user they cannot sell this token
Scan shows isScam: trueSTOP — known scam contract
Scan shows can_Mint: trueWarn: owner can inflate supply
Scan shows high buy/sell tax (>10%)Warn: excessive fees reduce profits
Scan shows contract_Renounced: falseCaution: owner retains control
liquidity: false in resultsMay use non-standard pair — verify on DEX aggregator
User gives chain + addressYou have everything needed to scan
User gives only address, no chainAsk which chain, or try to infer from address format

How to Scan

Endpoint: POST https://x402.quickintel.io/v1/scan/full

Request body:

{
  "chain": "base",
  "tokenAddress": "0x..."
}

That's it. The x402 payment ($0.03 USDC/USDM) is handled automatically by your wallet integration. If you have @x402/fetch, Sponge Wallet, AgentWallet, Vincent, or Lobster.cash — the payment flow is transparent. Pay on any of 14 networks: Base (recommended, lowest fees), Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Unichain, Linea, Sonic, HyperEVM, Ink, Monad, MegaETH (USDM), or Solana.

Which integration do I use?

⚠️ Wallet Security: This skill does NOT require your private key. The x402 payment is handled by YOUR agent's wallet — whichever wallet your agent already uses. If your agent doesn't have a wallet yet, use a managed wallet service (Sponge, AgentWallet, Vincent, Lobster.cash) instead of raw private keys. If you must use programmatic signing, use a dedicated hot wallet with minimal funds ($1-5 USDC), never your main wallet.

Your setupUse thisKey exposure
Using Sponge WalletPattern A below (recommended)✅ No raw keys — API key only
Using AgentWallet (frames.ag)Pattern B below✅ No raw keys — API token only
Using Lobster.cash / CrossmintSee REFERENCE.md✅ No raw keys — managed wallet
Using Vincent WalletSee REFERENCE.md✅ No raw keys — managed signing
Have @x402/fetch installedPattern C below⚠️ Requires private key in env
Have viem or ethers.js, no x402 libraryPattern D below (manual signing)⚠️ Requires private key in env
Using Solana walletSee REFERENCE.md⚠️ Requires private key in env
Not sure / no wallet configuredStart with Pattern A (Sponge)✅ No raw keys

Pattern A: Sponge Wallet (Recommended — No Raw Keys)

curl -sS -X POST "https://api.wallet.paysponge.com/api/x402/fetch" \
  -H "Authorization: Bearer $SPONGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://x402.quickintel.io/v1/scan/full",
    "method": "POST",
    "body": {
      "chain": "base",
      "tokenAddress": "0xa4a2e2ca3fbfe21aed83471d28b6f65a233c6e00"
    },
    "preferred_chain": "base"
  }'

Requires: SPONGE_API_KEY env var. Sign up at paysponge.com. Sponge manages the wallet and signing — your agent never touches a private key.

Pattern B: AgentWallet (No Raw Keys)

const response = await fetch('https://frames.ag/api/wallets/{username}/actions/x402/fetch', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.AGENTWALLET_API_TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://x402.quickintel.io/v1/scan/full',
    method: 'POST',
    body: { chain: 'base', tokenAddress: '0x...' }
  })
});
const scan = await response.json();

Requires: AGENTWALLET_API_TOKEN env var. Get one at frames.ag.

Pattern C: @x402/fetch (Programmatic Signing)

⚠️ Uses a private key. Use a dedicated hot wallet with minimal funds, not your main wallet.

import { x402Fetch } from '@x402/fetch';
import { createWallet } from '@x402/evm';

// Use a DEDICATED wallet with only payment funds ($1-5 USDC)
// NEVER use your main wallet or trading wallet private key here
const wallet = createWallet(process.env.X402_PAYMENT_KEY);

const response = await x402Fetch('https://x402.quickintel.io/v1/scan/full', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ chain: 'base', tokenAddress: '0x...' }),
  wallet,
  preferredNetwork: 'eip155:8453'
});

const scan = await response.json();

Pattern D: Manual EVM Signing (viem)

⚠️ Uses a private key. Use a dedicated hot wallet with minimal funds, not your main wallet.

If you don't have @x402/fetch, handle the payment flow manually:

import { keccak256, toHex } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';

// Use a DEDICATED wallet with only payment funds ($1-5 USDC)
const account = privateKeyToAccount(process.env.X402_PAYMENT_KEY);
const SCAN_URL = 'https://x402.quickintel.io/v1/scan/full';

// Step 1: Hit endpoint, get 402 with payment requirements
const scanBody = JSON.stringify({ chain: 'base', tokenAddress: '0x...' });
const initialRes = await fetch(SCAN_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: scanBody,
});

if (initialRes.status !== 402) throw new Error(`Expected 402, got ${initialRes.status}`);
const paymentRequired = await initialRes.json();

// Step 2: Find preferred network in accepts array
const networkInfo = paymentRequired.accepts.find(a => a.network === 'eip155:8453');
if (!networkInfo) throw new Error('Base network not available');

// Step 3: Sign EIP-712 TransferWithAuthorization
const nonce = keccak256(toHex(`${Date.now()}-${Math.random()}`));
const validBefore = BigInt(Math.floor(Date.now() / 1000) + 3600);

const signature = await account.signTypedData({
  domain: {
    name: networkInfo.extra.name,
    version: networkInfo.extra.version,
    chainId: 8453,
    verifyingContract: networkInfo.asset,
  },
  types: {
    TransferWithAuthorization: [
      { name: 'from', type: 'address' },
      { name: 'to', type: 'address' },
      { name: 'value', type: 'uint256' },
      { name: 'validAfter', type: 'uint256' },
      { name: 'validBefore', type: 'uint256' },
      { name: 'nonce', type: 'bytes32' },
    ],
  },
  primaryType: 'TransferWithAuthorization',
  message: {
    from: account.address,
    to: networkInfo.payTo,
    value: BigInt(networkInfo.amount),
    validAfter: 0n,
    validBefore,
    nonce,
  },
});

// Step 4: Build PAYMENT-SIGNATURE header
// CRITICAL: signature is a SIBLING of authorization, NOT nested inside it
// CRITICAL: value/validAfter/validBefore must be DECIMAL STRINGS
const paymentPayload = {
  x402Version: 2,
  scheme: 'exact',
  network: 'eip155:8453',
  payload: {
    signature,                         // ← Direct child of payload
    authorization: {
      from: account.address,
      to: networkInfo.payTo,
      value: networkInfo.amount,                  // Decimal string: "30000"
      validAfter: '0',                            // Decimal string
      validBefore: validBefore.toString(),         // Decimal string
      nonce,
    },
  },
};

const paymentHeader = Buffer.from(JSON.stringify(paymentPayload)).toString('base64');

// Step 5: Retry with payment
const paidRes = await fetch(SCAN_URL, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',

Best used for

When to use it

Quick Intel Token Security Scanner performs automated contract analysis across 63 chains (including Base, Ethereum, Solana, Sui, and Tron) to detect honeypots, scams, rug pulls, hidden mint/blacklist functions, ownership controls, and unusual taxes.

01 · PRE-MEETING

Prepare a decision brief

Turn scattered evidence into a structured case before an investment committee meeting.

02 · TEAM WORKFLOW

Standardize handoffs

Create consistent research outputs across analysts, portfolio managers, and agents.

03 · LIVE UPDATE

Refresh the thesis

Update scenarios after a new catalyst, KPI release, or earnings result.

Community notes

Built to improve with use.

Feedback will appear here as this skill is used and reviewed.

Leave feedback

Discover more

Related skills

View all
Empieza gratis