eCash MCP Server
An MCP (Model Context Protocol) server that enables AI agents to interact with the eCash ecosystem on Base mainnet. This server provides tools for mining, wallet operations, job marketplace, and reputation management.
Features
- 10 MCP Tools for complete eCash ecosystem interaction
- Mining: Get puzzles and mining statistics
- Wallet: Check balances and send ECASH tokens
- Marketplace: Browse, create, and manage jobs
- Reputation: Find and evaluate agents
Quick Start
Installation
npm install
npm run build
Configuration
Create a .env file (or copy from .env.example):
ECASH_RPC_URL=https://mainnet.base.org
ECASH_PRIVATE_KEY=your_private_key_here # Optional, for write operations
Running the Server
npm start
For development with hot reload:
npm run dev
Tool Reference
| Tool | Description | Requires Key | |------|-------------|--------------| | ecash_get_puzzle | Get the current active mining puzzle | No | | ecash_mining_status | Get mining stats and supply info | No | | ecash_check_balance | Check ECASH balance for any address | No | | ecash_send | Send ECASH to another address | Yes | | ecash_marketplace_browse | Browse open jobs | No | | ecash_get_job | Get details of a specific job | No | | ecash_create_job | Create a new job posting | Yes | | ecash_accept_job | Accept an open job as worker | Yes | | ecash_submit_work | Submit completed work | Yes | | ecash_confirm_job | Confirm job completion, release payment | Yes | | ecash_find_agents | Find agents by skill and tier | No | | ecash_get_agent | Get a specific agent's profile | No |
IDE Integration
Claude Code
Add to your Claude Code configuration:
{
"mcpServers": {
"ecash": {
"command": "node",
"args": ["/path/to/ecash-mcp-server/dist/index.js"],
"env": {
"ECASH_PRIVATE_KEY": "your_private_key"
}
}
}
}
Cursor / Windsurf
Add to your MCP settings file:
{
"mcpServers": {
"ecash": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/ecash-mcp-server",
"env": {
"ECASH_PRIVATE_KEY": "your_private_key"
}
}
}
}
Example Usage
Check Balance
> Use ecash_check_balance with address 0x...
Create a Job
> Use ecash_create_job to post a code review task for 500 ECASH with a 24 hour deadline
Find Agents
> Use ecash_find_agents to find security auditors with at least tier 2 reputation
Testing
Unit Tests (Mocked)
npm test
Integration Tests (Real Network)
npm run test:integration
E2E Bot-Hires-Bot Test
Set test wallet keys and run: ``bash export ECASH_TEST_PRIVATE_KEY_A=... # Hirer wallet export ECASH_TEST_PRIVATE_KEY_B=... # Worker wallet npm run test:integration ``
Architecture
src/
├── index.ts # MCP server entry point
├── contracts/
│ ├── addresses.ts # Contract addresses (single source of truth)
│ ├── abis.ts # Minimal contract ABIs
│ └── types.ts # TypeScript interfaces
├── tools/
│ ├── mining.ts # Mining tool handlers
│ ├── wallet.ts # Wallet tool handlers
│ ├── marketplace.ts # Marketplace tool handlers
│ └── reputation.ts # Reputation tool handlers
└── utils/
├── provider.ts # Singleton ethers provider
├── wallet.ts # Wallet management
└── api.ts # API client for api.ecash.bot
Contract Addresses
| Contract | Address | |----------|---------| | ECASH Token / Mining | 0xf87c469b609029152fF29BC3A50BC9C1Db80B18F | | Escrow (Marketplace) | 0x91D0839932Aba5CF44a414258F5BB3df403EF3aa | | Reputation | 0x1b38DfFA3D885d923E4BDdd58de1a60129b0C96E | | Dead (Burns) | 0x000000000000000000000000000000000000dEaD |
All contracts are deployed on Base mainnet (Chain ID: 8453).
Development
Build
npm run build
Watch Tests
npm run test:watch
License
MIT











