Calculadora de custo médio cripto
Esta calculadora de custo médio de criptomoedas reúne compras feitas com preços e quantidades diferentes em um único custo médio ponderado por moeda.
Executar grátis
Informe cada aquisição com a quantidade e o preço unitário, e obtenha a quantidade total, o custo total de aquisição e o custo médio. A ferramenta ajuda você a acompanhar a carteira, estimar o ponto de equilíbrio e conferir valores antes de organizar registros. O cálculo é determinístico e atribui às compras maiores o peso correto, em vez de usar uma média simples e enganosa dos preços informados.
Informe cada compra como um lote separado
Crie uma linha para cada compra de criptomoeda que deve entrar no cálculo. Toda linha precisa da quantidade adquirida e do preço pago por uma moeda. Quantidades fracionárias são aceitas; uma compra de 0.015 moeda, por exemplo, é válida desde que o número seja maior que zero. Os preços também devem ser números positivos e finitos. Use uma única moeda de cotação em todas as linhas: se o primeiro preço estiver em dólares americanos, os demais também deverão estar. A calculadora não converte moedas nem consulta taxas de câmbio; ela trabalha exatamente com os números fornecidos. Não junte compras calculando previamente uma média dos preços, pois isso elimina o efeito das quantidades diferentes. Mesmo que duas transações tenham o mesmo preço, você pode registrá-las em linhas separadas para manter uma trilha de auditoria clara. A configuração opcional de casas decimais controla apenas o arredondamento exibido e não reduz de propósito a precisão do cálculo ponderado intermediário. Uma solicitação aceita até 10,000 compras.
Entenda como funciona a média ponderada
Para cada compra, a calculadora multiplica a quantidade pelo preço unitário para encontrar o custo de aquisição daquele lote. Em seguida, soma separadamente os custos de todos os lotes e todas as quantidades. O custo médio é o custo total de aquisição dividido pela quantidade total. Portanto, a média é ponderada: uma compra de duas moedas influencia o resultado duas vezes mais que uma compra de uma moeda. Uma média aritmética simples dos preços daria a mesma importância a todas as linhas e poderia ficar muito errada quando os lotes têm tamanhos diferentes. O custo total retornado pode ser conciliado diretamente com os dados informados, enquanto a quantidade total mostra o denominador usado no resultado. A soma compensada reduz erros comuns de ponto flutuante quando valores pequenos e grandes aparecem juntos. Os resultados são arredondados entre zero e doze casas decimais, conforme sua escolha. A contagem de compras oferece uma verificação adicional de que todas as linhas pretendidas participaram do cálculo.
Aplique o resultado dentro do escopo correto
O custo médio é uma referência prática para a carteira, mas não representa automaticamente um valor pronto para a declaração de impostos. Esta calculadora considera apenas aquisições e pressupõe que o custo de um lote seja a quantidade multiplicada pelo preço. Ela não acrescenta taxas da corretora, tarifas de rede, descontos, transferências, vendas, rendimentos de mineração, recompensas de staking, presentes, bifurcações ou conversões cambiais. Se uma taxa integrar legalmente o custo de aquisição no seu caso, incorpore-a a um preço unitário ajustado antes de preencher a linha e guarde os documentos que expliquem esse ajuste. Na venda de moedas, as autoridades fiscais podem exigir identificação específica, FIFO, LIFO ou outro critério dependente da jurisdição. Esses métodos podem gerar ganhos realizados distintos mesmo quando a média atual é conhecida. Use o resultado para planejamento, acompanhamento da carteira, conciliação ou referência de equilíbrio e, depois, consulte as regras e os registros aplicáveis à sua localidade. Uma solicitação automatizada pela API custa US$ 0,002.
Casos de uso
Acompanhe o preço de entrada da carteira
Reúna compras recorrentes em um preço médio ponderado por moeda para exibir uma referência objetiva no painel da carteira.
Estime o ponto de equilíbrio
Compare o custo médio de aquisição com um preço de mercado antes de considerar taxas, impostos ou critérios de venda.
Concilie registros da corretora
Confira se as quantidades e os custos exportados das compras produzem os totais agregados esperados.
Perguntas frequentes
Qual fórmula a calculadora utiliza?
Ela divide a soma da quantidade multiplicada pelo preço de cada compra pela soma de todas as quantidades adquiridas.
Por que não calcular apenas a média dos preços?
Uma média direta dá a mesma influência a uma compra pequena e a uma grande. A ponderação considera quantas moedas foram compradas em cada preço.
As quantidades podem ter frações?
Sim. Quantidades fracionárias positivas são aceitas, o que é importante para ativos normalmente adquiridos em pequenas frações de moeda.
O resultado inclui taxas de negociação ou de rede?
Não. Informe um preço ajustado se precisar incluir taxas e mantenha registros que expliquem como esse preço foi calculado.
Este valor equivale ao custo para fins fiscais?
Não necessariamente. O tratamento tributário depende da jurisdição, do histórico das transações e do método de venda permitido. A calculadora produz somente uma média ponderada de aquisição.
Quanto custa um cálculo pela API?
Cada solicitação de API custa US$ 0,002. O cálculo no navegador está disponível sem uma solicitação de API.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/finance/crypto-cost-basis \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"purchases":[{"quantity":0.5,"price":30000},{"quantity":0.25,"price":36000},{"quantity":1.25,"price":28000}]}'const res = await fetch("https://api.kit.forhosting.com/finance/crypto-cost-basis", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/crypto-cost-basis",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/crypto-cost-basis", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"purchases":[{"quantity":0.5,"price":30000},{"quantity":0.25,"price":36000},{"quantity":1.25,"price":28000}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"purchases":[{"quantity":0.5,"price":30000},{"quantity":0.25,"price":36000},{"quantity":1.25,"price":28000}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/crypto-cost-basis", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.crypto_cost_basis",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |