91³Ô¹ÏÍø

Watch CBS News

Lawrence Butler and Athletics finalize $65.5 million, 7-year contract

Outfielder Lawrence Butler and the Athletics finalized a $65.5 million, seven-year contract on Monday, another major investment for a team preparing to spend three seasons playing in a temporary minor league home.

The deal includes a team option for 2032 that could make the contract worth $81.5 million and escalators that could increase the value to $87.5 million.

A 24-year-old who was a sixth-round pick in the 2018 amateur draft, Butler was on Oakland's opening-day roster last year and was demoted to Triple-A Las Vegas on May 14 after hitting .179 with seven RBIs in his first 41 games.

He was recalled on June 18 and batted .291 over the rest of the season, finishing with a .262 average, 22 home runs and 18 stolen bases.

Butler gets a $3 million signing bonus, payable $1 million within 30 days' of the contract's approval by the commissioner's office, $1 million next Jan. 15 and $1 million on Jan. 15, 2027.

He receives salaries of $2.25 million this year, $3.25 million in 2026, $5 million in 2027, $8 million in 2028, $10 million in 2029, $14 million in 2030 and $16 million in 2031. The team option is for $20 million with a $4 million buyout, and the price can increase by a maximum of $6 million based on MVP voting: $1 million for each top six-10 finish from 2029-31 and $2 million for each top five finish in those years.

Butler earned $627,000 last season under a split contract that paid at a rate of the $740,000 minimum while in the major leagues and $121,826 while in the minors. He was on track to be eligible for salary arbitration after the 2026 season and for free agency following the 2029 World Series.

After finishing with the lowest payroll in the major leagues for three straight seasons, the A's have become a big-spender heading into the 2025 campaign, the first of at least three in West Sacramento's Sutter Health Park. In addition to Butler, they signed designated hitter/outfielder Brent Rooker to a $60 million, five-year contract and right-hander Luis Severino to a team-record $67 million, three-year deal.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });