Calculateur de prix de revient crypto
Ce calculateur de prix de revient crypto regroupe des achats effectués à des prix et dans des quantités différents afin d'obtenir un coût moyen pondéré par jeton.
Lancer gratuitement
Saisissez la quantité et le prix unitaire de chaque acquisition pour obtenir la quantité totale détenue, le coût d'acquisition total et le prix de revient moyen. Cet outil facilite le suivi d'un portefeuille, l'estimation du seuil de rentabilité et la vérification des chiffres avant la préparation de vos registres. Son calcul déterministe accorde aux achats importants leur poids réel, contrairement à une simple moyenne trompeuse des prix affichés.
Saisissez chaque achat dans un lot distinct
Créez une ligne pour chaque achat de cryptomonnaie à inclure dans le calcul. Chaque ligne doit indiquer la quantité de jetons acquis et le prix payé pour un jeton. Les quantités fractionnaires sont acceptées : un achat de 0.015 jeton est valide dès lors que le nombre est supérieur à zéro. Les prix doivent eux aussi être des nombres positifs et finis. Utilisez une seule devise de cotation pour toutes les lignes : si le premier prix est exprimé en dollars américains, tous les suivants doivent l'être également. Le calculateur ne convertit aucune devise et ne consulte aucun taux de change ; il traite exactement les valeurs fournies. Ne regroupez pas des achats en calculant leur prix moyen avant la saisie, car vous perdriez l'effet des quantités différentes. Deux opérations au même prix peuvent rester séparées afin de préserver une piste d'audit claire. Le réglage facultatif des décimales ne commande que l'arrondi affiché et ne réduit pas volontairement la précision du calcul pondéré intermédiaire. Une requête peut traiter jusqu'à 10,000 achats.
Comprenez le calcul de la moyenne pondérée
Pour chaque achat, le calculateur multiplie la quantité par le prix unitaire afin d'obtenir le coût d'acquisition du lot. Il additionne ensuite séparément le coût de tous les lots et toutes les quantités. Le prix de revient moyen correspond au coût d'acquisition total divisé par la quantité totale. Il s'agit donc d'une moyenne pondérée : un achat de deux jetons influence le résultat deux fois plus qu'un achat d'un jeton. Une moyenne arithmétique simple des prix donnerait le même poids à chaque ligne et pourrait être très inexacte lorsque la taille des lots varie. Le coût total renvoyé se rapproche directement des données saisies, tandis que la quantité totale indique le dénominateur utilisé. Une sommation compensée limite les erreurs ordinaires de virgule flottante lorsque des valeurs très petites et très grandes sont combinées. Les résultats sont arrondis selon le nombre demandé de décimales, de zéro à douze. Le nombre d'achats permet en outre de vérifier que toutes les lignes prévues ont bien participé au calcul.
Employez le résultat dans son juste périmètre
Le prix de revient moyen constitue un repère pratique pour un portefeuille, mais il ne représente pas automatiquement une valeur prête pour une déclaration fiscale. Ce calculateur ne couvre que les acquisitions et suppose que le coût d'un lot correspond à sa quantité multipliée par son prix. Il n'ajoute ni frais de plateforme, ni frais de réseau, ni remises, transferts, cessions, revenus de minage, récompenses de staking, dons, bifurcations ou conversions de devises. Si des frais font légalement partie du coût d'acquisition dans votre situation, intégrez-les dans un prix unitaire ajusté avant de saisir la ligne et conservez les justificatifs de cet ajustement. Lors d'une vente, l'administration fiscale peut imposer l'identification spécifique, FIFO, LIFO ou une autre méthode propre à votre juridiction. Ces méthodes peuvent produire des plus-values réalisées différentes même si la moyenne actuelle est connue. Utilisez ce résultat pour planifier, suivre, rapprocher vos chiffres ou estimer un seuil de rentabilité, puis consultez les règles applicables dans votre pays. Une requête automatisée par API coûte $0.002.
Cas d’usage
Suivre le prix d'entrée d'un portefeuille
Regroupez des achats récurrents en un prix moyen pondéré par jeton pour afficher un indicateur clair dans votre tableau de bord.
Estimer un seuil de rentabilité
Comparez le coût d'acquisition moyen à un cours de marché avant de tenir compte des frais, impôts ou règles de cession.
Rapprocher les relevés d'une plateforme
Vérifiez que les quantités et coûts d'achat exportés produisent bien les totaux agrégés attendus.
Questions fréquentes
Quelle formule le calculateur utilise-t-il ?
Il divise la somme des produits quantité-prix de chaque achat par la somme de toutes les quantités acquises.
Pourquoi ne pas calculer directement la moyenne des prix ?
Une moyenne directe donne la même influence à un petit achat et à un achat important. La pondération reflète le nombre de jetons achetés à chaque prix.
Les quantités peuvent-elles être fractionnaires ?
Oui. Les quantités fractionnaires positives sont acceptées, ce qui convient aux actifs souvent achetés par petites fractions de jeton.
Le résultat inclut-il les frais de transaction ou de réseau ?
Non. Saisissez un prix ajusté si vous devez inclure des frais et conservez les pièces expliquant son calcul.
Ce montant correspond-il au prix de revient fiscal ?
Pas nécessairement. Le traitement fiscal dépend de la juridiction, de l'historique des opérations et de la méthode de cession autorisée. Le calculateur fournit uniquement une moyenne pondérée des acquisitions.
Combien coûte un calcul par API ?
Chaque requête API coûte $0.002. Le calcul dans le navigateur reste disponible sans requête API.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.crypto_cost_basis",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |