Insider Streams
Auction private prediction market signals on-chain
What it is
Insider Streams is a marketplace for selling private prediction-market intelligence. It lets anyone with a genuine edge monetize that edge twice: once by betting their own capital, and again by auctioning the signal itself to other traders.
The Problem
Prediction markets let you express a position, but they don't let you sell the underlying thesis. If you have high-confidence information about an upcoming market outcome, there are only so many dollars you can or want to put at risk yourself. Your alpha may be worth far more than your personal bankroll allows you to capture. Insider Streams gives you a second monetization path: bet with your own capital on Polymarket or any other venue, then auction the signal to others. It's complementary to prediction markets, not a replacement for them.
The pitch in one line: prediction markets price beliefs — Insider Streams markets the information behind those beliefs.
How It Works
A seller creates an auction tied to a specific prediction market event. The confidential payload — the actual signal, including which side of the market to bet on — is stored off-chain in a gated API and never touches the blockchain. Only the public auction state lives on-chain: the associated event, the current bid, bid history, auction close time, and the seller's reputation score.
Buyers compete in a sealed auction for access to that information. The winner is the highest bidder when the auction closes. After settlement, the winning buyer receives access to the confidential payload through an authenticated API call.
When the underlying prediction market resolves, the system checks whether the seller's signal was correct and updates their on-chain reputation score accordingly. Reputation is cumulative and publicly visible, giving buyers a verifiable track record to evaluate before bidding.
Technical Stack
The project combines several components from the Chainlink hackathon stack:
- Smart contracts handle auction creation, bidding, closing, force-cancellation, and seller reputation scoring. Auctions track a linked prediction market, a seller identifier, the current bid and bidder, and the amount a buyer optionally wants auto-bet on their behalf.
- A subgraph indexes all auction and seller data from contract events, exposing clean auctions and sellers tables for the frontend to query without direct RPC calls.
- Chainlink CRE automation drives two critical workflows: an auction closer that detects expired auctions and settles them on-chain, and a reputation resolver that checks market outcomes and updates seller scores. A force-close handler also cancels any open auctions if their underlying market resolves before the auction ends, refunding the active bidder.
- Chainlink Confidential USDC / private transfers are used for privacy-preserving deposits. Buyers privately transfer funds to a platform-controlled wallet; the recipient can see who sent the transfer but third parties cannot. Platform balances, locked bid amounts, and settlements are tracked off-chain in Supabase, approximating the full private-bidding design that would be possible with on-chain confidential compute once that infrastructure matures.
- A REST API + Supabase layer stores secret payloads and mediates all access. Sellers submit their signal through the API; buyers and sellers authenticate with wallet signatures to retrieve it. The public subgraph and the private API together form a clean two-tier data model: what's visible to everyone on-chain versus what's gated behind winning an auction.
Why Not Just Use Polymarket?
Polymarket lets you take a position. Insider Streams lets you sell the reason behind it. For anyone with real edge — analysts, insiders, researchers — the two products are additive. You can bet your own capital and auction the signal simultaneously, extracting value from the same information in two different markets.
Privacy Model
The intended design used Chainlink's TEE (Trusted Execution Environment) infrastructure for confidential compute — specifically to handle secret storage and access control without any trusted intermediary. In practice, the TEE stack was not stable enough during the hackathon window to build against, so we implemented a pragmatic alternative: confidential payloads are stored in a gated REST API backed by Supabase, with wallet-signature authentication controlling access.
The trust tradeoff is explicit: the platform operator can see secret data and bid amounts, but outside observers cannot. We think of this as a hackathon stand-in — the architecture is designed so that replacing the Web2 API layer with a TEE-based equivalent would be a contained swap, not a fundamental redesign. Chainlink's private transfer infrastructure (Confidential USDC) is used for deposit flows, which does provide real cryptographic privacy for the funding side of the system.
The primary privacy goal is concealing seller identity and the specific side of the market being recommended. Seller wallet addresses are never exposed publicly; sellers are identified by a pseudonymous ID. The confidential payload — including whether to bet yes or no — is gated behind API authentication and only accessible to the auction winner.
How it Works
Insider Streams is a full-stack Web3 application deployed on Ethereum Sepolia, combining on-chain auction logic, a Graph Protocol subgraph, Chainlink CRE automation, Chainlink's private transfer infrastructure, and a Web2 API layer for confidential data storage.
Smart Contracts (Solidity)
Three contracts form the on-chain core:
- SecretMarketplace is the main auction contract. It handles auction creation, bidding, settlement, force-cancellation, and seller reputation scoring. Auctions store a reference to an external prediction market, a pseudonymous seller ID, current bid state, and optional auto-bet parameters. All state changes emit rich events that the subgraph indexes.
- ExamplePredictionMarket is a demo parimutuel prediction market used to tie auctions to real resolvable events. It mints yes/no shares using a constant-product pricing model and is resolved by a CRE workflow using Gemini to look up real-world outcomes.
- ConfidentialUSDC is the single token used across both the auction system and the prediction market. It implements the Chainlink Compliant Private Transfer standard, enabling privacy-preserving deposit flows.
Subgraph (The Graph Protocol)
A custom subgraph indexes all contract events from SecretMarketplace into queryable auctions and sellers summary tables. The frontend and API both read from this subgraph rather than making direct RPC calls. Public auction data — status, current bid, bid history, seller reputation, linked market — all flows through here.
Chainlink CRE Automation
Three CRE workflows handle the time-sensitive parts of the system: - Auction closer: runs on a cron schedule, checks for expired auctions, calls closeAuction on-chain, and updates the seller's balance in Supabase.
- Reputation resolver: triggered after a prediction market resolves, compares the seller's predicted outcome against the actual result, and calls updateReputationScore on-chain with a +1 or -1 delta.
- Force-close handler: triggered by a log event when a market resolves while an auction is still open. Cancels the auction, refunds the active bidder, and still updates the seller's reputation score.
CRE workflows run continuously from a VPS via OS cron invoking CRE simulation commands, to approximate real DON-deployed cron behavior during the hackathon.
Private Transfers (Chainlink Confidential USDC)
Buyers deposit funds by privately transferring Confidential USDC to a platform-controlled wallet. The transfer is private to outside observers — only the recipient can see the sender. An event-watcher service monitors incoming transfers and records the deposit in Supabase, updating the user's available platform balance. Withdrawals reverse the flow: the platform wallet privately transfers funds back to the user's address.
REST API + Supabase
A Next.js API layer sits in front of Supabase and acts as the privacy boundary for confidential data. It stores two classes of secret data per auction: secret_data (the actual payload, readable only by buyer and seller) and event_data (structured market metadata used by CRE for automation and reputation resolution, but not exposing the raw signal). Row-level security blocks all anonymous access; the API authenticates callers using wallet signatures via Metamask before serving any private data.
Frontend
Built in Next.js. Reads public auction data from the subgraph via Apollo and GraphQL. Reads private data from the REST API using signature authentication. Key surfaces include auction listing, auction drilldown (public + gated private views), buyer dashboard, and seller dashboard with reputation history.
Event Watcher
A lightweight background service running on the VPS monitors on-chain events — particularly SettlementResponse from the prediction market — and triggers the appropriate CRE workflows (force-close handler, reputation resolver) in response. This bridges the gap between on-chain events and CRE's trigger model during the hackathon.
Links
Created by
- Kevin
- Zolys
- ad0ll