---
title: "Calculadora de Stock Options (RSU/NSO/ISO/BDR) — Imposto no Vesting + Venda"
method: POST
path: "/api/v1/calc/stock-options-vesting-ir"
tags: ["calc", "nichos"]
---

# Calculadora de Stock Options (RSU/NSO/ISO/BDR) — Imposto no Vesting + Venda

`POST /api/v1/calc/stock-options-vesting-ir`

## Request

- Base URL: `https://api.calculas.com.br`
- URL: `https://api.calculas.com.br/api/v1/calc/stock-options-vesting-ir`
- Auth: HTTP bearer

Calcula imposto sobre stock options brasileiras com TRANCHES (vesting trimestral/anual): carnê-leão por tranche + ganho de capital agregado (GCAP 15-22,5%). Solução de Consulta COSIT 130/2017. v2.0 BREAKING — tranches[] substitui inputs escalares.

## Request body

- object
  - `tipoInstrumento` 'rsu_acoes_restritas' | 'nso_opcao_compra' | 'iso_opcao_compra' | 'bdr', required: Tipo de instrumento de equity recebido. "rsu_acoes_restritas" = RSU (Restricted Stock Unit); "nso_opcao_compra" = NSO; "iso_opcao_compra" = ISO (RFB trata como NSO); "bdr" = BDR (tributação como ação BR).
  - `tranches` object[], required: Tranches de vesting (1 a 50). Cada tranche tem sua data, strike, preço de mercado e quantidade própria — modelagem realista de vesting trimestral/anual.
    - `dataVesting` string, required: Data do vesting/exercício desta tranche (YYYY-MM-DD). Cada tranche representa um lote de ações que vesta em uma data específica — o típico vesting trimestral/anual gera várias tranches.
    - `precoExercicioUsdCents` integer: Preço de exercício (strike) por ação desta tranche, em centavos de dólar. Para RSU é sempre zero. Para NSO/ISO é o strike contratado.
    - `precoMercadoVestingUsdCents` integer, required: Preço de mercado da ação na data desta tranche (USD em centavos). Base para o carnê-leão.
    - `numeroAcoes` integer, required: Quantidade de ações nesta tranche.
    - `cambioVestingBrl` number: Câmbio USD/BRL na data do vesting desta tranche. Padrão: 5.
    - `dataVenda` string: Opcional. Data da venda desta tranche (YYYY-MM-DD). Se omitido, assume venda agregada na data padrão (campo escalar dataVendaPadrao).
  - `precoVendaUsdCents` integer, required: Preço pelo qual TODAS as ações são (ou serão) vendidas, em centavos de dólar. Mesmo preço para todas as tranches (simplificação típica em IPO ou tender offer).
  - `cambioVendaBrl` number: Câmbio USD/BRL médio na data da venda. Aplicado a todas as tranches (simplificação — usar contador para múltiplas datas de venda com câmbios materialmente diferentes).
  - `vendaEmBolsaBrasileira` boolean: Se true, isenção R$ 35k/mês (Lei 11.033/04) aplicada sobre a receita TOTAL agregada da venda. Para múltiplas vendas em meses diferentes, contador deve avaliar mês a mês.
  - `currentDate` string, date-time: ISO-8601 com offset. Default: tempo do servidor. Use pra reprodutibilidade / cache semantico.

## Response `200`

OK

- object
  - `ok` true, required
  - `data` object, required: Resultado dependente da calc — ver schema individual
  - `meta` object

## Other responses

- `422`: Input invalido (Zod parse falhou)
- `500`: Engine error

---

[API](https://skmtc.dev/calculas/apis/contai-api.md) · [All operations](https://skmtc.dev/calculas/apis/contai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calculas/apis/contai-api/revisions/26a00749292b?raw)
