Skip to main content

Brokerage economics

The 22 / 4 / 18 bps split — Valura's India brokerage revenue model. Locked with stakeholder.

The three numbers

ComponentValueMeaning
Customer charge22 bps of trade notionalWhat Valura charges the customer
ViewTrade cost4 bps of trade notionalWhat ViewTrade charges Valura
Valura residual18 bps of trade notionalValura's revenue on the trade

For a $1,000 trade:

  • Customer's wallet is charged $2.20 on top of the trade principal.
  • Of that $2.20 → $0.40 is owed to ViewTrade → $1.80 stays with Valura.

Where each rate is configured

  • Customer charge is variable — overridable per-sync from the Jobs UI. Finance can dial it up or down for a campaign.
  • ViewTrade cost is fixed — set in config; matches the ViewTrade fee schedule.

Why this shows up in three accounts

The recost pipeline splits the customer's brokerage charge into two pieces on the ledger:

  1. 2340 ViewTrade Payable — what Valura owes ViewTrade (4 bps).
  2. 2330 Valura Payable (offset by 5099 Valura Earnings Share) — Valura's residual (18 bps).

So on the customer's statement they see one brokerage charge of 22 bps; on Valura's earnings statement they see 18 bps net margin; on the settlement report to ViewTrade they see 4 bps owed.

Small-ticket drift

The 4-bps cost assumption doesn't survive small-ticket fractional trades. ViewTrade has fixed per-trade fees (SEC, TAF, IFSCA, others) that dominate at small notionals — a $10 trade might have $0.02 of fixed fees, which is 200 bps. The broker-fee reconciliation report (/v1/india/broker-fees) joins the ViewTrade Daily Ledger to compare modeled cost vs actual and surfaces this drift.

Follow-ups:

  • Move to a piecewise fee schedule (fixed + variable bps).
  • Wire the broker's orders/preview at ingest to capture actuals every trade.

Impact on the customer

The customer's charge is the 22 bps. They don't see the split. They see:

  • Trade principal
  • Brokerage line (22 bps)

The rest is Valura's internal economics.