PUT /api/v2/storefront/billing/payout-details, or through the
set_payout_details agent operation — and Scope3 pays you by bank transfer,
net of the platform fee and any additional fees on your billing config.
Setup is optional by default. It becomes required once a connected inventory
source advertises agent billing, since buyers can then ask Scope3 to clear
payments through that source. While payout details are missing, the
billing_setup readiness check blocks activation in that case. Without payout
details on file, your storefront operates on external agreements only and you
bill buyers directly.
All examples use the storefront base URL:
Authorization: Bearer $SCOPE3_API_KEY.
How you get paid
Scope3 collects payment from the buyer, deducts the fees on your billing config, and pays the remainder to your bank account by bank transfer in your payout currency. Payout runs are executed by the Scope3 finance team — there is no self-serve withdrawal step, and you do not need to hold a balance anywhere. Each transfer carries a reference so you can reconcile it against your media buys. Each payout account clears one currency: for seller-settled storefronts, your payoutcurrency must match your storefront’s settlement currency
(defaultCurrency). The settlement_currency_match
readiness check blocks go-live on a
mismatch.
Why Scope3 needs your bank details
Bank details are how Scope3 pays you — nothing else. A payout by bank transfer needs:- Beneficiary name (
beneficiaryName) — the account holder exactly as your bank knows it. - Beneficiary address (
addressLine1,city,postalCode,countryCode) — required by banks for international transfers. - Account number or IBAN (
accountNumber) — where the money lands. - One bank identifier (
bankIdentifierType+bankIdentifierValue) — a Fedwire/ABA routing number, CHIPS ABA, SWIFT-BIC, or local bank code, so the transfer routes to the right bank. - Payout currency (
currency) — the currency your account accepts.
What happens to your bank details
- Your account number is encrypted at the application layer (AES-256-GCM) before it is written to the database — the database never holds a usable plaintext value — with disk-level encryption beneath it.
- The account number (or IBAN) is write-only: once saved, it is never
displayed again. Reads —
GET /billing, theget_billing_infooperation, and Settings → Billing — return only the last four characters, so you can confirm which account is on file without exposing it. - To change accounts, submit the full payout details again; the previous details are replaced.
Multiple payout entities
If your organization is paid through more than one legal entity — say an India entity and a Brazil entity — register a payout bank account for each entity and payout currency viaPUT /api/v2/storefront/billing/payees (the
set_payout_payee agent operation, or Settings → Billing → Payout entities
in the UI). Each payee carries its own beneficiary name and address, account
number, and bank identifier:
- One bank account per entity per currency. A payout account clears exactly
one currency, so an entity paid in two currencies registers two payees. The
entityName+currencypair identifies the payee; submitting the same pair again updates it. - The beneficiary name must match the account holder — the legal entity itself. Banks reject transfers where the beneficiary on the wire doesn’t match the name on the account.
- Every payout destination is a payout entity, and exactly one is your
primary. The details you set with
set_payout_detailsare the primary entity — and like any other entity, it can hold a bank account per currency. - Reads are masked the same way for every entity: list them with
GET /api/v2/storefront/billing/payees(list_payout_payees) and you get the last 4 characters of each account number, never the full value. - Removing a payee is a bank-detail change control and is handled by Scope3 finance — contact support.
Scope3-cleared vs direct billing
A media buy is billed one of two ways:| Billing | Who invoices the buyer | Requires payout details |
|---|---|---|
Scope3-cleared (agent) | Scope3 invoices the buyer and pays you | Yes |
Direct (operator) | You invoice the buyer under your own agreement | No |
Scope3 no longer uses Stripe for storefront payouts. If you set up billing
through Stripe Connect before, enter your bank details once in
Settings → Billing (or via
set_payout_details) to keep Scope3-cleared billing
on your media buys — bank details held by Stripe cannot be migrated. Nothing
else changes: fees, currency, and net terms carry over.Organizations and accounts
An organization can manage billing for the accounts under it by passing?targetCustomerId=<accountId> on billing endpoints; access is validated against
the organization/account hierarchy. Accounts always inherit billing from their
organization and cannot set up their own.
Billing activity
The Payout activity section at the top of the Payouts tab on the org Billing page shows payout runs as they happen — status, period, entity, currency, amount, and date — via Get payout activity. It’s empty until your first payout run; nothing is fabricated in the meantime.Task reference
Set payout details
PUT /billing/payout-details — bank account for payoutsGet billing config
GET /billing — fees, currency, net days, masked payout detailsSet payout payee
PUT /billing/payees — bank account per legal entity per currencyList payout payees
GET /billing/payees — masked payees on fileUpdate billing config
PUT /billing — fees, currency, net days (admin)List billing accounts
GET /billing/accounts — billing status across your organization’s accountsGet payout activity
GET /billing/payout-activity — payout activity as it happens