P

Polymarket SMS Alerts

Create rules to text yourself when prices move.

New Alert Rule

Used for reference in texts. Live price fetching requires you to provide a JSON API endpoint in Advanced.

Trigger when

Contracts are priced 0–100¢ (≈ 0–1.00). 65¢ ≈ 0.65 implied probability.

Advanced

Bring your own endpoint to avoid CORS issues. Expect shape like: { "yes": 0.62, "no": 0.38 } or { "bestBidYes": 0.61, "bestAskYes": 0.63 }.

We POST JSON to this URL when a rule triggers. See “How to wire SMS” below.

How to wire SMS (example: Twilio)

  1. Create a small webhook (Cloudflare Worker, Vercel, Firebase, etc.) that accepts a JSON payload and sends an SMS via Twilio.
  2. Put your webhook URL above; we POST: { ruleId, marketName, marketUrl, side, cmp, threshold, price, phone, message }.
  3. Return HTTP 200 to acknowledge. We debounce to avoid spam; repeated triggers require a fresh cross event.
Example webhook (Node.js + Twilio)
import express from "express";
import bodyParser from "body-parser";
import twilio from "twilio";

const app = express();
app.use(bodyParser.json());

const client = twilio(process.env.TWILIO_SID, process.env.TWILIO_TOKEN);
const FROM = process.env.TWILIO_FROM; // +1...

app.post("/alert", async (req, res) => {
  const { phone, message } = req.body;
  await client.messages.create({ to: phone, from: FROM, body: message });
  res.sendStatus(200);
});

app.listen(8787, () => console.log("listening on :8787"));

Active Rules

Stored locally in your browser

Data Source Guide

This page doesn’t call Polymarket directly to avoid CORS and rate limits. Bring your own lightweight endpoint that returns the latest YES/NO prices for the market.

  • Return JSON like { "yes": 0.62, "no": 0.38 } (preferred) or with bestBidYes/bestAskYes.
  • If you must proxy a third‑party API, add caching and set CORS headers.
  • Polling is paused when the tab is hidden to reduce noise.