SideBet · Round-ups by Hedge
Plaid Link, for round-ups.
One script tag turns any app into a savings engine. Your users link a bank once; the cents on every purchase accrue, and one ACH debit moves the money when it’s worth moving. You set the rules.
- 0per-purchase debits — accrue first, transfer once
- $5default transfer threshold; brands pick $1–$20
- 30 minlink tokens; your API key never touches a browser
Acme Sportsbook rounds up your bets into savings
Link your bank once. The cents on every wager go into your wallet.
By continuing you authorize Acme Sportsbook (via Hedge, Inc.) to debit your linked bank for accrued round-ups, never more than $5.00 per transfer unless you change it, until you cancel.
How the money moves
Track every cent. Debit only when it counts.
Accrue
Each purchase posts a round-up — $5.99 → $0.99 — to the user’s running total. No bank needed yet; enrollment can come later.
One debit
When the total crosses the threshold (or every Friday, if you prefer) the accrued round-ups become a single ACH debit. One PaymentIntent, one fee.
Wallet
Settled funds land in a double-entry wallet — the user’s, yours, or a split — with a settlement hold, transfer caps, and returns reversed automatically.
Brand presets
You decide the money rules. Users choose within them.
From the admin you publish a preset: which transfer thresholds to offer, the round-up rule, boosts, hard caps per purchase, day and week, where settled money goes, and the copy and logo in the modal. Every choice a user makes is validated against it — server-side, every time.
- Threshold options & default, or a weekly schedule
- Save-the-cents vs. next-dollar, 1×–5× boosts
- Per-purchase, daily and weekly caps
- Destination: user wallet, your wallet, or a split
- Logo, accent color, headline — previewed live before publishing
Integration
An afternoon, not a quarter.
Your server: mint a link token
POST /api/roundup/link-token
Authorization: Bearer <MERCHANT_KEY>
{ "consumerId": "user_123",
"consumerEmail": "ada@example.com" }
→ { "linkToken": "slt_…", "expiresAt": "…" }Your page: open Link
<script src="https://api.sidebet…/sdk/sidebet.js"></script>
SideBet.create({
linkToken,
onSuccess: ({ bank, rules, accrual }) => …,
}).open();
// later: SideBet.settings({ linkToken }).open()Each purchase: record it
POST /api/roundup/initiate
{ "consumerId": "user_123",
"transactionCents": 437 }
→ { "roundUpCents": 37,
"accrual": { "accruedCents": 274,
"thresholdCents": 500 } }Webhooks for roundup.settled, roundup.returned, roundup.settings_changed. Idempotent ledger, signed PSP webhooks, per-wallet locks — stress-tested at 300 concurrent requests with zero drift.
Rails
Our rail by default. Yours if you have one.
See it with your logo on it.
We’ll set up a preset for your brand and walk through the flow in 20 minutes.