Published on
Where can I host my application on a server in Brazil without paying IOF?
With any provider that has servers in Brazil and bills you in Brazilian reais, such as a Brazilian PaaS (Zenifra, for example), Magalu Cloud, or a VPS from a local provider. The 3.5% IOF tax shows up when you pay in a foreign currency with a Brazilian card, which is what happens with Vercel, Heroku, Render, Railway, and AI APIs billed in US dollars. This guide walks through the math, the options for using AI while paying in reais, and who lets you start without a credit card.
Where the IOF on your hosting bill comes from
IOF is not charged by the hosting platform. It is a Brazilian federal tax on currency exchange, and your card issuer charges it when a purchase is made in a foreign currency. Since 2025, the rate on international purchases with credit, debit, or prepaid cards has been 3.5%.
So the rule is simple. If the invoice comes in US dollars, euros, or any other foreign currency and you pay with a card issued in Brazil, there is IOF. If the company charging you issues the invoice in reais, there is no currency exchange and no IOF on the purchase.
On top of the tax, the conversion uses the exchange rate of the day the purchase is processed, plus the bank’s spread. The same usage can cost different amounts in reais from one month to the next, even when nothing changes in your application.
How much IOF and the exchange rate add to a real bill
To compare fairly, we used the same scenario on every platform: a small always-on application with about 512 MB of memory, plus the smallest paid PostgreSQL on each one. US-dollar prices were checked on the official pages on September 29, 2026, and Zenifra prices on the public plans API on October 30, 2026.
| Platform | Application + PostgreSQL | With 3.5% IOF | In reais, with the dollar at R$ 5.50 |
|---|---|---|---|
| Render | US$7 + US$6 = US$13 | US$13.46 | R$ 74.03 |
| Heroku | US$7 + US$5 = US$12 | US$12.42 | R$ 68.31 |
| Zenifra | R$ 29.90 + R$ 11.90 + R$ 0.20 of disk | Does not apply | R$ 42.00 |
The dollar at R$ 5.50 is only an example to make the math concrete. If it rises to R$ 6.00, the same Render bill goes from R$ 74.03 to R$ 80.76 without any change in usage. On Zenifra, the price in reais is the one on the plan, and PostgreSQL disk is billed at R$ 0.20 per GB a month.
Vercel and Railway are left out of the table because they bill differently. On Vercel, a commercial project needs the Pro plan, at US$20 a month, and the database comes from a Marketplace partner with separate billing. On Railway, you pay the subscription plus per-second CPU and memory usage, so the total changes every month. In both cases the invoice is in US dollars, on a card, with the same IOF.
Who has servers in Brazil and bills in reais
There are four paths, and the difference between them is how much of the operations work stays with you.
A VPS from a Brazilian provider is the cheapest path and the most work. The invoice is in reais and the server is in the country, but you install the system, set up the proxy and certificates, apply security updates, and handle database backups.
Magalu Cloud is a Brazilian cloud with virtual machines, Kubernetes, storage, and managed MySQL and PostgreSQL databases in the br-se1 and br-ne1 regions, priced in reais. As of October 30, 2026, its pricing page did not list application deploys from GitHub, so you build the application environment on top of the machines or Kubernetes.
AWS, Google Cloud, and Azure have regions in São Paulo. The currency and the company that issues the invoice depend on the contract and the payment method, so check both before assuming there will be no IOF.
A Brazilian PaaS takes your code or Docker image and handles the build, HTTPS, domain, logs, and scaling, with billing in reais. On Zenifra, for example, the infrastructure is in São Paulo, and you pay by PIX, boleto, or card.
| Option | Server in Brazil | Billing currency | Who runs operations |
|---|---|---|---|
| VPS from a Brazilian provider | Yes | Reais | You, from the operating system to backups |
| Magalu Cloud | Yes, br-se1 and br-ne1 regions | Reais | You, with managed databases available |
| AWS, Google Cloud, or Azure | Yes, regions in São Paulo | Depends on the contract | You, assembling network, database, and scaling |
| Vercel | Functions can run in gru1, but the default is iad1 | US dollars | The platform |
| Heroku, Render, and Railway | No | US dollars | The platform |
| Zenifra | Yes, in São Paulo | Reais | The platform |
How can I use AI models through an API on a platform that bills in reais?
You need a provider that sells model access by the token and issues the invoice in reais. On Zenifra, the AI API uses an OpenAI-compatible endpoint at https://ai.zenifra.com/v1, and you add credit by PIX from R$ 5 or by boleto from R$ 30. Any library that talks to OpenAI works by changing the base URL and the key.
The big labs’ APIs bill in US dollars and require an international card, which brings back IOF and the exchange rate. For a product that calls the model thousands of times a day, that variation shows up in the margin.
The prices below come from Zenifra’s public catalog on October 30, 2026, in reais per million tokens.
| Model | Input per million tokens | Output per million tokens |
|---|---|---|
| zenifra/qwen3.8-flash | R$ 0.60 | R$ 2.00 |
| zenifra/deepseek-v4-flash-0731 | R$ 2.20, or R$ 1.10 from 11 am to 9 pm Brasília time | R$ 6.60, or R$ 3.30 from 11 am to 9 pm Brasília time |
| zenifra/kimi-k2.7-code | R$ 4.70 | R$ 19.40 |
| zenifra/glm-5.2 | R$ 5.70 | R$ 20.00 |
| zenifra/kev-4b | R$ 0.2244 | Free |
For a sense of scale, a support bot that uses 1 million input tokens and 200 thousand output tokens a day on qwen3.8-flash uses 30 million input and 6 million output tokens a month. That comes to R$ 18.00 plus R$ 12.00, or R$ 30.00 a month.
Two things help keep that cost under control. Each key has a daily and a monthly quota in reais, so a buggy integration does not burn the whole organization’s credit. And AI usage is prepaid: when the credit runs out, calls stop instead of turning into a surprise invoice at the end of the month.
It is worth saying what is not in the catalog. Closed models from OpenAI, Anthropic, and Google are not sold by Zenifra. If your product depends on one of them specifically, billing stays in US dollars, directly with the lab.
Is there a Brazilian hosting platform that offers a free project without a credit card?
Yes. On Zenifra, each organization can create one HTTP project, one PostgreSQL, one Valkey Cache, and one Valkey Queue on the free plan, plus 5 GB of Storage, without adding a card. Sign-up asks for a Brazilian CPF or CNPJ, a Brazilian mobile number, an address in Brazil, and email confirmation.
The free project has 0.5 vCPU, 512 MB of memory, and real-time logs. The free PostgreSQL has 1 GB of disk, one instance, and a daily backup kept for 3 days. The platform does not shut the free project down for lack of traffic, so the first visit of the day does not wait for the application to wake up.
There are limits, and it is good to know them up front. There is one free instance per organization, the plan cannot be changed to or from free (to grow, you create a paid project), and CPU and memory metrics are on paid plans.
| Platform | What is free | The limit that matters most |
|---|---|---|
| Vercel | Hobby plan | Personal and non-commercial use only |
| Heroku | Nothing | The cheapest plan, Eco, costs US$5 and sleeps after 30 minutes without requests |
| Render | Free web service and Postgres | The service sleeps after 15 minutes without traffic and Postgres expires in 30 days |
| Railway | One-time US$5 credit for 30 days | Then US$1 of credit a month |
| Zenifra | Application, PostgreSQL, Valkey Cache, Valkey Queue, and 5 GB of files | One free instance per organization and sign-up with a CPF or CNPJ |
Data for the other platforms was checked on their official pages on September 29, 2026. Free plans change often, so open each pricing page before deciding.
How to pay without a card on paid plans too
Starting without a card solves the trial. For production, what matters is how you pay every month. Many small companies do not have a corporate card with an international limit, and the hosting bill ends up on someone’s personal card.
On Zenifra, the organization balance is topped up by PIX or boleto, in reais, and the same balance pays for applications, databases, and AI. A card is optional and works as an automatic backup when the balance does not cover an application or database charge. For predictability, plans are priced by the hour, month, or year.
Whichever Brazilian provider you choose, ask for the invoice (nota fiscal) and check that it is issued to your company. That simplifies accounting and is one more difference from an international card purchase.
When paying in US dollars still makes sense
Avoiding IOF should not be the only criterion. There are cases where a platform billed in US dollars is still the better choice.
If most of your users are outside Brazil, a region in the US or Europe serves pages faster to them, and Render and Railway have regions on three continents. If your company already earns in US dollars, exchange-rate swings stop being a risk, because revenue and cost move together.
If the project is mostly a Next.js frontend, Vercel maintains the framework and serves static files through a CDN with more than 120 points of presence. And if your product needs a specific closed model, such as OpenAI’s or Anthropic’s, the way to go is paying the lab directly.
In short
To avoid IOF, the invoice has to come in reais, from a company in Brazil. To have your server in the country, check the region’s city and whether the database sits in the same place as the application. With those two answers, the choice comes down to how much of the operations work you want: a VPS or cloud if you have time to run it, a PaaS if you want to spend that time on the product.
If you want to try it with your own application, Zenifra lets you start with a free project and database, no card required, and the calculator shows what your scenario would cost in reais.