Iran attacks Kurdistan Freedom Party bases in Iraq amid 2026 crisis

Iran full airspace closure
Iran has launched heavy attacks on the bases of the Kurdistan Freedom Party (PAK) in the Kurdistan Region of Iraq, as reported by the state broadcaster. These actions are part of Iran’s broader military strategy against Kurdish opposition groups amid the ongoing 2026 Kurdish–Iranian crisis. The attacks included the closure of border crossings with Iraq, reflecting a significant escalation in military operations from previous drone and missile strikes. This development comes as Iran intensifies its efforts to control the border area and suppress Kurdish insurgencies.
Key Takeaways
The recent heavy attacks by Iran on Kurdish bases suggest an escalation in military activity, which appears consistent with increased market support for a full airspace closure scenario.
Market pricing for a full airspace closure by July 31 has increased from 30% to 35.5% over the past 24 hours, indicating heightened concerns among market participants.
The broader context of the Iranian escalation may indicate a shift towards more aggressive military strategies, potentially affecting regional stability and market predictions.
What to Watch
The Civil Aviation Organization of Iran (CAOI) and Iranian State Television (IRIB) are key actors to monitor for any official announcements regarding airspace status. Developments that could support a YES outcome include a NOTAM declaring a full closure of Iranian airspace or a press release citing an immediate military threat. Conversely, any CAOI statements about reopening airspace or de-escalation indications from major powers like the United States could suggest a shift away from a total closure scenario. Markets will be closely watched as the situation evolves, particularly with the upcoming July 31 deadline.
Get live prediction-market analysis, powered by Vera. Sign up for Vera.
Disclosure: This article was edited by Estefano Gomez. For more information on how we create and review content, see our Editorial Policy.

Iran full airspace closure
Iran has launched heavy attacks on the bases of the Kurdistan Freedom Party (PAK) in the Kurdistan Region of Iraq, as reported by the state broadcaster. These actions are part of Iran’s broader military strategy against Kurdish opposition groups amid the ongoing 2026 Kurdish–Iranian crisis. The attacks included the closure of border crossings with Iraq, reflecting a significant escalation in military operations from previous drone and missile strikes. This development comes as Iran intensifies its efforts to control the border area and suppress Kurdish insurgencies.
Key Takeaways
The recent heavy attacks by Iran on Kurdish bases suggest an escalation in military activity, which appears consistent with increased market support for a full airspace closure scenario.
Market pricing for a full airspace closure by July 31 has increased from 30% to 35.5% over the past 24 hours, indicating heightened concerns among market participants.
The broader context of the Iranian escalation may indicate a shift towards more aggressive military strategies, potentially affecting regional stability and market predictions.
What to Watch
The Civil Aviation Organization of Iran (CAOI) and Iranian State Television (IRIB) are key actors to monitor for any official announcements regarding airspace status. Developments that could support a YES outcome include a NOTAM declaring a full closure of Iranian airspace or a press release citing an immediate military threat. Conversely, any CAOI statements about reopening airspace or de-escalation indications from major powers like the United States could suggest a shift away from a total closure scenario. Markets will be closely watched as the situation evolves, particularly with the upcoming July 31 deadline.
Get live prediction-market analysis, powered by Vera. Sign up for Vera.
Disclosure: This article was edited by Estefano Gomez. For more information on how we create and review content, see our Editorial Policy.
Loading more articles…
You’ve reached the end
Add us on Google
`;
}
function createMobileBanner(adHtml) {
return `
`;
}
function createDesktopBanner(adHtml) {
return `
`;
}
function createMobileArticle(article) {
const editorSlug = article.editor ? article.editor.toLowerCase().replace(/\s+/g, ‘-‘) : ”;
const captionHtml = article.imageCaption ? `
${article.imageCaption}
` : ”;
const authorHtml = article.isPressRelease ? ” : `
`;
return `
${captionHtml}
${article.subheadline ? `
${article.subheadline}
` : ”}
${createSocialShare()}
${authorHtml}
${getDisplayDateHTML(article, ‘text-muted-foreground text-xs block’)}
${article.content}
${article.isPressRelease ? ” : article.isSponsored ? `
Disclosure: This is sponsored content. It does not represent Crypto Briefing’s editorial views. For more information, see our Editorial Policy.
` : `
Disclosure: This article was edited by ${article.editor}. For more information on how we create and review content, see our Editorial Policy.
`}
`;
}
function createDesktopArticle(article, sidebarAdHtml) {
const editorSlug = article.editor ? article.editor.toLowerCase().replace(/\s+/g, ‘-‘) : ”;
const captionHtml = article.imageCaption ? `
${article.imageCaption}
` : ”;
const categoriesHtml = article.categories.map((cat, i) => {
const separator = i < article.categories.length – 1 ? ‘|’ : ”;
return `${cat}${separator}`;
}).join(”);
const desktopAuthorHtml = article.isPressRelease ? ” : `
`;
return `
${categoriesHtml}
${article.subheadline ? `
${article.subheadline}
` : ”}
${desktopAuthorHtml}
${getDisplayDateHTML(article, ‘text-muted-foreground text-sm block mb-4’)}
${createSocialShare()}
${captionHtml}
${article.content}
${article.isPressRelease ? ” : article.isSponsored ? `
Disclosure: This is sponsored content. It does not represent Crypto Briefing’s editorial views. For more information, see our Editorial Policy.
` : `
Disclosure: This article was edited by ${article.editor}. For more information on how we create and review content, see our Editorial Policy.
`}
`;
}
function loadMoreArticles() {
if (isLoading || !hasMore) return;
isLoading = true;
loadingText.classList.remove(‘hidden’);
// Build form data for AJAX request
const formData = new FormData();
formData.append(‘action’, ‘cb_lovable_load_more’);
formData.append(‘current_post_id’, lastLoadedPostId);
formData.append(‘primary_cat_id’, primaryCatId);
formData.append(‘before_date’, lastLoadedDate);
formData.append(‘loaded_ids’, loadedPostIds.join(‘,’));
fetch(ajaxUrl, {
method: ‘POST’,
body: formData
})
.then(response => response.json())
.then(data => {
isLoading = false;
loadingText.classList.add(‘hidden’);
if (data.success && data.has_more && data.article) {
const article = data.article;
const sidebarAdHtml = data.sidebar_ad_html || ”;
const betweenAdHtml = data.between_ad_html || ”;
// Check for duplicates
if (loadedPostIds.includes(article.id)) {
console.log(‘Duplicate article detected, skipping:’, article.id);
// Update pagination vars and try again
lastLoadedDate = article.publishDate;
loadMoreArticles();
return;
}
// Insert a between-articles banner before this article — but skip
// it for the FIRST AJAX-loaded article, since the server-side
// template already renders one banner between article 1 and the
// first AJAX-loaded article. loadedPostIds starts as
// [serverRenderedArticleId], so length > 1 means this is at least
// the 2nd AJAX-loaded article.
if (betweenAdHtml && loadedPostIds.length > 1) {
mobileContainer.insertAdjacentHTML(‘beforeend’, createMobileBanner(betweenAdHtml));
desktopContainer.insertAdjacentHTML(‘beforeend’, createDesktopBanner(betweenAdHtml));
}
// Add to mobile container
mobileContainer.insertAdjacentHTML(‘beforeend’, createMobileArticle(article));
// Add to desktop container with fresh ad HTML
desktopContainer.insertAdjacentHTML(‘beforeend’, createDesktopArticle(article, sidebarAdHtml));
// Update tracking variables
loadedPostIds.push(article.id);
lastLoadedPostId = article.id;
lastLoadedDate = article.publishDate;
// Execute any inline scripts in the new content (for ads)
const newArticle = desktopContainer.querySelector(`article[data-article-id=”${article.id}”]`);
if (newArticle) {
const scripts = newArticle.querySelectorAll(‘script’);
scripts.forEach(script => {
const newScript = document.createElement(‘script’);
if (script.src) {
newScript.src = script.src;
} else {
newScript.textContent = script.textContent;
}
document.body.appendChild(newScript);
});
}
// Render any Twitter/X embeds in the new article.
// widgets.js is already loaded (from the first article’s inline script),
// so we call load() directly instead of relying on a new script tag.
if (newArticle && window.twttr && window.twttr.widgets) {
window.twttr.widgets.load(newArticle);
}
// Re-init Timeago on newly injected elements
if (typeof jQuery !== ‘undefined’ && jQuery.fn.timeago) {
jQuery(‘time.timeago.should-format’).timeago();
}
// Trigger Ad Inserter if available
if (typeof ai_check_and_insert_block === ‘function’) {
ai_check_and_insert_block();
}
// Trigger Google Publisher Tag refresh if available
if (typeof googletag !== ‘undefined’ && googletag.pubads) {
googletag.cmd.push(function() {
googletag.pubads().refresh();
});
}
} else if (data.success && !data.has_more) {
hasMore = false;
endText.classList.remove(‘hidden’);
} else if (!data.success) {
console.error(‘AJAX error:’, data.error);
hasMore = false;
endText.textContent=”Error loading more articles”;
endText.classList.remove(‘hidden’);
}
})
.catch(error => {
console.error(‘Fetch error:’, error);
isLoading = false;
loadingText.classList.add(‘hidden’);
hasMore = false;
endText.textContent=”Error loading more articles”;
endText.classList.remove(‘hidden’);
});
}
// Set up IntersectionObserver
const observer = new IntersectionObserver(function(entries) {
if (entries[0].isIntersecting) {
loadMoreArticles();
}
}, { threshold: 0.1 });
observer.observe(loadingTrigger);
})();
All content is for informational purposes only and does not constitute investment advice. CryptoBriefing does not provide recommendations to buy, sell, or hold any asset or contract. See our Disclaimer & Risk Disclosure.
© Decentral Media and Crypto Briefing® 2026.

