Rate cards make white-label React development look like the best margin an agency can buy. Most of that margin is made or lost in hours the rate card never shows.
What white-label React development means
White-label React development is an arrangement in which an agency sells React engineering to its client and a second company does the work under the agency's name. The client contracts with the agency, and the agency contracts with the partner. The partner's name appears nowhere the client can see.
Each party keeps something different. The client keeps one accountable supplier. The agency keeps the relationship, the contract, the responsibility for what ships, and the difference between what it charges and what it pays. The partner keeps its engineers on its own payroll, and with them the cost of any week in which they have nothing to do.
React is one of the easiest frameworks to buy this way. In Stack Overflow's 2025 Developer Survey, 46.9% of professional developers had worked with React in the past year (Stack Overflow, 2025). A skill that common is easy to source, and just as easy for a client to price against someone else's quote.
Why agencies buy capacity, not hires
Agencies are short of margin and short of pricing power, so the cost of delivery is the lever they still control. Promethean Research's 2026 survey of 119 digital agencies, three quarters of them in the US, found an average net margin of 13% in 2025, and development agencies earned the least of the four types it tracks, at 11% (Promethean Research, April 2026). Only 20% of agencies raised their rates in 2026, down from 28% a year earlier (Promethean Research, 2026).
The third figure is the one that makes hiring risky. SPI Research's 2026 benchmark of 509 professional services organizations put billable utilization at 66.4% in 2025, the lowest in the history of its survey1. A salaried developer is paid for every hour of the year, and only the billable ones earn anything back.
Promethean sees agencies responding the way those numbers suggest:
In recent surveys, we've seen a significant uptick in the use of contractors across most agency sizes. This increase is likely driven by agencies looking to maintain capacity levels while managing utilization rates in a challenging sales environment.
That is the whole model in two sentences. A white-label partner turns a fixed cost into a variable one. You pay for the work you sell, and the partner carries the bench.
What an in-house React hour costs
An in-house developer's cost per billable hour is their annual pay and benefits divided by the hours you actually bill. Start with pay. In May 2025, the median US software developer in computer systems design and related services, the BLS industry that includes most custom development shops, earned $132,050, and the median web developer in the same industry earned $88,690 (BLS, software developers, BLS, web developers)2. React engineers usually fall under one of those two BLS titles.
Benefits come next. In June 2026, benefits made up 30.8% of total compensation for private-industry workers in professional and related occupations (BLS, released September 2026). Dividing pay by 0.692 gives a pay-and-benefits cost of $190,824 a year for the software developer and $128,165 for the web developer. Then divide by the hours you bill: 2,080 paid hours times your utilization.
| Billable utilization | Hours billed a year | Software developer | Web developer |
|---|---|---|---|
| 60% | 1,248 | $153 | $103 |
| 66.4% (2025 average) | 1,381 | $138 | $93 |
| 75% | 1,560 | $122 | $82 |
| 85% | 1,768 | $108 | $72 |
These numbers are a floor. They leave out recruiting, laptops, software seats, office space and the time a manager spends running the team, all of which an agency pays whether the hours sell or not. What they do show is how steeply cost follows utilization: the same developer costs about 42% more per billable hour at 60% than at 85%.
What a white-label hour really costs
A white-label hour costs the partner's rate plus the time your own people spend making the partner's work shippable. The rate is the easy part. Accelerance's 2026 guide, built from a survey of 60 development partners, puts senior developers in Asia at $31 to $41 an hour, against $60 to $75 in Latin America and $64 to $76 in Central and Eastern Europe (Accelerance, November 2025). The model below uses $36, the Asia midpoint.
A rate card is not the whole bill, and the line-by-line breakdown of offshore development cost covers what else a partner can charge for. Two numbers the rate card never shows decide the rest:
- Speed, written as r. The partner hours needed for work your own developer would finish in one hour. A partner exactly as fast as your team has an r of 1.0. One that needs twice as long has an r of 2.0.
- Oversight. The extra time your lead spends reviewing pull requests, answering questions and turning client requests into tickets, on top of the review your own developers get anyway. The model assumes 0.2 lead-hours per unit of work, costed at the software developer's pay-and-benefits cost of $91.74 per paid hour, which adds $18.35. If your lead would otherwise bill that time, it costs more. Every extra tenth of a lead-hour adds about $9.
So one unit of white-label work costs $36 × r + $18.35. The table prices that at two agency rates. Almost a third of the agencies in Promethean's 2026 survey (29%) charged $175 to $199 an hour, a figure that covers all agency services rather than React alone, so $175 is a realistic upper example and $125 a leaner one.
| Who does the work | Cost per unit of work | Margin at $125 | Margin at $175 |
|---|---|---|---|
| White-label, r = 1.0 | $54 | 57% | 69% |
| White-label, r = 1.5 | $72 | 42% | 59% |
| White-label, r = 2.0 | $90 | 28% | 48% |
| White-label, r = 3.0 | $126 | −1% | 28% |
| In-house web developer, 66.4% billable | $93 | 26% | 47% |
| In-house software developer, 66.4% billable | $138 | −11% | 21% |
These are delivery margins: the share of the fee left after paying for the work itself, before rent, sales and everyone else's salary. The 11% net margin above is what remains after all of that. The table also assumes you price the client for the work, at what your own team would have charged. If you bill every partner hour instead, a slow partner costs your client first and you later, when the client notices.
Read the table from the bottom up. White-label stops beating in-house work at an r of about 2.1 against a web developer, and at about 3.3 against a software developer. To use your own figures, break-even r = (your in-house cost per billable hour − oversight) ÷ partner rate. The break-even runs the other way too: to match a partner working at an r of 1.5, an in-house web developer has to bill about 85% of their hours.
The model assumes you buy partner hours as you use them. Rent a dedicated partner developer by the month and the bench is yours again. A $36 seat you can bill 66.4% of the time costs about $54 per billable hour before oversight and about $73 after it, which lands next to the r = 1.5 row before any difference in speed.
Markup is not margin
Agencies often price in markup and report in margin, and the two are different numbers. A markup is added to cost. A margin is a share of the price.
| Markup on partner cost | Margin on the price you charge |
|---|---|
| 50% | 33% |
| 100% | 50% |
| 150% | 60% |
| 200% | 67% |
Doubling a $36 partner rate to $72 an hour looks like a 50% margin. Take off the $18.35 of oversight and it is about 25%, even with a partner as fast as your own team.
Where the margin leaks
The margin in that table leaks through three holes, and none of them appears on a partner's rate card. Each one either pushes r up or adds to your own hours.
A new team is a slow team
The first year is where the hidden costs run highest. A study of a large company that moved product development from Sweden to a newly built site in India found that the cost of transferring the work, working at a distance and the new site's immaturity raised its hourly cost by 265% in the first year and by almost 50% in the second (Šmite, Britto and van Solingen, ICGSE 2017)3. In its second year, the new site's cost per unit of work was still 50% higher than the expensive mature site's.
Per hour, the new site stayed cheaper, because its salary-based rate started at about a quarter of Sweden's. The gap was output: mature teams elsewhere in the company completed about 92 complexity points per 1,000 hours against about 25 for the new ones, roughly 3.7 times as much. Output did not improve in the second year; it fell slightly, which the authors link to the end of on-site mentoring and to staff turnover, with attrition above 30% in both years.
If a gap that size carried over to the table above, r would be about 3.7, past the 2.96 at which white-label work billed at $125 an hour stops paying at all, and past the 3.3 at which it stops beating even an in-house software developer. Treat the first months of any white-label arrangement as the expensive ones, and measure r on real tickets before you commit a client's deadline to it.
Rework ships under your name
Your client never sees who wrote the component. They see who invoiced it. WebAIM's 2026 scan of the top million home pages found detectable WCAG failures on 95.9% of them, up from 94.8% a year earlier, and pages using React averaged 43.5 errors, 22.5% fewer than the average page (WebAIM, February 2026).
The framework is not the problem. WebAIM counts only errors that an automated checker can detect, which makes them the class of failure a routine automated check before each release is built to catch. Anything left out of a written definition of done comes back as rework, and your lead's review time grows with it.
Selling fixed, buying hourly
If you quote the client a fixed price and buy partner time by the hour, every overrun lands on you. The client's price cannot move, and the partner's invoice can.
What white-label cannot hide
White-label hides the partner's brand. It does not rewrite your contract with the client, and it does not change the law that applies to the client's data.
What stays hidden
- The partner's name in code, documents and invoices
- Who sits behind your team's email addresses
- Which company employs the engineers
What does not
- A clause in your client's contract that requires consent to subcontract
- Data protection rules on sub-processors and transfers abroad
- Security questionnaires that ask who can reach the code
The data rule leaves the least room for interpretation. If your agency handles personal data on a client's behalf in the EU or the UK, you are usually that client's processor, and Article 28(2) of the GDPR is specific:
The processor shall not engage another processor without prior specific or general written authorisation of the controller.
The UK GDPR carries the same wording (EUR-Lex, legislation.gov.uk). A React developer with access to a production database, or to a staging copy of real user data, is processing it, and a partner based outside the EEA and the UK also brings the regulation's rules on international transfers (Chapter V) into play. Read the client's contract and data processing agreement before you bring a partner in, and take legal advice on the details, because this is a reading of the regulation rather than a legal opinion.
What to demand from a white-label partner
Everything below either keeps r near 1 or keeps your exposure small when it is not. Treat these as standards, and put them to every partner on your shortlist before you name a client.
Ownership and paper
Work you sell as your own has to be yours to sell, and ownership reaches you through two links. The first runs from each engineer to the partner, through employment or a signed transfer, and is safest when every employment contract assigns the work in writing. The second is the partner's written assignment to you, as the code is written or as each invoice is paid, not at the end of the project. Who owns code written offshore walks through each link.
Ask whether any freelancers or subcontractors will touch the work, because each one adds another link. A partner should sign a mutual NDA before you name the client, then your MSA and data processing agreement under your governing law.
Your accounts, your access
The code lives in your repositories, deploys through your pipeline and runs in your or your client's cloud accounts. The partner works on seats you issue and can remove in an afternoon. That one standard makes most exit problems disappear, because there are no accounts to hand back, only knowledge. Taking over a failed offshore project shows what it takes to recover the accounts when they sit with the vendor instead.
Invisible, and not competing with you
No partner name in code comments, commit metadata, package names, error pages or anything else the client might open. If the engineers speak to your client, they do it under your email and in your chat workspace, briefed by your lead. Where your governing law allows one, the contract should carry a non-solicit: the partner does not pitch, contact or accept work from your clients during the engagement or for an agreed period after it.
Quality you can check
Ask for a written definition of done that your lead can check in review: strict TypeScript with no unexplained any or @ts-ignore, tests on anything that touches money or personal data, accessibility to WCAG 2.2 AA and a performance budget. Ask to see it before the first ticket. A definition of done is only checkable when testing is part of the build, not a gate at the end.
The engineers should be named, with notice before any of them rotates off, because a new face resets r. When your working days barely overlap, insist on a written end-of-day handoff. Ask, too, for disclosure of any code reused from other projects and of how AI coding assistants are used on your client's work.
Commercial terms that match yours
The partner's pricing should mirror how you sell: fixed price for fixed scope, time and materials for retainers. Add an estimate before each piece of work, a written overrun rule, a rate for each role rather than a blended figure you cannot check, and liability and insurance cover that match what your client contract makes you carry. For the rest of a first call, from named engineers and written handoffs to what you hold on the last day, use the questions in how to vet an offshore development partner.
Questions agencies ask about white-label
Is white-label development ethical?
Yes, when the agency stays accountable for the work, answers truthfully when the client asks directly, and discloses whatever the contract requires. Keeping a partner's brand out of the deliverables is normal. Telling a client "our in-house team" when they ask who writes the code is not.
Do I have to tell my client I use a white-label partner?
Not by default, but often by contract or by law. Check the client's agreement for a subcontracting clause, and if you handle personal data on a client's behalf in the EU or the UK, GDPR Article 28(2) requires the client's written authorization before another processor is engaged.
What markup do agencies put on white-label development?
Published markup figures for React work are scarce and hard to verify, and margin is the number that decides whether the work pays. A 100% markup is a 50% margin before your own review time, and with 0.2 lead-hours of oversight per hour of work, doubling a $36 rate leaves about 25%.
How long before a white-label team is productive in my codebase?
There is no single figure, so measure it. Give the partner a few well-specified tickets, compare their hours with your own estimate for the same work, and track that ratio for at least the first month before you commit a client deadline to it.
Should the partner's developers join my client calls?
That depends on the client and the project. If they join, they do it under your name and briefed by your lead. If they do not, a written daily handoff keeps the client's requests from getting lost between the two teams.
More general questions about offshore engagements are answered on the FAQ page.
SPI Research benchmarks professional services organizations in general, not agencies alone, and its 2026 report is sold rather than published free. The figures here are as reported in Certinia's June 2026 summary of the report.
↩Both are national medians for one industry, so half of those developers earn more and half less, and pay in your city will differ. The method works the same with your own payroll figures.
↩The study followed a company building its own offshore site for a large, complex product, not an agency buying web work from an established vendor. Read it as evidence of how large the early gap can get, not as a figure to apply to React projects.
↩
