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

How the money moves

Track every cent. Debit only when it counts.

1

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.

2

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.

3

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
Link presetPublished v6
Transfer at
$1.00$5.00 ★$10.00
RuleSave the cents · boosts 1× 2× 3×
Caps$1.00 / $20 / $50
Goes toUser’s wallet
Users can changethreshold, rule
Accent #0A6E5C · AA ✓ 6.2:1

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.

StripePlatform default. ACH Direct Debit with Financial Connections instant bank linking.
CoinFlowBring your own. ACH with USDC or fiat settlement — gaming-friendly.
AeropayBring your own. Pay-by-bank built for iGaming, Aerosync linking. Read the rail docs →

See it with your logo on it.

We’ll set up a preset for your brand and walk through the flow in 20 minutes.