When buying a vehicle through Copart, the hammer price (your winning bid) is only the beginning. Copart charges several additional fees based on the vehicle type, the final price, and your membership status. This calculator uses the standard "Fee Schedule A" which applies to most passenger vehicles, SUVs, and light trucks.
Key Fees Explained
Buyer Fee: This is the primary auction fee. It is calculated on a sliding scale. For individuals without a business license, these fees are typically higher than for licensed dealers.
Internet/Virtual Bid Fee: If you bid online or through the mobile app (which most users do), Copart applies an internet convenience fee based on the bid amount.
Gate Fee: A flat fee (currently around $79) charged for the movement of the vehicle from the auction lot to the loading area.
Environmental Fee: A mandatory $10 fee for environmentally safe handling of salvage vehicles.
Payment Methods and Surcharges
Copart encourages "Secure" payment methods like wire transfers or cashier's checks. If you choose to pay with a credit card, debit card, or PayPal, you will likely incur a surcharge (usually around 3% of the total payment amount). To save money, many buyers opt for wire transfers.
Example Calculation
If you win a car for $3,500 as an individual and pay via wire transfer:
Bid: $3,500
Buyer Fee: ~$600 (Based on Standard Tier)
Internet Fee: ~$109
Gate & Env Fees: $89
Total: ~$4,298
Always remember that storage fees start accruing if you do not pick up the vehicle within the allotted timeframe (usually 2-3 days after the auction).
function calculateCopartFees() {
var bid = parseFloat(document.getElementById('bidAmount').value);
var memberType = document.getElementById('memberType').value;
var paymentMethod = document.getElementById('paymentMethod').value;
if (isNaN(bid) || bid <= 0) {
alert("Please enter a valid bid amount.");
return;
}
var buyerFee = 0;
var internetFee = 0;
var gateFee = 79.00;
var envFee = 10.00;
// Buyer Fee Logic (Approximated Standard Schedule A for Individuals/Business)
if (memberType === 'individual') {
if (bid < 100) buyerFee = 1.00;
else if (bid < 200) buyerFee = 40.00;
else if (bid < 400) buyerFee = 60.00;
else if (bid < 500) buyerFee = 80.00;
else if (bid < 600) buyerFee = 135.00;
else if (bid < 700) buyerFee = 150.00;
else if (bid < 800) buyerFee = 170.00;
else if (bid < 900) buyerFee = 195.00;
else if (bid < 1000) buyerFee = 220.00;
else if (bid < 1200) buyerFee = 255.00;
else if (bid < 1300) buyerFee = 280.00;
else if (bid < 1400) buyerFee = 305.00;
else if (bid < 1500) buyerFee = 325.00;
else if (bid < 1600) buyerFee = 350.00;
else if (bid < 1700) buyerFee = 370.00;
else if (bid < 1800) buyerFee = 390.00;
else if (bid < 2000) buyerFee = 425.00;
else if (bid < 2500) buyerFee = 490.00;
else if (bid < 3000) buyerFee = 550.00;
else if (bid < 3500) buyerFee = 610.00;
else if (bid < 4000) buyerFee = 675.00;
else if (bid < 5000) buyerFee = 750.00;
else buyerFee = bid * 0.15; // Rough estimate for high value
} else {
// Business logic (slightly discounted tiers)
if (bid < 1000) buyerFee = bid * 0.12;
else if (bid < 5000) buyerFee = 200 + (bid * 0.10);
else buyerFee = bid * 0.08;
}
// Internet Fee Logic
if (bid < 100) internetFee = 0;
else if (bid < 500) internetFee = 39.00;
else if (bid < 1000) internetFee = 59.00;
else if (bid < 1500) internetFee = 79.00;
else if (bid < 2000) internetFee = 89.00;
else if (bid < 4000) internetFee = 109.00;
else if (bid < 6000) internetFee = 139.00;
else if (bid < 8000) internetFee = 159.00;
else internetFee = 179.00;
var subtotal = bid + buyerFee + internetFee + gateFee + envFee;
var surcharge = 0;
if (paymentMethod === 'nonsecure') {
surcharge = subtotal * 0.03;
document.getElementById('cardSurchargeRow').style.display = 'flex';
} else {
document.getElementById('cardSurchargeRow').style.display = 'none';
}
var total = subtotal + surcharge;
// Display results
document.getElementById('resBid').innerText = "$" + bid.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('resBuyerFee').innerText = "$" + buyerFee.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('resInternetFee').innerText = "$" + internetFee.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('resGateFee').innerText = "$" + gateFee.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('resEnvFee').innerText = "$" + envFee.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('resSurcharge').innerText = "$" + surcharge.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('resTotal').innerText = "$" + total.toLocaleString(undefined, {minimumFractionDigits: 2});
document.getElementById('results').style.display = 'block';
}