่ฑ†่ฑ†ๅ‹ๆƒ…ๆ็คบ๏ผš่ฟ™ๆ˜ฏไธ€ไธช้žๅฎ˜ๆ–น GitHub ไปฃ็†้•œๅƒ๏ผŒไธป่ฆ็”จไบŽ็ฝ‘็ปœๆต‹่ฏ•ๆˆ–่ฎฟ้—ฎๅŠ ้€Ÿใ€‚่ฏทๅ‹ฟๅœจๆญค่ฟ›่กŒ็™ปๅฝ•ใ€ๆณจๅ†Œๆˆ–ๅค„็†ไปปไฝ•ๆ•ๆ„Ÿไฟกๆฏใ€‚่ฟ›่กŒ่ฟ™ไบ›ๆ“ไฝœ่ฏทๅŠกๅฟ…่ฎฟ้—ฎๅฎ˜ๆ–น็ฝ‘็ซ™ github.comใ€‚ Raw ๅ†…ๅฎนไนŸ้€š่ฟ‡ๆญคไปฃ็†ๆไพ›ใ€‚
Skip to content

dinxsh/PolyShark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆˆ PolyShark

"If markets contradict themselves, eat the contradiction."

PolyShark

Permission-safe arbitrage agent for Polymarket using ERC-7715 Advanced Permissions + Envio HyperIndex.

MetaMask Envio Rust Polygon


โšก The Problem โ†’ Solution

Traditional Bots PolyShark + ERC-7715
โŒ Popup every trade โœ… One popup, then autonomous
โŒ Trust-based limits โœ… Cryptographic enforcement
โŒ Unlimited risk โœ… $10/day max, instant revoke
โŒ No data freshness โœ… Halts on stale data

๐Ÿ’ก This is the last popup you'll see for the next thousand trades.


๐ŸŽฏ How It Works

USER โ†’ Grant Permission (once)
        โ†“
MetaMask Smart Account (ERC-7715) โ†’ Enforced Daily Limit
        โ†“
PolyShark Agent (Rust)
โ”œโ”€โ”€ Constraint Engine    โ†’ YES + NO = 1 violations
โ”œโ”€โ”€ Arbitrage Detector   โ†’ Expected profit calculation
โ””โ”€โ”€ Execution Engine     โ†’ Permission-validated trades
        โ†“                       โ†‘
Polymarket Contracts โ†โ”€โ”€ Envio HyperIndex (~150ms)

5 Steps: Detect mispricing โ†’ Validate allowance โ†’ Execute trade โ†’ Adapt strategy โ†’ Halt if stale


๐Ÿ›ก๏ธ Safety by Design

Layer Protection
ERC-7715 Cryptographic daily limits, instant revocation
Envio ~150ms latency, auto-halt if >5s stale
Strategy Aggressiveโ†’Normalโ†’Conservative based on budget
Failures 3 strikes โ†’ Safe mode (5 min cooldown)
# config.toml
[safety]
max_data_delay_ms = 5000
max_consecutive_failures = 3

๐Ÿ—๏ธ Architecture

Architecture

src/
โ”œโ”€โ”€ metamask.rs    โ†’ ERC-7715 client, strategy modes
โ”œโ”€โ”€ wallet.rs      โ†’ Permission-aware execution
โ”œโ”€โ”€ market.rs      โ†’ Envio data consumer
โ”œโ”€โ”€ constraint.rs  โ†’ Logical arbitrage (YES+NO=1)
โ”œโ”€โ”€ arb.rs         โ†’ Profit calculation
โ”œโ”€โ”€ execution.rs   โ†’ Trade engine (fees, slippage, fills)
โ””โ”€โ”€ engine.rs      โ†’ Main loop + safety halt

๐Ÿ“Š Permission Spec

{
  "erc7715:permission": {
    "type": "spend",
    "token": { "symbol": "USDC", "address": "0x2791Bca1f2..." },
    "limit": { "amount": 10.0, "period": "day" },
    "duration": { "days": 30 },
    "scope": { "protocol": "polymarket" }
  }
}
Property Value
Token USDC (Polygon)
Limit 10 USDC/day (configurable 5-50)
Duration 30 days
Revocation Instant, one-click

๐Ÿ› ๏ธ Tech Stack

Component Tech
Agent Rust (async, high-perf)
Wallet MetaMask Smart Account
Permissions ERC-7715
Data Envio HyperIndex
Chain Polygon (137)
UI HTML/CSS/JS Dashboard

๐Ÿš€ Quick Start

git clone https://github.com/dinxsh/polyshark
cp .env.example .env
cargo build --release && cargo run

Open dashboard/index.html โ†’ Connect MetaMask โ†’ Grant permission โ†’ Watch autonomous trading.


๐Ÿ“ˆ Strategy Modes

Mode Budget Min Edge
๐ŸŸข Aggressive >70% left โ‰ฅ1%
๐ŸŸก Normal 30-70% โ‰ฅ2%
๐Ÿ”ด Conservative <30% โ‰ฅ5%

๐Ÿ”ง Use as Template

PolyShark = reference implementation for ERC-7715 agents.

Swap layers:

  • market.rs โ†’ Your data source (Uniswap, OpenSea, etc.)
  • constraint.rs โ†’ Your domain logic (DEX routes, NFT bids)
  • Keep permission layer unchanged

See examples/gator-bridge.ts for TypeScript example.


๐Ÿ“š Docs

Doc Purpose
metamask/v1.md ERC-7715 Architecture
spec.md Technical Spec
demo-script.md Demo Walkthrough
HACKQUEST_SUBMISSION.md Hackathon Submission

๐Ÿ”— Resources

Delegation Toolkit โ€ข Smart Accounts โ€ข ERC-7715 โ€ข create-gator-app โ€ข Envio


MIT License โ€ข Built for MetaMask x Envio Hackathon

About

find mispriced edges between related Polymarket markets ๐Ÿฆˆ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors