| Event | Outcome | Buy On | Sell On | Spread | Buy | Sell | Profit % | Conf. | Actions |
|---|---|---|---|---|---|---|---|---|---|
| Loading data... | |||||||||
Paper Trades
| # | Event | Outcome | Buy On | Sell On | Entry Spread | Live Spread | Notional | Shares | Expected P&L | Live P&L | Realized P&L | Status | Opened | Actions |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| No paper trades yet. Click "Paper Trade" on any opportunity. | ||||||||||||||
| Action | Event | Outcome | Buy On | Sell On | Buy Price | Sell Price | Spread | Profit % | Confidence | Position Size |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading signals... | ||||||||||
| Platform | Market | YES | NO | Volume | Category | Actions |
|---|---|---|---|---|---|---|
| Loading markets... | ||||||
Select Market
Orderbook
Select a market to view its orderbook
Data & Refresh
Arbitrage Detection
Risk Management
Appearance
Categories
Actions
| Market | Duration | Time Left | CLOB Price | LMSR Price | Edge (raw/net) | Signal | Kelly % | Bet ($) | Action |
|---|---|---|---|---|---|---|---|---|---|
| Connecting to LMSR bot... | |||||||||
| # | Market | Dir | Entry | Exit | Bet ($) | P&L ($) | Return % | Status | Opened |
|---|---|---|---|---|---|---|---|---|---|
| No trades yet. | |||||||||
The LMSR engine tracks a damped fair-value of each 5m/15m Polymarket market. At each poll it infers the net order-flow implied by the CLOB price move and applies only Damping × that volume to the LMSR model. This creates a smoothed baseline that lags behind sudden price spikes.
When |CLOB − LMSR| ≥ Min Edge
a signal is raised. BUY_YES when the market
dipped below fair value; SELL_YES (buy NO) when it spiked above.
Kelly criterion sizes the bet, scaled by √(t_remaining/t_total)
to reduce exposure near resolution.
| Event | Outcome | Class | Legs | Spread | Model | Edge | Hurdle | Signal | Kelly % | Bet ($) | Action |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Connecting to arb LMSR bot... | |||||||||||
| # | Event | Outcome | Class | Entry Spread | Current | Bet ($) | P&L ($) | Return % | Status | Opened |
|---|---|---|---|---|---|---|---|---|---|---|
| No trades yet. | ||||||||||
| # | Time | Token | Profit (hbip) | Profit % | Amount In | Amount Out | Hops | Block | Broadcast | Tx Hash |
|---|---|---|---|---|---|---|---|---|---|---|
| Waiting for bot data... | ||||||||||
The Ekubo bot runs as a Rust binary that detects cyclic DEX arbitrage opportunities on Starknet's Ekubo AMM.
Required environment variables
(set in ekubo-arbitrage/.env):
APP_RPC_URL— Starknet JSON-RPC endpointAPP_RPC_WS_URL— WebSocket RPC URLAPP_ACCOUNT_ADDRESS— wallet address (hex)APP_ACCOUNT_PRIVATE_KEY— private key (hex)APP_FROM_BLOCK— starting block (e.g. 6880900)
To run externally:
cd ekubo-arbitrage cp .env.example .env # fill in .env cargo run --release --bin ekubo-arb
Profit is measured in hbip
(hundredth basis points).
1 hbip = 0.0001% = 0.000001 of notional.