Closed Thursday & Friday, November 27th and 28th. We will reopen on Saturday at 10am.

Trade In / Upgrade Program

This is a Beta Program. Your feedback helps shape the future of our trade in experience! We reserve the right to pause this service.

eBikes USA Trade-In Calculator

Estimated Trade-In Value

How the eBikes USA Trade-In Program Works

Our trade-in process is simple, transparent, and designed to help you upgrade with confidence:

  1. Fill out the form above to get started.
  2. Get a Quote: One of our eBike specialists will assess your bike and offer a competitive trade-in value.
  3. Apply Credit Toward a New eBike: Instantly apply the value of your trade toward a new eBike from our wide selection of top brands.

What Our Experts Look for When Evaluating Your eBike

When pricing a trade-in, our team uses a detailed inspection process focused on condition, components, market demand, and ride readiness. Here's what matters most:

1. Overall Condition

The physical state of the bike matters. A well-maintained bike will hold more value than one that's been heavily used without care.

2. Battery Health

The battery is one of the most important and expensive components on an eBike. Expert Tip: Bring the charger and any paperwork from the original purchase for verification.

3. Motor and Electronics

A functioning motor is crucial to your bike's trade-in value.

4. Tires, Drivetrain, and Brakes

We do a mechanical check to ensure your bike is safe to ride.

5. Make, Model, and Brand Demand

Some brands hold value better than others. High-end, name-brand bikes typically have more resale potential.

6. Modifications or Upgrades

If you've made upgrades like a higher-capacity battery, premium brakes, or a suspension seatpost, those can add value as long as they're compatible and properly installed.

Read More
+ result.low + ' - // ---------------------------------------------------------- // Display "Other" brand result (no dollar value — reach-out message) // ---------------------------------------------------------- function showOtherBrandResult() { document.querySelectorAll('.step').forEach(function(s) { s.classList.remove('active'); }); document.querySelector('.step[data-step="result"]').classList.add('active'); document.getElementById('progress').style.display = 'none'; var labelEl = document.querySelector('.result-label'); var valEl = document.getElementById('result-value'); var noteEl = document.getElementById('result-note'); labelEl.textContent = ''; valEl.textContent = 'Thank you!'; valEl.className = 'result-value positive'; valEl.style.fontSize = '32px'; noteEl.textContent = "We'll be in touch to discuss your trade-in."; } // ---------------------------------------------------------- // Submit form: collect data, POST to webhook, show result // ---------------------------------------------------------- function submitForm() { var btn = document.getElementById('contact-submit-btn'); btn.classList.add('loading'); btn.textContent = pendingOtherBrand ? 'Submitting' : 'Calculating'; btn.disabled = true; // Collect contact info var contact = { name: (document.getElementById('contact_name').value || '').trim(), email: (document.getElementById('contact_email').value || '').trim(), phone: (document.getElementById('contact_phone').value || '').trim() }; // "Other" brand early exit — skip calculation, send contact-only payload if (pendingOtherBrand) { var otherBrandName = ''; var otherEl = document.getElementById('input_0_other'); if (otherEl) otherBrandName = otherEl.value.trim(); var payload = { type: 'other_brand', contact: contact, brand: otherBrandName || 'Other', notificationEmail: config.settings['Notification Email'] || '', storeName: config.settings['Store Name'] || '', timestamp: new Date().toISOString() }; var webhookUrl = config.settings['Submission Webhook']; if (webhookUrl) { fetch(webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(function(err) { console.warn('Submission webhook failed:', err); }); } btn.classList.remove('loading'); showOtherBrandResult(); return; } // Collect calculator answers var answers = []; config.questions.forEach(function(q, idx) { var answer = ''; if (q.inputType === 'text' || q.inputType === 'number') { var el = document.getElementById('input_' + idx); answer = el ? el.value.trim() : ''; } else { answer = getSelectedLabel(idx) || ''; } answers.push({ question: q.question, answer: answer }); }); // Calculate result var isDisqualified = pendingDisqualify !== null; var result = calculateResult(isDisqualified, isDisqualified ? pendingDisqualify.offer : 0); // Build POST payload var payload = { contact: contact, answers: answers, result: { value: result.value, low: result.low, type: result.type }, notificationEmail: config.settings['Notification Email'] || '', storeName: config.settings['Store Name'] || '', timestamp: new Date().toISOString() }; // POST to submission webhook (non-blocking — result shows regardless) var webhookUrl = config.settings['Submission Webhook']; if (webhookUrl) { fetch(webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(function(err) { console.warn('Submission webhook failed:', err); }); } // Show result immediately (don't wait for POST) btn.classList.remove('loading'); showResult(result); } // ---------------------------------------------------------- // Utility // ---------------------------------------------------------- function escHtml(str) { var div = document.createElement('div'); div.textContent = str; return div.innerHTML; } // ---------------------------------------------------------- // Start // ---------------------------------------------------------- loadConfig(); })(); + result.value; valEl.style.display = ''; } else { valEl.textContent = ' // ---------------------------------------------------------- // Display "Other" brand result (no dollar value — reach-out message) // ---------------------------------------------------------- function showOtherBrandResult() { document.querySelectorAll('.step').forEach(function(s) { s.classList.remove('active'); }); document.querySelector('.step[data-step="result"]').classList.add('active'); document.getElementById('progress').style.display = 'none'; var labelEl = document.querySelector('.result-label'); var valEl = document.getElementById('result-value'); var noteEl = document.getElementById('result-note'); labelEl.textContent = ''; valEl.textContent = 'Thank you!'; valEl.className = 'result-value positive'; valEl.style.fontSize = '32px'; noteEl.textContent = "We'll be in touch to discuss your trade-in."; } // ---------------------------------------------------------- // Submit form: collect data, POST to webhook, show result // ---------------------------------------------------------- function submitForm() { var btn = document.getElementById('contact-submit-btn'); btn.classList.add('loading'); btn.textContent = pendingOtherBrand ? 'Submitting' : 'Calculating'; btn.disabled = true; // Collect contact info var contact = { name: (document.getElementById('contact_name').value || '').trim(), email: (document.getElementById('contact_email').value || '').trim(), phone: (document.getElementById('contact_phone').value || '').trim() }; // "Other" brand early exit — skip calculation, send contact-only payload if (pendingOtherBrand) { var otherBrandName = ''; var otherEl = document.getElementById('input_0_other'); if (otherEl) otherBrandName = otherEl.value.trim(); var payload = { type: 'other_brand', contact: contact, brand: otherBrandName || 'Other', notificationEmail: config.settings['Notification Email'] || '', storeName: config.settings['Store Name'] || '', timestamp: new Date().toISOString() }; var webhookUrl = config.settings['Submission Webhook']; if (webhookUrl) { fetch(webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(function(err) { console.warn('Submission webhook failed:', err); }); } btn.classList.remove('loading'); showOtherBrandResult(); return; } // Collect calculator answers var answers = []; config.questions.forEach(function(q, idx) { var answer = ''; if (q.inputType === 'text' || q.inputType === 'number') { var el = document.getElementById('input_' + idx); answer = el ? el.value.trim() : ''; } else { answer = getSelectedLabel(idx) || ''; } answers.push({ question: q.question, answer: answer }); }); // Calculate result var isDisqualified = pendingDisqualify !== null; var result = calculateResult(isDisqualified, isDisqualified ? pendingDisqualify.offer : 0); // Build POST payload var payload = { contact: contact, answers: answers, result: { value: result.value, low: result.low, type: result.type }, notificationEmail: config.settings['Notification Email'] || '', storeName: config.settings['Store Name'] || '', timestamp: new Date().toISOString() }; // POST to submission webhook (non-blocking — result shows regardless) var webhookUrl = config.settings['Submission Webhook']; if (webhookUrl) { fetch(webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(function(err) { console.warn('Submission webhook failed:', err); }); } // Show result immediately (don't wait for POST) btn.classList.remove('loading'); showResult(result); } // ---------------------------------------------------------- // Utility // ---------------------------------------------------------- function escHtml(str) { var div = document.createElement('div'); div.textContent = str; return div.innerHTML; } // ---------------------------------------------------------- // Start // ---------------------------------------------------------- loadConfig(); })(); + result.value; valEl.style.display = ''; } valEl.className = 'result-value ' + result.type; noteEl.textContent = result.message; } // ---------------------------------------------------------- // Display "Other" brand result (no dollar value — reach-out message) // ---------------------------------------------------------- function showOtherBrandResult() { document.querySelectorAll('.step').forEach(function(s) { s.classList.remove('active'); }); document.querySelector('.step[data-step="result"]').classList.add('active'); document.getElementById('progress').style.display = 'none'; var labelEl = document.querySelector('.result-label'); var valEl = document.getElementById('result-value'); var noteEl = document.getElementById('result-note'); labelEl.textContent = ''; valEl.textContent = 'Thank you!'; valEl.className = 'result-value positive'; valEl.style.fontSize = '32px'; noteEl.textContent = "We'll be in touch to discuss your trade-in."; } // ---------------------------------------------------------- // Submit form: collect data, POST to webhook, show result // ---------------------------------------------------------- function submitForm() { var btn = document.getElementById('contact-submit-btn'); btn.classList.add('loading'); btn.textContent = pendingOtherBrand ? 'Submitting' : 'Calculating'; btn.disabled = true; // Collect contact info var contact = { name: (document.getElementById('contact_name').value || '').trim(), email: (document.getElementById('contact_email').value || '').trim(), phone: (document.getElementById('contact_phone').value || '').trim() }; // "Other" brand early exit — skip calculation, send contact-only payload if (pendingOtherBrand) { var otherBrandName = ''; var otherEl = document.getElementById('input_0_other'); if (otherEl) otherBrandName = otherEl.value.trim(); var payload = { type: 'other_brand', contact: contact, brand: otherBrandName || 'Other', notificationEmail: config.settings['Notification Email'] || '', storeName: config.settings['Store Name'] || '', timestamp: new Date().toISOString() }; var webhookUrl = config.settings['Submission Webhook']; if (webhookUrl) { fetch(webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(function(err) { console.warn('Submission webhook failed:', err); }); } btn.classList.remove('loading'); showOtherBrandResult(); return; } // Collect calculator answers var answers = []; config.questions.forEach(function(q, idx) { var answer = ''; if (q.inputType === 'text' || q.inputType === 'number') { var el = document.getElementById('input_' + idx); answer = el ? el.value.trim() : ''; } else { answer = getSelectedLabel(idx) || ''; } answers.push({ question: q.question, answer: answer }); }); // Calculate result var isDisqualified = pendingDisqualify !== null; var result = calculateResult(isDisqualified, isDisqualified ? pendingDisqualify.offer : 0); // Build POST payload var payload = { contact: contact, answers: answers, result: { value: result.value, low: result.low, type: result.type }, notificationEmail: config.settings['Notification Email'] || '', storeName: config.settings['Store Name'] || '', timestamp: new Date().toISOString() }; // POST to submission webhook (non-blocking — result shows regardless) var webhookUrl = config.settings['Submission Webhook']; if (webhookUrl) { fetch(webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).catch(function(err) { console.warn('Submission webhook failed:', err); }); } // Show result immediately (don't wait for POST) btn.classList.remove('loading'); showResult(result); } // ---------------------------------------------------------- // Utility // ---------------------------------------------------------- function escHtml(str) { var div = document.createElement('div'); div.textContent = str; return div.innerHTML; } // ---------------------------------------------------------- // Start // ---------------------------------------------------------- loadConfig(); })();

Need Help or Info?

Your eBike needs service? Click here!

Interested in a new eBike? Click Here!

White logo of eBikes USA eagle.

Find Your Wings!

Join our mailing list to learn more about 
eBikes USA, our exclusive offers, and the freedom of owning an eBike!

Subscribe now

Schedule Service Drop off Appointment

Fill out the form below, and we will be in touch shortly to schedule your service appointment. Please note this is an appointment to drop off your bike for assesment.