ADVERTISEMENT

A loyal supporter spurned: 8 takeaways from Ramil Madriaga's House appearance

Published Apr 16, 2026 11:53 am

At A Glance

  • Detainee Ramil Madriaga's appearance before the House Committee on Justice last Tuesday, April 14 didn't disappoint in terms political drama, smack dab in the middle of Vice President Sara Duterte's impeachment proceedings.
Ramil Madriaga (House of Representatives)
Ramil Madriaga (House of Representatives)




Detainee Ramil Madriaga's appearance before the House Committee on Justice last Tuesday, April 14 didn't disappoint in terms political drama, smack dab in the middle of Vice President Sara Duterte's impeachment proceedings.
The alleged former intelligence officer and bagman read and submitted a 24-page supplementary affidavit that spanned roughly a decade of his high-level interactions with the Dutertes.
Reading between the lines of Madriaga's sworn statement, here are eight takeaways that may or may not have jumped out to the casual reader.
1. Madriaga was loyal to Digong before he was loyal to Sara
Madriaga revealed in his supplementary affidavit that it was former president Rodrigo Duterte who introduced him to then-Davao City Mayor Sara Duterte in 2018. He quoted the ex-president as saying, "Ram, ikaw na bahala kay Inday (Ram, you look after Inday from now on)."
Madriaga claimed to be an intelligence officer of the previous Duterte administration. His salary ranged from P100,000 to P150,000 a month.
Vice President Sara Duterte (left), former president Rodrigo Duterte (PPAB)
Vice President Sara Duterte (left), former president Rodrigo Duterte (PPAB)
2. Madriaga was emotionally invested in Sara's planned 2022 Palace run
Madriaga invested blood, sweat, and tears in Sara Duterte’s supposed presidential candidacy in the 2022 polls.
He said he helped establish the group Inday Sara is My President (ISIP), which according to him was used to organize and finance the latter's presidential bid before she eventually ran for vice president.
“Malungkot lang po, malungkot lang po (I'm just sad, I'm just sad),” a tearful Madriaga told the justice panel as he recounted the events of Sept. 29, 2021 when, "Despite our extensive campaign activities, I was informed by Sara that she will no longer run for president and will instead run for as BBM’s vice president."
3. ISIP was a well-oiled machine
The movement to position Sara Duterte as strongest presidential candidate had no shortage in terms of funding. ISIP organized chapters in several areas across the country to promote her candidacy,
Money from “friends and supporters” of ex-president Duterte, including Lin Wei Xiong, whom he identified as a financial officer of Pharmally Pharmaceuticals; Maestrado Lim, a Davao businessman; and Michael Yang, Pharmally's big boss, poured into ISIP.
Madriaga said he personally received P175 million in cash from Lin in mid-2021 at the basement parking of a Quezon City hotel, as well as an additional P100 million from Lim.
4. Trillanes lived in rent-free inside ex-president Duterte’s head
Former president Duterte went as far as to tap Madriaga to "monitor, operate, and sabotage" his crtiic, former senator Sonny Trillanes.
"However, PRRD was apprehensive in ordering the assassination of Sen. Trillanes because of the latter's support and contacts in the Armed Forces of the Philippines (AFP)," Madriaga said.
Trillanes is expected to appear in the justice panel's next impeachment hearing on April 22.
Former senator Antonio Trillanes IV (Ellson Quismorio/ MANILA BULLETIN)
Former senator Antonio Trillanes IV (Ellson Quismorio/ MANILA BULLETIN)
5. 'Dummy' Madriaga knows a lot about Duterte family cash transactions
“I admit that during PRRD’s term as President, I served as a dummy for the transfer of large amounts of money,” Madriaga said in his supplementary affidavit.
Madriaga said the accounts—spread across multiple banks in Makati, Pasig, and Pampanga—were used for transactions described to him as tied to “intelligence operations” and laundering.
“However, I have never personally opened these accounts or appeared before the said banks to process any application in relation thereto. These were opened by people close to PRRD who informed me that money will be transferred to these accounts for ‘intelligence operations’ and for laundering,” he claimed.
Madriaga's supplementary affidavit also included photos of managers checks issued to him as annexes.
6. 'UniTeam' fallout may have been triggered by failed Palace term-sharing
Ferdinand "Bongbong" Marcos Jr. (BBM) and Sara Duterte comprised the "UniTeam" duo that dominated the presidential and vice presidential race, respectively, during the 2022 elections.
But in 2024, Sara distanced herself from the Marcos administration by resigning as Department of Education (DepEd) secretary. Madriaga's affidavit offers a possible reason for this "break-up".
“After Sara took her oath as Vice-President, PRRD had a discussion with retired generals of the Armed Forces of the Philippines where I was also present regarding all possible scenarios for unseating BBM by 2025 in case he reneges on his promise,” Madriaga said.
“The general objective was to ensure that BBM will only serve less than four (4) years of his term as President, so that Sara, upon assumption to the presidency, will still be eligible for the presidency in 2028,” he added.
7. Sara Duterte chose Harry Roque over Madriaga
Madriaga says he being detained at the Bureau of Jail Management and Penology (BJMP) in Taguig City due to a kidnapping charge filed by former presidential spokesperson Harry Roque. He resents Sara for letting this happen.
"I felt betrayed that despite all my efforts to support Sara — to the extent of even committing high-risk acts for her and her family, she did not lift a finger to stop Atty. Roque, who is her known ally and supporter, from filing the unfounded kidnapping case against me,” Madriaga said.
He claimed that Roque filed the case "in retaliation after I tried to expose his land-grabbing activities in Mariveles, Bataan, together with his Philippine Offshore Gaming operators partners".
“As I previously mentioned, I was merely trying to assist the farmers of the said area who were supposed to be awarded their Certificate of Land Ownership Award by the Department of Agrarian Reform but fell victim to Atty. Roque’s activities,” he added.
Harry Roque (PPAB)
Harry Roque (PPAB)
8. Madriaga corroborates rumors of VP Duterte jail visit
In his supplementary affidavit, Madriaga corroborated rumors from last year that the Vice President visited BJMP in Camp Bagong Diwa, Taguig, and that the latter went to see him.
“Sometime in October 2025 after I got arrested for alleged kidnapping, I was called by Jail Warden Jose Marie Sabiniano (‘Sabiniano’) in his office. As I made my way to the office of Jail Warden Sabiniano, I was surprised to see Sara through the metal railings of the passageway. She smiled and waved at me,” Madriaga said.
He said that the Vice President apologized to him in an ensuing phone call. “When I said ‘Hello’, I recognized the voice of Sara and she asked me about my well-being and conditions inside the detention facility. She was also apologetic for failing to do something or assist me in my ongoing criminal case."

Related Tags

Impeachment Ramil Madriaga Sara Duterte Rodrigo Duterte Antonio Trillanes Harry Roque
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.