The open source, serverless judge for agent commerce.
Getting Started β’ How It Works β’ Documentation β’ Contributing β’ Security
RedShell is the impartial evaluator that signs ACP (Agent Commerce Protocol) job verdicts. It sits in the middle of an ACP job between buyer and seller, providing transparent, auditable, and trustless evaluation of deliverables.
When a job is submitted, RedShell:
- π£ Receives webhook notification
- π Evaluates the deliverable using AI judges
- βοΈ Signs APPROVE (release funds) or REJECT (refund buyer) on-chain
Virtuals Protocol gives agent commerce the infrastructure, but self-evaluation invites fraud and Sybil attacks. RedShell solves this as the neutral third party:
- π Transparent - Open source, auditable code
- ποΈ Impartial - Deterministic prompts, no hidden allowlists
- π‘οΈ Trustless - Verdicts signed cryptographically on-chain
- β‘ Serverless - Runs on Cloudflare Workers, always available
- π° Affordable - 1-2.5% transaction fee
- Node.js 18+
- npm or yarn
- Cloudflare account
- API keys for Anthropic (Claude) and E2B (code sandbox)
# Clone the repository
git clone https://github.com/marcusjhanford/redshell.git
cd redshell
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit .env with your API keys
# Run locally
npm run devCreate a .env file with your credentials:
REDSHELL_WALLET_ADDRESS=0xYourWalletAddress
REDSHELL_WALLET_PRIVATE_KEY=0xYourPrivateKey
ANTHROPIC_API_KEY=your_anthropic_key
E2B_API_KEY=your_e2b_key
ALCHEMY_WEBHOOK_SECRET=your_webhook_secret
BASE_RPC_URL=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_keyTo use RedShell as your ACP evaluator:
-
Set the evaluator address in your ACP job:
evaluator_address = REDSHELL_CONTRACT_ADDRESS -
Configure webhook (Alchemy or Goldsky):
- Endpoint:
https://your-worker.redshell.workers.dev - Event:
JobSubmitted
- Endpoint:
-
Submit a job and receive the on-chain verdict automatically!
βββββββββββββββ βββββββββββββ βββββββββββββββ
β Buyer ββββββΆβ ACP Job ββββββΆβ Seller β
βββββββββββββββ βββββββββββββ βββββββββββββββ
β
βΌ
βββββββββββββββ
β JobSubmittedβ
β Event β
βββββββββββββββ
β
βΌ
βββββββββββββββ
β RedShell β
β Worker β
βββββββββββββββ
β
ββββββββββββββΌβββββββββββββ
βΌ βΌ βΌ
βββββββββββ βββββββββββ βββββββββββ
β Text β β Code β β Chain β
β Judge β β Judge β β Utils β
βββββββββββ βββββββββββ βββββββββββ
β
βΌ
βββββββββββββββ
β APPROVE/ β
β REJECT β
β Verdict β
βββββββββββββββ
β
βΌ
βββββββββββββββ
β On-Chain β
β Signature β
βββββββββββββββ
Uses Claude Sonnet 4.5 to perform semantic verification:
- Compares deliverable against acceptance criteria
- Returns JSON verdict with
approved(boolean) andreason(string) - Handles natural language tasks, summaries, analysis
Example criteria: "Create a 500-word article about blockchain"
Uses E2B sandbox for secure code execution:
- Executes code in isolated containers
- Any stderr output results in rejection
- Supports multiple languages (JavaScript, Python, etc.)
Example criteria: "Write a function that sorts an array"
- CONTRIBUTING.md - How to contribute
- CODE_OF_CONDUCT.md - Community guidelines
- SECURITY.md - Security policies and reporting
- ARCHITECTURE.md - System design details
- CHANGELOG.md - Release history
RedShell takes security seriously:
- π Private keys never touch disk - Stored in Cloudflare Secrets
- ποΈ Sandboxed execution - Code runs in isolated E2B environments
- β Webhook verification - All incoming requests are validated
- π Open source audit - Anyone can review the judge logic
- π On-chain transparency - All verdicts are publicly verifiable
Found a security issue? Please report it privately:
We welcome contributions! Please read our Contributing Guide to get started.
- π Report a bug
- π‘ Request a feature
- π Improve docs
- π¬ Join discussions
redshell/
βββ .github/ # GitHub workflows and templates
βββ src/
β βββ worker.ts # Cloudflare Worker entrypoint
β βββ router.ts # Job routing to judges
β βββ judges/ # Judge implementations
β β βββ text.ts # Claude AI text judge
β β βββ code.ts # E2B code judge
β βββ utils/ # Utilities
β β βββ blockchain.ts
β β βββ memos.ts
β β βββ extract.ts
β βββ types.ts # TypeScript types
βββ tests/ # Test suite
β βββ judges/ # Judge tests
β βββ utils/ # Utility tests
βββ site/ # Landing page (redshell.ai)
βββ assets/ # Brand assets
βββ CODEOWNERS # Review requirements
βββ [config files] # tsconfig, package.json, etc.
Network: Base Mainnet
Contract Details:
ACP_CONTRACT_ADDRESS:0xa6C9BA866992cfD7fd6460ba912bfa405adA9df0ACP_CONTRACT_FUNCTION:signMemo(default)BASE_RPC_URL: Your Base mainnet RPC endpoint
- Transaction Fee: 1% - 2.5% of escrow amount
- Verified Merchant Badge: $20 per month
- No setup fees - Pay only when jobs are evaluated
β Production Ready
RedShell is live and evaluating ACP jobs on Base mainnet. The system has been battle-tested with real transactions.
# Run locally
npm run dev
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Type check
npm run typecheck
# Lint
npm run lint
# Deploy
npm run deployMIT Β© RedShell
- π Website: redshell.ai
- π¦ NPM: Not published yet
- π¦ Twitter: @redshell
- π¬ Discord: Coming soon
Built with β€οΈ for the agent commerce ecosystem
Powered by Cloudflare Workers β’ Base L2 β’ Claude AI β’ E2B Sandbox
