Skip to content

Timidan/synth-x

Repository files navigation

Murmur

πŸͺ§πŸͺ§πŸͺ§πŸͺ§πŸͺ§πŸͺ§πŸͺ§ 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).


Deployed Contracts (Base Sepolia)

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.


How It Works

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.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   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     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The Agent Committee

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

Signal Stack

Santiment Metrics (9 per asset, per cycle)

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

Strategy Playbooks

  • 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.

Safety Architecture

14-Check Delegation Policy

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

Fast-Lane Exits (deterministic, bypass LLM)

  • 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%

Decision Receipts

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).


Tech Stack

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

Project Structure

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

Setup

npm install
cp .env.example .env   # Fill in API keys
npm run dev             # Start agent + dashboard

Dashboard runs at http://localhost:5173 (landing page at /, app at #/app).


Prize Tracks

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

The Principle

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors