npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@blockxai/evi-sdk

v3.1.4

Published

EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification

Readme

🚀 EVI SDK

   ███████╗██╗   ██╗██╗    ███████╗██████╗ ██╗  ██╗
   ██╔════╝██║   ██║██║    ██╔════╝██╔══██╗██║ ██╔╝
   █████╗  ██║   ██║██║    ███████╗██║  ██║█████╔╝ 
   ██╔══╝  ╚██╗ ██╔╝██║    ╚════██║██║  ██║██╔═██╗ 
   ███████╗ ╚████╔╝ ██║    ███████║██████╔╝██║  ██╗
   ╚══════╝  ╚═══╝  ╚═╝    ╚══════╝╚═════╝ ╚═╝  ╚═╝

Latest: v3.1.4 🎉

EVI SDK — AI-powered smart contract development platform with wallet deployment, security auditing, compliance validation, and blockchain verification. Turn your Web3 ideas into reality in minutes, not months.

✨ What's New in v3.1.4

  • 🤖 Automated Post-Deployment Checks - After deployment, automatically:
    • Find all .sol files in your deployment
    • Prompt to run security audit with results
    • Prompt to run compliance check with profile selection
    • Auto-save reports to deployment directory
    • Show smart suggestions when not compliant
  • 🔐 Wallet Deployment - Deploy with YOUR wallet (MetaMask, WalletConnect)
  • 🛡️ Pre-Deployment Security - Audit Solidity files BEFORE deploying
  • Compliance Validation - Check ERC standards before deployment
  • 📊 Session Statistics - Monitor platform usage
  • 🎨 Interactive CLI - Beautiful dropdown menus, just type evi
  • 🐛 Artifacts Auto-Download - Files saved automatically after deployment

Default API: https://evi-wallet-production.up.railway.app
Default Network: basecamp


🚀 Quick Start

Install

# Install globally for CLI
npm install -g @blockxai/evi-sdk@latest

# Or install in your project
npm install @blockxai/evi-sdk@latest

Requirements: Node 18+ (native fetch support)

Launch Interactive Mode

evi

That's it! Just type evi and you'll get a beautiful interactive menu:

? What shall we do today?
❯ ✨ Generate from Prompt and Deploy
  📦 Deploy an Existing Solidity File
  🔐 Deploy with YOUR Wallet
  🛡️  Security Audit
  ✅ Compliance Check
  📊 Platform Statistics

Use arrow keys to navigate, press Enter to select!


🔥 NEW Features in v3.1

🔐 Wallet Deployment

Deploy contracts with YOUR wallet - complete self-custody

import { AcadClient } from '@blockxai/evi-sdk';

const client = new AcadClient();

// Start wallet deployment
const job = await client.start_wallet_deployment({
  prompt: 'ERC20 token with 1M supply',
  network: 'basecamp-testnet'
});

// Get magic link for signing
const session = await client.get_wallet_magic_link(job.jobId);
console.log('Sign with MetaMask:', session.magicLink);
// Opens browser → User signs → Contract deploys

CLI:

evi wallet:deploy "ERC20 token with 1M supply"
# Generates contract → Opens MetaMask → YOU sign → Deploys

🛡️ Pre-Deployment Security Auditing

Audit Solidity files BEFORE deploying - save gas, prevent hacks

import fs from 'fs';

const code = fs.readFileSync('MyToken.sol', 'utf-8');
const report = await client.audit_source({
  code,
  filename: 'MyToken.sol'
});

console.log(`Security Score: ${report.report.score}/100`);
console.log(`Critical Issues: ${report.report.severity?.critical}`);

if (report.report.severity?.critical > 0) {
  console.error('❌ Fix critical issues before deploying!');
  process.exit(1); // Fail CI/CD build
}

CLI:

evi audit:source MyToken.sol --fail-on-critical
# Perfect for CI/CD pipelines!

Compliance Validation

Check if your token follows ERC standards

const report = await client.compliance_source({
  code: tokenCode,
  filename: 'MyToken.sol',
  profile: 'erc20',
  strict: true
});

if (!report.compliance.passed) {
  console.log('Missing functions:', report.compliance.missingFunctions);
  console.log('Missing events:', report.compliance.missingEvents);
}

CLI:

evi compliance:check MyToken.sol --profile erc20 --strict
# Ensure DEXs will accept your token

📊 Session Statistics

Monitor platform usage

const stats = await client.get_session_stats();
console.log(`Total: ${stats.total}, Active: ${stats.active}`);

CLI:

evi stats

✨ ACV Features (v3.0)

🔍 Contract Verification

Verify deployed contracts on block explorers (Etherscan, Basescan, etc.)

const result = await client.verify_by_job('job-id', 'basecamp');
console.log('Verified:', result.verified);
console.log('Explorer URL:', result.explorerUrl);

🛡️ Security Auditing

AI-powered vulnerability detection with severity levels

const audit = await client.audit_orchestrate({ jobId: 'job-id' });
const report = await client.get_audit_report('job-id');
console.log('Security Score:', report.score); // 0-100
console.log('Critical Issues:', report.summary?.critical);

Compliance Checking

Validate contracts against ERC standards (ERC-20, ERC-721, ERC-1155, DeFi, DAO)

const comp = await client.compliance_orchestrate({ 
  jobId: 'job-id', 
  targetProfile: 'erc721',
  strict: true 
});
const report = await client.get_compliance_report('job-id');
console.log('Compliance Passed:', report.passed);

🚀 Full ACV Pipeline

Complete workflow in one call: Generate → Deploy → Verify → Audit → Compliance

const result = await client.run_acv_pipeline({
  prompt: 'ERC721 NFT with minting',
  runVerify: true,
  runAudit: true,
  runCompliance: true,
  complianceProfile: 'erc721'
});

See: QUICK_START_ACV.md for complete usage guide


Environment

  • No API key required

  • Optional overrides:

    • API_BASE_URL (or ACAD_BASE_URL)
    • NETWORK (default: basecamp)
    • MAX_ITERS (default: 11)
    • NO_ANIMATION=1 (disable intro animation; colors still apply)
  • Magical Logger (narrative logs → webhook):

    • MAGICAL_LOGS=1 (default on; set 0 to disable)
    • MAGICAL_WEBHOOK_URL=https://your-bridge.example.com/magical (optional)
    • MAGICAL_STREAM=1 (stream each event) or 0 (send one final summary)

🎨 CLI Commands

After install, you get the evi command (aliases: camp, acad for backwards compatibility).

Basic Commands

# Generate and deploy with AI
evi deploy:prompt --prompt "ERC20 with 1M supply"

# Deploy existing Solidity file
evi deploy:file --file ./MyToken.sol

# Wallet-based deployment (sign with MetaMask)
evi wallet:deploy "ERC20 token with 1M supply" --network basecamp-testnet

Security & Compliance

# Audit Solidity file for vulnerabilities
evi audit:source MyToken.sol --fail-on-critical

# Check ERC standard compliance
evi compliance:check MyToken.sol --profile erc20 --strict

# Platform statistics
evi stats

Interactive Wizard (Recommended)

Just run evi with no arguments to launch the interactive wizard:

evi           # Opens interactive wizard
evi wizard    # Alias
camp          # Backwards compatibility

The wizard guides you through:

  • 🔐 Wallet deployment

  • 🛡️ Security auditing

  • ✅ Compliance checking

  • 🚀 Contract generation & deployment

  • 📊 Platform monitoring

  • Run directories are named after your prompt (or filename), no timestamps:

    • ai_pipeline_runs/<prompt-slug>/pipeline/ for prompt-based runs
    • ai_pipeline_runs/<file-slug>/file/ for file-based runs
    • If a folder already exists, a simple -2, -3, … suffix is added.
    • Example: ai_pipeline_runs/erc721-with-minting-and-baseuri/pipeline/

What you’ll see and where things are saved:

  • Colorful, live logs streamed while the job runs (plus “magical” narrative logs)
  • All outputs under ./ai_pipeline_runs/<name>/:
    • pipeline/ or file/
    • job.id, final.status.json
    • logs.ndjson
    • artifacts/ with sources/, abis/, scripts/

Examples:

# Generate and deploy from a prompt
camp deploy:prompt --prompt "ERC721 with minting and baseURI"

# Deploy from a local Solidity file
camp deploy:file --file ./contracts/MyNFT.sol --contractName MyNFT

Programmatic (optional)

The SDK exports AcadClient if you want to call the API directly.

import { AcadClient } from "@blockxai/camp-codegen";

const client = new AcadClient();
const jobId = await client.start_pipeline("ERC20 token", "basecamp", 11, "Token.sol", [1000000]);
const job = await client.wait_for_completion(jobId, { intervalSec: 2, timeoutSec: 2700 });

Build (for contributors)

# inside camp-codegen-js/
npm install
npm run build

Outputs ESM to dist/.


Preset library (search)

In the wizard, pick “🔎 Browse preset library (search)” to choose from built-in and user-provided presets.

  • User presets can be added via any of:
    • presets.user.json (array of { title, prompt })
    • presets.user.txt (one preset per paragraph; first token before : is the title)
    • src/presets.user.json

Examples:

// presets.user.json
[
  { "title": "MessageBoard", "prompt": "MessageBoard: EMPTY CONSTRUCTOR. post(string message). Events: MessagePosted. No constructor args." },
  { "title": "SimpleBank", "prompt": "SimpleBank: EMPTY CONSTRUCTOR. deposit() payable. withdraw(uint256 amount). Events: Deposited, Withdrawn." }
]
MessageBoard: EMPTY CONSTRUCTOR. post(string message). Events: MessagePosted. No constructor args.

SimpleBank: EMPTY CONSTRUCTOR. deposit() payable. withdraw(uint256 amount). Events: Deposited, Withdrawn.

Search is fuzzy across title, description, and prompt text. If your prompts version lacks autocomplete, it falls back to a simple select list.

Magical logs (GTM/CS friendly)

We emit a narrative alongside raw SSE logs to keep non-technical teammates engaged.

Categories: generation, compilation, errors, deployment, celebration, bonus, verification 🔍, audit 🛡️, compliance

Configure via env vars:

  • MAGICAL_LOGS — enable/disable (default 1)
  • MAGICAL_WEBHOOK_URL — optional webhook to receive events
  • MAGICAL_STREAM1 to stream events, or 0 to receive one magical_log_summary

Payload fields include runLabel, jobId, network, prompt, filename, contractName, category, msg, and optional meta.

Tip: route the webhook to a tiny middleware (e.g., Cloudflare Worker, Vercel, Express) that transforms into Apollo.io Notes/Activities for GTM/CS visibility.

Colors and banners

  • Intro banner: animated rainbow gradient (respects NO_ANIMATION=1)
  • Log theme: orange & white after banner
  • Deploy congrats banner: static, clean orange-only (no animation) with deployed address

Notes

  • No API key required to try it out
  • Default network is basecamp
  • Works best on a TTY; NO_ANIMATION=1 is recommended for CI logs