Skip to main content

Overview

Every Sprinter credit position is tied to an on-chain account. Integrators need to decide which account type their users will use. This choice affects how delegation works, what permissions are possible, and how the end-user experience feels. There are two options: EOA (Externally Owned Account) — a regular wallet address, or Smart Account — a contract wallet with programmable permissions.
EOA + OperatorSmart Account
Setup complexityLow — user keeps existing walletHigher — user deploys or migrates to smart wallet
Delegation modelOperator contract draws to whitelisted receiversSession keys with fine-grained permissions
Permission granularityReceiver whitelist + operator-level constraintsFull control — amount caps, time limits, action types, co-sign
Custody modelNon-custodial (operator can’t touch collateral)Fully non-custodial (user owns the contract)
RevocationTime-delayed (prevents mid-settlement abuse)Instant (session key revoked immediately)
Best forCard programs, simple delegation, most integrationsAdvanced use cases, multi-party access, tight on-chain guardrails

EOA + Operator

The simplest path. Users keep their existing wallet (MetaMask, Rainbow, Coinbase Wallet, etc.) and interact with Sprinter directly. For delegated actions — where your app needs to act on the user’s behalf, like drawing credit at card swipe — you deploy an Operator contract that the user opts into. How it works:
  1. User locks collateral from their existing wallet
  2. User calls setOperator() to authorize your Operator contract
  3. User calls addCreditReceiver() to whitelist your settlement address
  4. Your backend calls the Operator to draw credit — no user signature needed at transaction time

Smart Account

Users deploy a smart contract wallet (ERC-4337) with programmable session keys or modules. Your app is authorized via a session key that defines exactly what it can do — amount caps, time windows, action types. How it works:
  1. User deploys a smart account (or your app provisions one during onboarding)
  2. User configures a session key authorizing your backend
  3. Session key defines permissions: which actions, how much, how often
  4. Your backend uses the session key to execute — user retains full custody

Which Should You Choose?

Recommended: EOA + OperatorCard programs typically have a simple delegation model — your backend draws USDC to a settlement address when the card is swiped. The ExclusiveOperator contract handles this cleanly. Users don’t need to change their wallet setup, and the Operator’s receiver whitelist ensures funds can only go to your settlement address.Use Smart Accounts if you need per-user spending caps enforced on-chain, or if your users already have smart wallets.

Credit Operators

How operators work, existing operators, and how to build your own.

Credit Engine

Credit line creation, drawdowns, repayments, and liquidations.

Policy Engine

Fine-grained credit controls and guardrailed accounts.