⚡ 5-Minute Developer Integration

Add Honeypot Protection to Any Trading Bot

Trading bots: change nothing else — use the stream or wrapFetchWithPayment and pay with a $1 session pass.

● Live Feed Active · Live verified audits and active bot telemetry streamed at /api/live/activity · Real-time pre-pair SSE at /api/stream/pre-pair

Defend your snipers, copy-traders, and AI agents against honeypots, hidden 99% sell taxes, and malicious fee switches with sub-millisecond EVM bytecode forensics across 35 chains.

📦 Official 1-Line Drop-in SDKs: Python & Node.js (julie-guard)

Official Packages

Install julie-guard to guard any bot or swap in 1 line. Automatically handles HTTP 402 paywalls, session keys, and 5-chain vault auto-credit transfers (Base, Arbitrum, BSC, Polygon, Ethereum) with sub-0.5ms pre-trade execution.

Python (pip):
# Install official julie-guard package: pip install julie-guard # (Or direct from sentinel: pip install "https://julie.freysa.dev/sdk/julie_guard-3.7.0-py3-none-any.whl") # 1-Line Pre-Trade Honeypot Check: from julie_guard import is_safe if not is_safe(token_address, chain="base"): print("Abort – honeypot or high risk") return
Node.js / TypeScript (npm):
# Install official julie-guard package: npm install julie-guard # (Or direct from sentinel: npm install "https://julie.freysa.dev/sdk/julie-guard-3.7.0.tgz") # 1-Line Pre-Trade Honeypot Check: const { isSafe } = require('julie-guard'); if (!await isSafe(tokenAddress, 'base')) { console.log("Abort – honeypot or high risk"); return; }
🛡️ Embed GitHub Security Shield: Add dynamic verification into your repo's README:
[![Protected by Julie](https://julie.freysa.dev/badge/shield/base/YOUR_CONTRACT.svg)](https://julie.freysa.dev/integrate)

⚡ Fastest Path (1-Line Autonomous Audit)

Python & TypeScript Turnkey

Run an audit immediately with automatic HTTP 402 challenge handling, Base USDC permit signing, and local session pass caching:

# 1. Fastest One-Line Path (Run Interactive Client Directly): curl -s https://julie.freysa.dev/client.py | python3 # 2. Or download script for automated bot loops: curl -s https://julie.freysa.dev/client.py > client.py # 3. Run instant audit (auto-settles Base Native USDC to 0x75F0...b20C): CLIENT_PRIVATE_KEY=0x... python3 client.py --contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 --chain base

Available directly: /client.py (Python) · julie_x402_client.ts (TypeScript/viem) · Full Client Docs

🏢 Companies & Multi-Bot Teams: Buy a $5 (750 scans) or $20 (4,000 scans) pass once, and share the exact same X-Session-Key across all your servers and sniper instances. No per-seat fees or contract required. View Team Overview →

🤖 For Trading Bot Developers (Freqtrade, Hummingbot, Custom Snipers)

Drop-in Guard

Prevent your bots from buying unverified tokens, malicious proxies, high-tax honeypots, or blacklists. Works in 3 lines of code before any buy transaction.

A. Freqtrade Custom Strategy (Python - before buy order):

import requests def custom_entry_check(pair_token_address: str, chain: str = "base") -> bool: # Fast pre-trade audit (0.5ms) - replace with your session key or use X-Payment-Tx url = f"https://julie.freysa.dev/api/audit?chain={chain}&contract={pair_token_address}" headers = {"X-Session-Key": "YOUR_SESSION_KEY"} # Or pass ?auto_pass=starter&payer=0xRealAddress r = requests.get(url, headers=headers, timeout=2.0) if r.status_code == 200 and r.json().get("safe_to_swap") is True: return True # Safe to submit buy order print(f"🚨 Honeypot/Trap skipped: {r.json().get('kill_reason')}") return False

B. Hummingbot / Python Async Sniper Loop:

import aiohttp async def verify_token_safe(session: aiohttp.ClientSession, token_addr: str) -> bool: # Direct multi-chain transfer verification or session allowance async with session.get(f"https://julie.freysa.dev/api/audit?chain=base&contract={token_addr}") as resp: if resp.status == 200: data = await resp.json() return data.get("safe_to_swap", False) elif resp.status == 402: print("Payment required. Run: curl -s https://julie.freysa.dev/client.py | python3") return False

C. Node.js / Ethers Sniper (Pre-Flight Filter):

const axios = require('axios'); async function isContractSafe(tokenContract, chain = 'base') { try { const { data } = await axios.get(`https://julie.freysa.dev/api/audit?chain=${chain}&contract=${tokenContract}`, { headers: { 'X-Payment-Tx': process.env.FUNDING_TX_HASH || '' }, // Or X-Session-Key timeout: 2500 }); return data.safe_to_swap === true; } catch (err) { if (err.response?.status === 402) { console.log('HTTP 402: Direct transfer ETH/USDC to 0x75F05Da87cDFf3f6bAcAc3C07CD49F1D7dC7b20C and pass tx in X-Payment-Tx'); } return false; } }

★ Real-Time Pre-Pair Mempool Stream (SSE)

⚡ 0.15ms Pre-Warmed Push Feed

Designed for mempool snipers, MEV searchers, and copy-trading bots. Receive instant security verdicts (honeypot score, hidden taxes, selfdestruct opcodes, upgradeable proxies) the millisecond a Uniswap V3 pool is created on Base or Arbitrum.

Free Trial: Up to 3 free alerts per connection.
Continuous 24/7 Feed: Connect with X-Session-Key or ?session_key=. Activate via Starter Pass ($1.00 USDC / 125 scans) or Pro Pass ($5.00 USDC / 700 scans) directly to Base Native USDC.

1. Quick Curl Test (Terminal / Bot CLI):

# Receive 3 free live alerts (sub-millisecond verdicts): curl -N -H "Accept: text/event-stream" https://julie.freysa.dev/api/stream/pre-pair # Continue stream with paid session key: curl -N -H "X-Session-Key: sess_1729392000_abc123" https://julie.freysa.dev/api/stream/pre-pair # OR via query parameter: curl -N "https://julie.freysa.dev/api/stream/pre-pair?session_key=sess_1729392000_abc123"

2. Python Sniper Consumer:

import json, requests STREAM_URL = "https://julie.freysa.dev/api/stream/pre-pair" SESSION_KEY = "" # Leave empty for 3 free trial alerts, or enter your session key headers = {"Accept": "text/event-stream"} if SESSION_KEY: headers["X-Session-Key"] = SESSION_KEY response = requests.get(STREAM_URL, headers=headers, stream=True) for line in response.iter_lines(): if line.startswith(b"data: "): event = json.loads(line[6:]) if event.get("event") == "PAYWALL_REACHED": print("Trial quota reached (3/3). Activate pass at POST /api/session/create") break token = event.get("token") verdict = event.get("verdict") # 'SAFE', 'SUSPICIOUS', or 'HONEYPOT_DETECTED' print(f"⚡ Pre-Pair Detected: [{event.get('chain')}] {token} -> {verdict} (Score: {event.get('honeypot_score')})") if verdict == "SAFE": # Execute low-latency swap on your DEX contract pass

3. Node.js / TypeScript Consumer:

const https = require('https'); const sessionKey = process.env.JULIE_SESSION_KEY || ''; // 3 free alerts if omitted const url = sessionKey ? `https://julie.freysa.dev/api/stream/pre-pair?session_key=${sessionKey}` : 'https://julie.freysa.dev/api/stream/pre-pair'; https.get(url, (res) => { res.on('data', (chunk) => { const lines = chunk.toString().split('\n'); for (const line of lines) { if (line.startsWith('data: ')) { const payload = JSON.parse(line.slice(6)); if (payload.event === 'PAYWALL_REACHED') { console.log('Quota reached (3/3). Upgrading with $1.00 USDC session pass...'); return; } console.log(`[${payload.chain}] ${payload.token} verdict: ${payload.verdict} (${payload.execution_latency})`); } } }); });

1 1-Line Drop-in SDKs: Python (pip) & Node (npm)

Install julie-guard in 1 command. Intercepts swaps before broadcast, auto-detects vault deposits within 1 block, and stops honeypot losses with 0.5ms pre-trade execution.

Python (pip):
# Install official julie-guard package: pip install julie-guard # (Or direct from sentinel: pip install "https://julie.freysa.dev/sdk/julie_guard-3.7.0-py3-none-any.whl") # 1-Line pre-trade check in your DEX bot: from julie_guard import is_safe if not is_safe(token_address, chain="base"): print("Honeypot – abort") return
Node.js / TypeScript (npm):
# Install official julie-guard package: npm install julie-guard # (Or direct from sentinel: npm install "https://julie.freysa.dev/sdk/julie-guard-3.7.0.tgz") # 1-Line pre-trade check in your Node bot: const { isSafe } = require('julie-guard'); if (!await isSafe(tokenAddress, 'base')) { console.log("Honeypot – abort"); return; }
import JulieGuard guard = JulieGuard(chain="base") def execute_swap(token_address, amount): # Instant 0.5ms pre-trade audit if not guard.is_safe(token_address): print(f"🚨 Honeypot or toxic fee detected: {guard.last_reason}") return False # Proceed with safe swap... return broadcast_tx(token_address, amount)

2 Node.js / JavaScript: Pre-Trade Check

Drop julie_guard.js into your sniper bot directory. Works with ethers.js, viem, or web3.js.

// 1. Download guard curl -O https://julie.freysa.dev/sdk/julie_guard.js // 2. In your sniper bot (index.js): const { JulieGuard } = require('./julie_guard'); const guard = new JulieGuard({ chain: 'base' }); async function onNewPool(tokenAddress) { const audit = await guard.audit(tokenAddress); if (!audit.safe_to_swap) { console.warn(`⚠️ Rejected ${tokenAddress}: ${audit.kill_reason}`); return; } await sendSnipe(tokenAddress); } // 3. Or use the 1-Line Drop-in fetch Wrapper (auto-pays 402 challenges): const { wrapFetchWithPayment } = require('./julie_guard'); const paidFetch = wrapFetchWithPayment(fetch, process.env.BASE_WALLET_KEY); const res = await paidFetch('https://julie.freysa.dev/api/audit?contract=0x...&chain=base'); const audit = await res.json();
⚡ Ready-to-use 5-line examples: julie_5line_check.js · julie_5line_check.py

3 3 Ways to Unlock Continuous Audits (Session Passes: $1 = 125 Scans · $5 = 750 Scans · $20 = 4,000 Scans)

💡 High-Frequency Sniper Default: Pre-load a $5.00 Pro Sniper Pass (750 scans · $0.0066/scan) or $1.00 Starter Pass (125 scans) via POST /api/session/create or auto_pass=starter.

Every caller receives 5 free demo audits every 24 hours. When exhausted, bots choose between three frictionless payment rails settled in Base Native USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) to 0x75F05Da87cDFf3f6bAcAc3C07CD49F1D7dC7b20C. Session key is returned immediately after verified payment for reuse via X-Session-Key on /api/audit and /api/stream/pre-pair.

Option 1: Prepaid Session Passes ($1 / $5 / $20)

Activate a $1 Starter (125 scans), $5 Pro Sniper (750 scans), or $20 Institutional Pass (4,000 scans) via POST /api/session/create or ?auto_pass=starter.

curl -X POST https://julie.freysa.dev/api/session/create -H "Content-Type: application/json" -d '{"tier":"pro_sniper_pass","payer":"0xYOUR_WALLET"}'

# Or 1-Click Starter ($1 = 125 scans):
curl "https://julie.freysa.dev/api/audit?chain=base&contract=0x...&auto_pass=starter&payer=0xYOUR_WALLET"

Option 2: Direct Multi-Chain Transfer (Zero Signing Required)

Pay directly on Base, Arbitrum One, BNB Chain, Polygon, or Ethereum with native gas or stablecoins. Pass tx hash via X-Payment-Tx header for instant activation:

# Pay on Arbitrum (0.0004 ETH = 125 scans):
cast send 0x75F05Da87cDFf3f6bAcAc3C07CD49F1D7dC7b20C --value 0.0004ether --rpc-url https://arb1.arbitrum.io/rpc --private-key $PK

# Pay on Base (0.0004 ETH = 125 scans):
cast send 0x75F05Da87cDFf3f6bAcAc3C07CD49F1D7dC7b20C --value 0.0004ether --rpc-url https://mainnet.base.org --private-key $PK

# Pay on BNB Chain (0.0016 BNB = 125 scans):
cast send 0x75F05Da87cDFf3f6bAcAc3C07CD49F1D7dC7b20C --value 0.0016ether --rpc-url https://bsc-dataseed.binance.org --private-key $PK

# Query with tx hash from any chain (returns audit + active session pass):
curl "https://julie.freysa.dev/api/audit?chain=base&contract=0x..." -H "X-Payment-Tx: <TX_HASH>"

Option 3: Standard x402 Micropayment

Autonomous AI agents and snipers sign an EIP-712 Permit for exact $0.01 Base USDC per call via standard x402 payment headers.

curl "https://julie.freysa.dev/api/audit?chain=base&contract=0x..." -H "PAYMENT-SIGNATURE: <EIP712_PERMIT_HEX>" -H "X-Payer-Address: 0xYOUR_WALLET"

4 $2,000 Maintainer Integration Bounties (4 x $500 Base USDC)

Maintain an active open-source Base/EVM sniper bot, ElizaOS/AgentKit plugin, Telegram alpha bot, or MEV repo? Earn $500.00 Base Native USDC when you merge julie_5line_check into your default trade guard and reach ≥ 50 verified downstream bot callers via your custom User-Agent header.

📄 Full Rules & Acceptance Tests: SNIPER_BOT_MIDDLEWARE.md · Submit claims to admin@julie.freysa.dev
Open Web App (PWA) View Full Quickstart Julie vs Manual Checks