BentoSDK

How Bento works

The mental model (markets on-chain, two hosts, sign-in, your managed account, and acceptance vs finality).

Five things explain almost everything about building on Bento. Read this once and the rest of the docs will click.

  your app ──HTTP──▶ Bento API ──▶ BSC (on-chain settlement)
      │                  ▲
      └── sign login ────┘  →  JWT (Bearer), sent on sdk.user calls

1. Markets live on-chain

Bento markets and tournament vaults settle on BSC. You don't manage contracts to get started. You call HTTP methods, and for a few flows (vault deposits) you submit a transaction with your own wallet.

2. Two hosts, one SDK

createBentoSdk() talks to two hosts:

  • Markets host (baseUrl): bets, packs, create-market, portfolio.
  • Tournaments host (tournamentsBaseUrl): bracket tournaments and F1.

You only need the markets host to start. Add the tournaments host when you reach tournaments. → Two API hosts

3. Catalog is open; login and actions need a Builder key + user JWT

Catalog/price/analytics reads need no auth. Login and register need a Builder API key (apiKeyx-builder-api-key). Acting as a user (place a bet, create a market) also needs a JWT from that login. createBentoSdk requires apiKey so you're ready for both. → Builder API key · Authentication

4. You sign with your key, but trade through a managed account

When you register or log in, Bento provisions a managed account whose address is different from your signing wallet. Your balances, positions, and payouts live there. Register does not fund that account; on testnet call the auto-mint faucet next. → Accounts & wallets · Money

5. Accepted ≠ settled

A write returns when the server accepted it, not when the chain finalized. Poll a read to confirm the result. → Acceptance vs finality


Next: Quickstart for the zero → first-bet script, or Environments for hosts/env.

More detail (optional): Two hosts · Accounts · Money · Mutations · Glossary

On this page