Concepts
Accounts & wallets
Why your Bento account address differs from your signing key — the
The surprise that trips up most first integrations: the address you sign with is not the address your funds and positions live on.
your wallet (EOA) Bento managed account
0xAAA… (your key) 0xBBB… (provisioned for you)
│ ▲
└──────── sign the login ────────────┘
↳ funds · bets · positions · payouts live hereWhen you register or log in, Bento provisions a managed account for your signing key. You keep custody of your key; your trading runs through the managed account.
Register / login does not fund that account. On testnet, call sdk.public.faucet.mint({ address: managedAccountAddress }) to receive USDC and credits. → Money
What it means for you
- Read positions by the managed address, not your signing key:
// `address` is your managed account (returned with your session), not your EOA
const shares = await sdk.user.bets.getUserShares({ duelId, address });- Fund the managed account before bets or paid tournament flows (testnet: auto-mint faucet). An empty account returns
400 Insufficient Credits. - Sign with your key, settle on the managed account. You sign the login (and any wallet-signed payloads); bets and payouts execute against the managed account.
Your session response (eoaLogin / eoaRegister) includes the managed address; keep it around.