The URL is the API
Antics is a static site with no backend. A documented, stable query format gives sheets, Discord bots, and anyone's scripts everything an endpoint would, at zero hosting cost. This is that documentation — not a README, a real page, because it's a public contract from the day it ships.
Antics parameters
| Param | Meaning |
|---|---|
leg | Leg Odds notation string. Required. |
final | Final Odds notation string. Optional. |
corr | Correlation notation string. Optional. |
boost | Boost notation string. Optional. |
method | multiplicative | additive | power | shin | worstCase | weighted. Always present — see the stability rules below. |
wc | Comma-separated devig methods feeding the worst case, e.g. multiplicative,shin. Only meaningful when method=worstCase. |
weights | Comma-separated method:weight pairs, e.g. multiplicative:1,shin:2. Only meaningful when method=weighted. |
antics.bet/devig?leg=%2B900%2F-3000&final=-210%2C-400&method=multiplicative
Self-documenting names, never an integer enum — method=shin means the same thing forever, even
if a method is ever added or reordered. That's a deliberate departure from CNM's own format, which uses an
opaque DevigMethod=3.
What travels, and what stays local
The rule: anything that changes the fair odds or the EV percentage belongs in the URL. Anything that changes your stake stays local.
- Travels: legs, final odds, correlation, boost, devig method.
- Stays local: bankroll, Kelly multiplier. A shared link sizes the stake to whoever opens it, not to the sender — someone else's link must never silently overwrite your bankroll.
Stability rules
- Parameter names are permanent once published. New ones get added; existing ones never get renamed.
- Unknown parameters are ignored rather than treated as errors, so an older link never breaks on a newer build.
- A missing parameter falls back to the viewer's stored preference — except
method, which always serialises and defaults tomultiplicativeif somehow absent. Devig method changes the answer, so two people opening the same link have to get the same EV, not each their own stored preference. - Ambiguous literals (a bare
2.5, say) resolve by the fixed rule in the parser spec, never by the viewer's odds-format setting. The same link computes the same answer for everyone who opens it.
Importing a CNM link
Keep everything after the ? in a CNM link and swap the address in front of it for
antics.bet/devig. His Devigger's own "Copy Devig's URL" links
(…/sportsbook_devigger.aspx?autofill=1&LegOdds=…) and his API's parameter names both work;
autofill is simply ignored. Antics reads his parameter names directly:
| CNM param | Antics equivalent |
|---|---|
LegOdds, FinalOdds | leg, final |
Correlation_Bool + Correlation_Text | corr (only when the bool is 1) |
Boost_Bool + Boost_Text + Boost_Type | boost (only when the bool is 1); the boost-type selector is a separate UI setting |
DevigMethod (0–6) | method — 0 multiplicative, 1 additive, 2 power, 3 shin, 4 worst case, 5 weighted average, 6 show-all (imported as multiplicative, since Antics has no single "show all" mode) |
WorstCase_Multiplicative and its three siblings | wc |
WeightedAverage_Multiplicative and its three siblings | weights |
Two quirks his format carries that Antics absorbs on import: % is encoded as _PCT_
rather than %25 (Discord and Safari mangle the standard encoding in shared links) — both forms
are accepted. Multiline=1 and Temp Settings overrides are concepts Antics doesn't have; they're
tolerated on import and dropped silently rather than treated as errors.
Exporting a CNM link
The "Copy as CNM link" button, next to the Discord/Reddit and Mini copy buttons, does the reverse.
It builds the same kind of link his own "Copy Devig's URL" button does:
…/sportsbook_devigger.aspx?autofill=1&LegOdds=…,
re-encoding % as _PCT_. It opens pre-filled with the legs, final odds, correlation and
boost. It leaves out the devig method, worst-case and weight settings, because his page doesn't read them
from a link (only his API does); his tool uses whatever method you have selected there. Two-way compatibility
means trying Antics costs nothing and commits to nothing — your links keep working everywhere.
Hedge calculator
The same rules apply at antics.bet/hedge. Defaults are left out, money is dollars with up to two
places, and anything unrecognized is ignored. Bankroll, Kelly, unit size, and the units toggle stay local, so a
shared link sizes Kelly to whoever opens it.
| Param | Meaning |
|---|---|
scenario | parlay | multi | middle | books. Leave it out for one bet against one hedge. |
odds | Your price. On a parlay, the ticket's stated price; ticket is read as a synonym. |
stake or payout | What you bet, or what the ticket pays back. |
free, boost, boosted, comm | Your bet is free (1), its profit boost in percent, its boosted price, and exchange commission on its winnings in percent. |
hedge, hcomm | The hedge price, and commission on its winnings. |
hkind, token, hboost | hkind=free makes the hedge a free bet, token is its size, and hboost is a profit boost on the hedge in percent. |
target, custom | breakeven or custom, and the custom hedge amount. Equal profit is the default. |
round | Round the hedge to this step. |
opp, fair, method, wc, weights | Your side's price in the hedge market, or your own fair odds, which win. The method and its settings work as they do for the Devigger. |
cashout | The book's cash out offer. |
profit | The profit to lock in, for finding the price it takes. Can be negative. |
legs | Parlay legs, comma-separated, each its price, the other side's, and won if settled: +150:won,-110:-105. |
opps, split, complete | Opponents as price:book:commission:free:stake, trailing blanks dropped: +300:FD::free:50.00,+500. split=custom uses each one's stake, and complete=1 says they cover every result. |
line, hline, mid | A middle's lines, whole or half, as +7.5 and -3.5, and the chance of landing between them in percent. |
books | Books to split across, as price:book:limit:commission: +110:DK:50.00:2,+100:FD. |
tie, tied, places, hdh | push | dnb | threeway | deadheat; how many tied and for how many places; hdh=1 if the hedge dead-heats too. |
antics.bet/hedge?odds=%2B150&stake=100.00&hedge=-110
A book name in opps or books has its :, ,, %, and spaces percent-encoded.
A Devigger link opens here prefilled: swap devig for hedge in the address. The first
side of leg is your bet and the second the hedge, several legs become a parlay, more than two sides
become opponents, and final is the price you got. CNM Devigger links work the same way. A correlation
isn't used, and the page says so. A link it can't fully price, such as a parlay leg with three sides or an
unreadable leg, fills nothing in and says why. A link with any of the hedge's own odds,
hedge, scenario, legs, opps, books, or
ticket is read as a hedge link only.
For CNM's hedge calculator, Odds1 or OriginalOdds, Odds2 or
HedgeOdds, and Stake, Stake1, or Wager are read in any case,
and the "Copy as CNM link (unverified)" button writes them, always as a stake. It's offered only for a plain bet,
because free bets, boosts, and commission wouldn't arrive. These names are unverified: no real link has been checked against them.
Notation format — what actually goes inside leg/final/corr/boost.