CLIENT: Aroeira Investimentos🇧🇷Brazil

Pregão - Stock and ETF Trading App with the Income Tax Explained

B3 Trading App for a Brazilian Retail Broker

Designed and built a clickable investor app for a Brazilian broker trading B3 stocks and ETFs: patrimônio at a glance, a market overview, an asset page with an order ticket that shows the lot and fractional split before sending, a portfolio at average price, and a tax centre that works out the monthly DARF.

Scope of Work
Product design, UI build and clickable demo
Industry
Wealth & Investing / Stock & ETF Trading
FinTechTax
Compliance & Certifications
Resolução CVM 35Resolução CVM 30 (suitability)Resolução CVM 50 and Law 9.613/1998 (AML)Resolução CVM 20 (research)Income tax on stock gains (DARF 6015)LGPDFATCA

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Home, market overview, asset page with the order ticket, portfolio and tax centre with the working for each month. Every one of the 22 demo tickers opens its own asset page.

100 + 50
Lot split shown before sending

An order for 150 shares shows as 100 on the standard lot (OCEP4) and 50 on the fractional market (OCEP4F), with a note that the two parts can fill at different prices.

BRL 20,000
Monthly exemption meter

Each month's stock sales are measured against the exemption, swing trades taxed at 15% and day trades at 20%, losses kept separate and the dedo-duro credited, down to a DARF code 6015 of BRL 406.48 for August.

22 Assets
Realistic demo data

17 fictional stocks and 5 ETFs, 13 positions, 4 working and filled orders, 6 upcoming proventos and 21 months of tax results across 2025 and 2026.

The Problem

Aroeira grew as an advisory-led broker on a white-label trading platform. Its younger clients found the app slow and full of jargon and left for the large app-first brokers. Clients did not know when they owed tax on stock sales or how to fill in a DARF, typed 150 shares into one ticket without understanding why only 100 filled, and found rejected orders and wrong average prices before staff did.

Our Solution

Pregão puts the investor journey and the tax help on one data model of orders, positions and events. Investors follow the market, buy and sell B3 stocks and ETFs with the lot split, costs and suitability warnings shown before sending, see their portfolio at average price, and get each month's tax worked out with the DARF values ready to copy.

The Challenge: Trading Under Brazilian Market Rules

Retail equity trading in Brazil runs on CVM rules for intermediaries and suitability, B3's lot and fractional markets, D+2 settlement and an income tax the investor calculates and pays alone, and every order touches several of them at once.

Tax the Investor Pays Alone

Swing trade gains are generally taxed at 15% and day trades at 20%. Common stock sales up to BRL 20,000 a month are exempt, but not ETFs or day trades. Losses carry forward in two separate pots, and the DARF is due by the last business day of the next month.

Lots and Fractions on One Ticket

Most shares trade in lots of 100, and 1 to 99 shares trade on the fractional market under the same ticker with an F suffix, at its own price. One order for 150 shares is really two orders that can fill at different prices.

Suitability Before Every Order

Resolução CVM 30 requires the broker to check that a product suits the investor's profile, kept current for no more than 24 months. When it does not, the investor must be warned and give an express declaration before the order goes out.

Cash That Is Not Yet Cash

Trades settle on D+2, working buy orders block cash, and Pix deposits must come from the investor's own CPF. Buying power, available balance and cash to settle have to be shown separately so nobody spends money that has not arrived.

Our Approach: From B3 and CVM Rules to a Clickable App

01

Spec and Rules Research

Mapped 7 roles from investor to compliance officer, 45 screens across the investor app and the broker back office, and the data model for clients, suitability profiles and declarations, assets, orders, fills, positions, the cash ledger, Pix, corporate events and monthly tax results. Wrote down the rules the design follows: Resoluções CVM 35, 30, 50 and 20, Law 9.613/1998, D+2 settlement, B3 lots and circuit breakers, income tax on gains and the dedo-duro, and the LGPD.

02

Clickable Demo on a Production UI Kit

Built 5 key investor screens in Portuguese on a production dashboard kit: home with patrimônio, the DARF banner and open orders, the market overview with indices, sectors and top movers, the asset page with an order ticket, review sheet, declaration and 6-digit signature, the portfolio with allocation and CSV export, and the tax centre with month selection, Sicalc copy and Mark DARF paid. All actions run on local state.

03

What a Production Build Adds

Order routing to B3 over FIX through an order management system, pre-trade limits in B3 LiNe, real-time B3 market data, corporate events, custody and settlement from B3, Pix through a settlement provider, identity and liveness checks, PEP screening and push notifications. Onboarding and the suitability questionnaire, the remaining investor screens, the full back office with audit log, and sign-off of the tax rules by a Brazilian tax adviser.

Why It Works: Every Order and Every Tax Month Explained

The Ticket Says What Will Happen

Before review, the ticket shows the lot and fractional split, the estimated total, B3 costs, zero brokerage, buying power after the order and the D+2 settlement date, with warnings for low buying power, an asset above the investor's profile, a price more than 10% from the last trade and a sale that becomes a day trade.

Suitability Declared, Not Hidden

Buying an asset above the investor's Moderado profile raises a warning on the ticket, and the review sheet will not confirm until the declaration is ticked and the 6-digit trading signature entered. Research rated for a higher profile shows only its summary, without the rating or target price.

Tax Working You Can Follow

Each month shows stock sales against the BRL 20,000 limit, swing and day trade results, IRRF credit and DARF status. The month view lists gains, losses, prior losses used, base, rate and the sales behind them, and copies the DARF values in the order Sicalc asks for them.

Honest About Its Limits

A banner on the tax centre says the numbers cover trades at Aroeira only and that the investor remains responsible for the tax. The dedo-duro is shown as a credit, never as the tax owed, and Pregão never pays the DARF for the investor.

Related case studies

View all: Wealth & investing
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab