πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§ MARKEE πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§
gmπͺ§
πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§πͺ§
Change this message for 0.012 ETH on the Markee App.
βββ βββ
ββββ ββββ β β βββ ββ ββ β β βββ
ββ βββ ββ β β βββ β β β β β βββ
ββ β ββ βββ β β β β βββ β β
ββ ββ βββββββββββββββββββββββ
βββ LISTEN. TRADE. REPEAT. βββ
"It hears the market before the market hears itself."
Murmur is an autonomous DeFi trading agent that converts real-time social sentiment and onchain signals into permission-gated trade execution on Base Sepolia. Every decision is cryptographically signed, stored on Filecoin, and linked to the agent's onchain identity via ERC-8004.
Users connect their wallet, deposit USDC into a non-custodial TradeVault, and set trading limits. The agent trades autonomously through vault.executeTrade() within those onchain-enforced bounds. No custody. No trust assumptions. Full audit trail.
Built for The Synthesis Hackathon by Murmur (AI agent) + Temitayo Daniel (@Timidan_x).
| Contract | Address | BaseScan |
|---|---|---|
| VaultFactory | 0x6008148Bc859a7834A217f268c49b207D18465a3 |
View |
| AgentRegistry | 0xA649254ECC9405C4d48dde88f82e99D53b94097D |
View |
| Agent Wallet | 0x0a3C305cC7645241AEdE654C75341a3b98aF7d66 |
View |
| USDC (Base Sepolia) | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
View |
| Uniswap SwapRouter02 | 0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4 |
View |
| ERC-8004 Registration | β | Tx |
The VaultFactory deploys a unique TradeVault per user on first deposit. Each vault is owned by the user β the agent has permission only to call executeTrade(), bounded by onchain limits.
1. Connect Wallet RainbowKit on Base Sepolia. Sign-in-with-wallet.
2. Deposit USDC First deposit deploys your personal TradeVault via VaultFactory.
3. Configure Max trade size, risk profile, daily trade cap. Autopilot ON by default.
4. Agent Trades Every 2 min: Scout β Analyst β Strategist β Risk Gate β executeTrade()
5. Full Audit Trail Every decision attested on Filecoin. Receipts available via x402 API.
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
β SCOUT βββββΆβ ANALYST βββββΆβ STRATEGIST βββββΆβ RISK GATE β
β β β β β β β β
β Santiment β β Normalize β β Venice AI β β Risk β
β API fetch β β z-scores β β llama-3.3 β β Policy β
β 9 metrics β β 3 playbooksβ β -70b infer β β 14 checks β
β 8 assets β β score+rank β β thesis β β fast-lane β
βββββββββββββββ βββββββββββββββ βββββββββββββββ ββββββββ¬βββββββ
β
ββββββββββββββΌβββββββββββββ
β TRADEVAULT β
β β
β Per-user non-custodial β
β vault via VaultFactory β
β executeTrade() gated β
β by max size + daily capβ
ββββββββββββββ¬βββββββββββββ
β
βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β NOTARY ββββββ EXECUTOR ββββββ QUOTE ββββββββββββ
β β β β β β
β Filecoin β β Uniswap β β Trading β
β receipt β β SwapRouter β β API / v3 β
β + x402 API β β via vault β β on-chain β
β endpoints β β executeTrade β quoter β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
| Role | Module | What It Does |
|---|---|---|
| Scout | src/scout |
Pulls 9 Santiment metrics for 8 Base-tradable assets every cycle |
| Analyst | src/analyst |
Normalizes signals (z-scores, percentiles, ROC), scores across 3 playbooks |
| Strategist | src/strategist |
Venice AI (llama-3.3-70b) resolves signal ambiguity, produces a constrained buy/reduce/exit/hold decision |
| Risk Officer | src/risk |
14 deterministic checks + fast-lane exit triggers. No LLM involved β pure policy enforcement |
| Executor | src/executor |
Quotes via Uniswap, swaps through user's TradeVault on Base Sepolia |
| Notary | src/notary |
Stores decision receipts on Filecoin, exposes them via x402 paid API |
| Metric | Type | Use |
|---|---|---|
social_dominance_total |
Social | Narrative rotation detection |
sentiment_weighted_total |
Social | Contrarian tops/bottoms |
exchange_inflow_usd |
Onchain | Sell pressure / distribution |
exchange_outflow_usd |
Onchain | Accumulation signal |
age_consumed |
Onchain | Old-holder exit warning |
daily_active_addresses |
Onchain | Usage confirmation |
network_growth |
Onchain | Trend confirmation |
mvrv_usd |
Valuation | Over/undervaluation regime |
whale_transaction_count_100k_usd_to_inf |
Onchain | Smart money activity |
- Early Narrative Breakout β Attention rising before price. Onchain confirms. Not euphoric yet. Action: buy.
- Euphoria Fade β Crowd is in, old holders waking, distribution building. Action: exit.
- Capitulation Rebound β Panic overshooting, smart money accumulating. Action: buy small.
Every trade passes all checks before execution:
action_validity Β· allowlist Β· delegation_expiry Β· data_freshness Β· max_notional Β· daily_turnover Β· delegation_cap Β· cooldown Β· max_positions Β· concentration Β· min_confidence Β· confidence_vs_size Β· min_liquidity Β· usdc_balance
- Exchange inflow spike > 50% in 24h
- Age consumed spike > 100% in 24h
- Sentiment at 95th percentile (extreme euphoria)
- Social dominance > 90th pct + age consumed rising > 30%
Every cycle produces a cryptographically attested receipt:
{
"agentIdentity": "0x...",
"decision": { "action": "buy", "slug": "ethereum", "confidence": 0.68 },
"riskGate": { "approved": true, "checks": [...] },
"execution": { "txHash": "0x..." },
"receiptHash": "keccak256(...)",
"filecoinCid": "bafybeig..."
}Full payload pinned to Filecoin via Lighthouse. Receipts exposed as paid API endpoints via x402 (Merit).
| Layer | Technology |
|---|---|
| Chain | Base Sepolia (EVM L2) |
| Contracts | Solidity β VaultFactory + TradeVault |
| Agent LLM | Venice AI (llama-3.3-70b) β private, no-data-retention inference |
| Signals | Santiment API (9 social + onchain metrics) |
| DEX | Uniswap V3 SwapRouter on Base Sepolia |
| Storage | Filecoin / IPFS via Lighthouse |
| Identity | ERC-8004 onchain agent registry + ENS resolution |
| Multi-agent | OpenServ SDK β capabilities exposed as callable agent service |
| Paid API | x402 protocol (Merit) β decision receipts as pay-per-request endpoints |
| Frontend | React + Vite + RainbowKit + wagmi + GSAP |
| Backend | Node.js + Express + WebSocket |
synth-x/
βββ contracts/src/
β βββ TradeVault.sol # Non-custodial vault β user USDC, agent trade access, onchain limits
β βββ VaultFactory.sol # Deploys one TradeVault per user
βββ dashboard/src/
β βββ pages/Landing.tsx # Landing page with glitch ASCII logo + GSAP animations
β βββ components/ # ConfigPanel, Header, Summary, CurrentDecision, DecisionLog, etc.
β βββ hooks/useSocket.ts # WebSocket for real-time dashboard updates
β βββ styles/terminal.css # Terminal-themed UI
βββ src/
β βββ scout/ # Santiment signal ingestion
β βββ analyst/ # Normalization + playbook scoring
β βββ strategist/ # Venice AI deliberation
β βββ risk/ # 14-check delegation policy
β βββ executor/ # Uniswap quote + swap via TradeVault
β βββ notary/ # Filecoin receipt storage + ERC-8004 attestation
β βββ session/ # Wallet auth (SIWE)
β βββ integrations/ # ENS, OpenServ, Locus
β βββ api/ # x402 paid API server
β βββ price/ # Binance WebSocket ETH/USD feed
β βββ loop/ # Main orchestration loop (cron + WebSocket broadcast)
βββ Dockerfile
βββ render.yaml
βββ package.json
npm install
cp .env.example .env # Fill in API keys
npm run dev # Start agent + dashboardDashboard runs at http://localhost:5173 (landing page at /, app at #/app).
| Track | Sponsor | Integration |
|---|---|---|
| Synthesis Open Track | Synthesis | Fully autonomous, attested, novel |
| Let the Agent Cook | Protocol Labs | Full autonomous loop: sense β score β deliberate β risk-gate β execute β store |
| Private Agents, Trusted Actions | Venice | Private LLM inference β agent reasoning stays confidential |
| Agentic Finance | Uniswap | Uniswap V3 is the execution layer β real swaps on Base Sepolia |
| Autonomous Trading Agent | Base | Autonomous agent deployed on Base with novel signal stack |
| Agentic Storage | Filecoin | Decision receipts stored on Filecoin β verifiable audit trail |
| ENS Identity | ENS | Agent wallet resolved to ENS name β human-readable onchain identity |
| Multi-Agent Service | OpenServ | Capabilities exposed as callable OpenServ agent service |
| Pay-Per-Request Data | Merit | x402 protocol exposes receipts as paid API endpoints |
Don't buy because people are bullish. Buy because attention is rising before price is fully repriced, and onchain behavior agrees.
Murmur trades divergence β the gap between what the crowd says and what the chain does. When those align and the risk gate approves, it acts. When they conflict, it holds. Every decision has a receipt. Every receipt has a hash. Every hash is onchain.
Built with Venice AI + Claude for The Synthesis Hackathon 2025