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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

Designed and built a clickable advisor portal for a UK wealth firm's financial planners: a daily home with reviews due and alerts, a segmented client book, a Client 360 for every household, an advice case board and a suitability report builder that will not issue a report until the checks and approvals are in place.

Designed and built a clickable robo-advisor app for a Swedish digital investment manager: a suitability-based portfolio recommendation with its costs shown before investing, managed ISK and KF accounts that rebalance automatically, goals with projections, ISK tax estimates, and deposits and withdrawals signed with BankID.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
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
Enterprise Software Engineering - Human + AI
Contact Us
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