PageSourceSearch

https://headframe.io/en/platform/

html headframe.io collected 2026-10-01 13:06:50 UTC 88,334 bytes, 765 lines download raw bytes

1<!doctype html> <html lang="en-GB" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> 
1<script>(function(){try{var n=navigator,u=n.userAgent||'';if(/YandexMetrika|YandexBot|Googlebot|Chrome-Lighthouse/i.test(u))return;if(n.webdriver===true||/HeadlessChrome|PhantomJS|Puppeteer|Playwright|Selenium/i.test(u)){window.hfIsBot=true;var noop=function(){};Object.defineProperty(window,'ym',{get:function(){return noop},set:function(){},configurable:false});}}catch(e){}})();</script>
1 <link rel="alternate" href="https://headframe.io/en/platform/" hreflang="en"/> <link rel="alternate" href="https://headframe.io/platform/" hreflang="ru"/> <!-- Search Engine Optimization by Rank Math PRO - https://rankmath.com/ --> <title>Platform - Headframe - Mining pool and hashrate management platform</title> <meta name="description" content="Explore the Headframe mining platform: a low-fee Bitcoin pool, hashrate management, tailored B2B solutions and fintech-grade security."/> <meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> <link rel="canonical" href="https://headframe.io/en/platform/"/> <meta property="og:locale" content="en_GB"/> <meta property="og:type" content="article"/> <meta property="og:title" content="Headframe Mining Platform: Pool and Hashrate Management"/> <meta property="og:description" content="Explore the Headframe mining platform: a low-fee Bitcoin pool, hashrate management, tailored B2B solutions and fintech-grade security."/> <meta property="og:url" content="https://headframe.io/en/platform/"/> <meta property="og:site_name" content="Headframe"/> <meta property="og:image" content="https://headframe.io/wp-content/uploads/2026/02/12345.webp"/> <meta property="og:image:secure_url" content="https://headframe.io/wp-content/uploads/2026/02/12345.webp"/> <meta property="og:image:width" content="856"/> <meta property="og:image:height" content="434"/> <meta property="og:image:alt" content="Headframe Mining Platform: Pool and Hashrate Management"/> <meta property="og:image:type" content="image/webp"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:title" content="Headframe Mining Platform: Pool and Hashrate Management"/> <meta name="twitter:description" content="Explore the Headframe mining platform: a low-fee Bitcoin pool, hashrate management, tailored B2B solutions and fintech-grade security."/> <meta name="twitter:image" content="https://headframe.io/wp-content/uploads/2026/02/12345.webp"/> <meta name="twitter:label1" content="Time to read"/> <meta name="twitter:data1" content="Less than a minute"/> 
1<script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https://headframe.io/en/platform/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://headframe.io","name":"Главная"}},{"@type":"ListItem","position":"2","item":{"@id":"https://headframe.io/en/platform/","name":"Platform"}}]}]}</script>
1 <!-- /Rank Math WordPress SEO plugin --> <style id="wp-img-auto-sizes-contain-inline-css"> img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} /*# sourceURL=wp-img-auto-sizes-contain-inline-css */ </style> <style id="classic-theme-styles-inline-css"> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} /*# sourceURL=/wp-includes/css/classic-themes.min.css */ </style>  <style id="global-styles-inline-css">
2:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
2--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
2.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
3/*# sourceURL=global-styles-inline-css */
4</style>
5 <link rel='stylesheet' id='style-css' href='https://headframe.io/wp-content/themes/headframe/assets/css/main.css?ver=1774006480' media='all'/> <style id="hfcalc-promo-banner-inline-css"> .hfcalc-promo-banner { align-items: center; background: linear-gradient(135deg, #fff45a 0%, #62f2a2 48%, #91d9ff 100%); border: 1px solid rgba(18, 32, 51, 0.12); border-radius: 16px; box-shadow: 0 14px 34px rgba(12, 108, 242, 0.18); color: #122033; display: grid; gap: 10px 14px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 13px 14px; text-decoration: none; } .hfcalc-promo-banner:hover, .hfcalc-promo-banner:focus-visible { box-shadow: 0 18px 42px rgba(12, 108, 242, 0.26); color: #122033; outline: 0; transform: translateY(-1px); } .hfcalc-promo-banner__badge { background: rgba(255, 255, 255, 0.82); border: 1px solid rgba(18, 32, 51, 0.14); border-radius: 999px; display: inline-flex; font-size: 13px; font-weight: 900; justify-content: center; line-height: 1; padding: 8px 10px; text-transform: uppercase; white-space: nowrap; } .hfcalc-promo-banner__copy { display: grid; gap: 3px; min-width: 0; } .hfcalc-promo-banner__copy strong { font-size: 17px; font-weight: 900; line-height: 1.15; } .hfcalc-promo-banner__copy small { color: rgba(18, 32, 51, 0.75); font-size: 14px; font-weight: 700; line-height: 1.25; } .hfcalc-promo-banner__cta { background: #122033; border-radius: 999px; color: #fff; display: inline-flex; font-size: 14px; font-weight: 900; justify-content: center; line-height: 1; padding: 10px 13px; text-align: center; white-space: nowrap; } .hfmpc-results__pool-card > .hfcalc-promo-banner { margin-top: 2px; width: 100%; } .hfmpc-results__row > .hfcalc-promo-banner { flex: 1 1 360px; margin-left: auto; max-width: 520px; } @media (max-width: 760px) { .hfcalc-promo-banner, .hfmpc-results__row > .hfcalc-promo-banner { align-items: flex-start; flex-basis: 100%; grid-template-columns: 1fr; margin-left: 0; max-width: none; width: 100%; } .hfcalc-promo-banner__badge, .hfcalc-promo-banner__cta { justify-self: flex-start; } .hfcalc-promo-banner__copy strong { font-size: 16px; } } /*# sourceURL=hfcalc-promo-banner-inline-css */ </style> <link rel='stylesheet' id='hflmc-maintenance-css' href='https://headframe.io/wp-content/plugins/headframe-local-mining-cluster/assets/maintenance.css?ver=20260903.1' media='all'/> <style> .smart-toc{ margin: var(--stoc-vspace) 0 var(--stoc-after) !important; padding: 22px 22px var(--stoc-pad-bot) !important; border: 1px solid rgba(0,0,0,.08); border-radius: 16px; background: #fff; font-size: var(--stoc-font); max-width: 520px; } .smart-toc__header{ display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(0,0,0,.08); padding-bottom:12px; margin-bottom:14px; } .smart-toc__title{ font-size: 18px; font-weight: 600; margin: 0; } .smart-toc__toggle{ cursor:pointer; border:0; background:rgba(0,0,0,.04); border-radius: 10px; padding: 6px 10px; transition: transform .15s; } .smart-toc.is-collapsed .smart-toc__body{ display:none; } .smart-toc.is-collapsed .smart-toc__toggle{ transform: rotate(-90deg); } .smart-toc__list, .smart-toc__sublist{ margin: 0 !important; list-style: none !important; } .smart-toc__list { padding-left: 0 !important; } /* Глубокий отступ для вложенности */ .smart-toc__sublist { padding-left: 32px !important; margin-top: 6px !important; border-left: 1px solid rgba(0,0,0,.04); } .smart-toc[data-list="ul"] .smart-toc__list, .smart-toc[data-list="ul"] .smart-toc__sublist{ list-style: disc !important; padding-left: 20px !important; } .smart-toc__item{ margin: var(--stoc-item-gap) 0 !important; line-height: 1.55 !important; } .smart-toc__link{ color: inherit; text-decoration: none; display: flex; gap: 10px; } .smart-toc__link:hover{ text-decoration: underline; } .smart-toc__num{ font-weight: bold; opacity: .7; flex-shrink: 0; min-width: 1.4em; } .smart-toc__body, .smart-toc__body * { font-size: var(--stoc-font) !important; } </style> <style>:root { --font-size-multiplier: 1; }</style>
vendor: 82 bytes, line 5
5<script async id="google_gtagjs" src="https://www.googletagmanager.com/gtag/js?id=
5G-DRJTCM6C73
vendor: 12 bytes, line 5
5"></script> 
5<script id="google_gtagjs-inline">
vendor: 124 bytes, line 6
6window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '
6G-DRJTCM6C73
vendor: 9 bytes, line 6
6', {} );
7</script>
7 <style>.hflmc-cluster{border:1px solid #cfe1ff;background:#f7fbff;border-radius:12px;margin:28px 0;padding:18px 20px}.hflmc-cluster>strong{color:#102033;display:block;font-size:18px;margin-bottom:12px}.hflmc-cluster>div{display:flex;flex-wrap:wrap;gap:9px}.hflmc-cluster a{border:1px solid #b8d2ff;border-radius:8px;color:#195ae6!important;font-size:15px;font-weight:700;padding:8px 11px;text-decoration:none!important}.hflmc-cluster a:hover{text-decoration:underline!important}.hflmc-cluster .hflmc-cluster__cta{background:#102033;border-color:#102033;color:#fff!important}[dir="rtl"] .hflmc-cluster{text-align:right}@media(max-width:767px){.hflmc-cluster{padding:15px}.hflmc-cluster>div{display:grid;grid-template-columns:1fr}.hflmc-cluster a{text-align:center}}</style><link rel="icon" href="https://headframe.io/wp-content/uploads/2023/12/cropped-favicon-32x32.png" sizes="32x32"/> <link rel="icon" href="https://headframe.io/wp-content/uploads/2023/12/cropped-favicon-192x192.png" sizes="192x192"/> <link rel="apple-touch-icon" href="https://headframe.io/wp-content/uploads/2023/12/cropped-favicon-180x180.png"/> <meta name="msapplication-TileImage" content="https://headframe.io/wp-content/uploads/2023/12/cropped-favicon-270x270.png"/> <style id="headframe-credit-btc-header-style"> .main-navigation__link[href*="credit-btc"] { background: linear-gradient(135deg, #435FFF 0%, #7A43FF 100%); color: #fff !important; padding: 10px 20px !important; border-radius: 50px; box-shadow: 0 4px 15px rgba(67, 95, 255, 0.3); transition: all 0.3s ease; margin-left: 10px; } .main-navigation__link[href*="credit-btc"]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(67, 95, 255, 0.5); opacity: 1 !important; color: #fff !important; } @media (max-width: 991px) { .main-navigation__link[href*="credit-btc"] { background: none; box-shadow: none; padding: 10px 0 !important; color: #435FFF !important; margin-left: 0; } } @media (min-width: 992px) and (max-width: 1199.98px) { .site-header .site-branding { margin-right: auto; } .site-header .main-navigation--desktop, .site-header .site-buttons { display: none !important; } .site-header .burger { display: block !important; } .mobile-sidebar .main-navigation__link[href*="buy-hashrate"], .mobile-sidebar .main-navigation__link[href*="credit-btc"] { background: none; box-shadow: none; padding: 10px 0 !important; color: #435FFF !important; margin-left: 0; transform: none; } } </style> <style id="wp-custom-css"> /* Нумерованные списки в контенте поста */ .post ol, .post ol li, .post h4, .post dl { font-size: var(--font-size-p); line-height: inherit; } .post dt { font-weight: 700; /* или bold */ } /* ИСПРАВЛЕНИЕ ТАБЛИЦ ДЛЯ МОБИЛЬНЫХ (HEADFRAME) */ @media (max-width: 767.98px) { /* 1. Отменяем блочное отображение, возвращаем табличное */ .post table { display: table !important; table-layout: auto !important; /* Позволяет колонкам подстраиваться под контент */ border-collapse: collapse !important; } .post table thead { /* Возвращаем шапку таблицы */ position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; display: table-header-group !important; } .post table tr { display: table-row !important; border-bottom: 1px solid var(--color-stroke) !important; } .post table td, .post table th { display: table-cell !important; text-align: center !important; /* Центрируем текст, как на десктопе */ font-size: 1.4rem !important; /* Немного уменьшаем шрифт для компактности */ padding: 10px 5px !important; width: auto !important; } /* 2. Скрываем пустые псевдо-элементы, которые сдвигали текст */ .post table td:before { display: none !important; content: "" !important; } /* 3. Включаем горизонтальный скролл, чтобы таблица не ломала верстку сайта */ .post figure.wp-block-table, .post .table-container { overflow-x: auto !important; -webkit-overflow-scrolling: touch; display: block !important; width: 100% !important; } } /* Превращаем ссылку в кнопку */ .main-navigation__link[href*="buy-hashrate"] { background: linear-gradient(135deg, #435FFF 0%, #7A43FF 100%); /* Фирменный градиент */ color: #fff !important; /* Белый текст */ padding: 10px 20px !important; /* Отступы внутри кнопки */ border-radius: 50px; /* Закругленные края */ box-shadow: 0 4px 15px rgba(67, 95, 255, 0.3); /* Красивая тень */ transition: all 0.3s ease; /* Плавная анимация */ margin-left: 10px; /* Отступ от соседнего пункта */ } /* Эффект при наведении */ .main-navigation__link[href*="buy-hashrate"]:hover { transform: translateY(-2px); /* Кнопка чуть всплывает */ box-shadow: 0 6px 20px rgba(67, 95, 255, 0.5); /* Тень становится ярче */ opacity: 1 !important; color: #fff !important; } /* Корректировка для мобильного меню, чтобы кнопка не ломала верстку там */ @media (max-width: 991px) { .main-navigation__link[href*="buy-hashrate"] { background: none; box-shadow: none; padding: 10px 0 !important; color: #435FFF !important; /* Просто делаем цветным на мобильном */ margin-left: 0; } } /* Стили для значка процента внутри инпута */ .input-with-suffix { display: flex; align-items: center; } .input-with-suffix .input-suffix { position: absolute; right: 15px; /* Отступ справа */ top: 50%; transform: translateY(-50%); color: rgba(255, 255, 255, 0.5); /* Полупрозрачный белый цвет, как на скрине */ font-weight: 600; pointer-events: none; /* Чтобы сквозь него можно было кликнуть в поле */ font-size: 16px; } /* Если тема светлая, можно перекрасить в темный */ .theme-light .input-with-suffix .input-suffix { color: rgba(0, 0, 0, 0.4); } /* Исправление скролла таблиц */ .post__content table, .post table, figure.wp-block-table { display: block !important; /* Превращаем таблицу в блок, чтобы работал скролл */ width: 100% !important; /* Растягиваем на всю ширину контейнера */ max-width: 100% !important; /* Не даем выйти за пределы экрана */ overflow-x: auto !important; /* Включаем горизонтальный скролл */ -webkit-overflow-scrolling: touch; /* Плавный скролл для iOS */ } /* Гарантия отсутствия горизонтального скролла у всей страницы */ html, body { overflow-x: hidden; max-width: 100vw; } </style> <!-- Ortto headframe2 capture code --> 
7<script>
8    window.ap3c = window.ap3c || {};
9    var ap3c = window.ap3c;
10    ap3c.cmd = ap3c.cmd || [];
11    ap3c.cmd.push(function() {
12        ap3c.init('aBioHK2xPPoPBpFPaGVhZGZyYW1lMg', 'https://capture-api-eu.ortto.app/');
13        ap3c.track({v: 0});
14    });
15    ap3c.activity = function(act) { ap3c.act = (ap3c.act || []); ap3c.act.push(act); };
16    var s, t; s = document.createElement('script'); s.type = 'text/javascript'; s.src = "https://cdneu.net/app.js";
17    t = document.getElementsByTagName('script')[0]; t.parentNode.insertBefore(s, t);
18</script>
18 <!-- Dashly BEGIN --> 
18<script type="text/javascript">
19!function(){function t(t,e){return function(){window.dashlyasync.push(t,arguments)}}if("undefined"==typeof dashly){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://cdn.dashly.app/api.min.js",document.getElementsByTagName("head")[0].appendChild(e),window.dashly={},window.dashlyasync=[],dashly.settings={};for(var n=["connect","track","identify","auth","onReady","addCallback","removeCallback","trackMessageInteraction"],a=0;a<n.length;a++)dashly[n[a]]=t(n[a])}}(),dashly.connect("9254-aceb0f3d806f63366f3c66c1464");
20</script>
20 <!-- Dashly END --> <!-- Mixpanel BEGIN --> 
20<script type="text/javascript">
21  (function (f, b) { if (!b.__SV) { var e, g, i, h; window.mixpanel = b; b._i = []; b.init = function (e, f, c) { function g(a, d) { var b = d.split("."); 2 == b.length && ((a = a[b[0]]), (d = b[1])); a[d] = function () { a.push([d].concat(Array.prototype.slice.call(arguments, 0))); }; } var a = b; "undefined" !== typeof c ? (a = b[c] = []) : (c = "mixpanel"); a.people = a.people || []; a.toString = function (a) { var d = "mixpanel"; "mixpanel" !== c && (d += "." + c); a || (d += " (stub)"); return d; }; a.people.toString = function () { return a.toString(1) + ".people (stub)"; }; i = "disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking start_batch_senders people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split( " "); for (h = 0; h < i.length; h++) g(a, i[h]); var j = "set set_once union unset remove delete".split(" "); a.get_group = function () { function b(c) { d[c] = function () { call2_args = arguments; call2 = [c].concat(Array.prototype.slice.call(call2_args, 0)); a.push([e, call2]); }; } for ( var d = {}, e = ["get_group"].concat( Array.prototype.slice.call(arguments, 0)), c = 0; c < j.length; c++) b(j[c]); return d; }; b._i.push([e, f, c]); }; b.__SV = 1.2; e = f.createElement("script"); e.type = "text/javascript"; e.async = !0; e.src = "undefined" !== typeof MIXPANEL_CUSTOM_LIB_URL ? MIXPANEL_CUSTOM_LIB_URL : "file:" === f.location.protocol && "//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//) ? "https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js" : "//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"; g = f.getElementsByTagName("script")[0]; g.parentNode.insertBefore(e, g); } })(document, window.mixpanel || []);
22  mixpanel.init("0a318381bfb94e05951f30b51cd959ac", {api_host: "https://api-eu.mixpanel.com", track_pageview: true, debug: true});
23    function trackWithPrefix(eventName, props = {}) {
24    const path = window.location.pathname;
25    const searchParams = new URLSearchParams(window.location.search);
26
27    const utmProps = {};
28    const utmKeys = ['utm_source', 'utm_campaign', 'utm_medium'];
29    for (const key of utmKeys) {
30        const value = searchParams.get(key);
31        if (value) {
32            utmProps[key] = value;
33        }
34    }
35
36    const matchTable = [
37        { regex: /^\/(?:[a-z]{2}(?:-[a-z]{2})?)?\/?miningpool(?:\/|$)/i, prefix: "MP_" },
38        { regex: /^\/(?:[a-z]{2}(?:-[a-z]{2})?)?\/?hashrate(?:\/|$)/i, prefix: "HM _" },
39        { regex: /^\/(?:[a-z]{2}(?:-[a-z]{2})?)?\/?saas(?:\/|$)/i, prefix: "WL_" },
40        { regex: /^\/(?:[a-z]{2}(?:-[a-z]{2})?)?\/?blog(-.*)?\/?$/i, prefix: "Blog_" },
41        { regex: /^\/(?:[a-z]{2}(?:-[a-z]{2})?)?\/?blog(-.*)?\/[^\/]+(?:\/)?$/i, prefix: "Blogpost_" },
42    ];
43
44    let prefix = "";
45    for (const { regex, prefix: p } of matchTable) {
46        if (regex.test(path)) {
47            prefix = p;
48            break;
49        }
50    }
51
52    const finalEventName = prefix ? `${prefix}${eventName}` : eventName;
53    mixpanel.track(finalEventName, { ...props, ...utmProps });
54}
55</script>
55 <!-- Mixpanel END --> <!-- Google tag (gtag.js) -->
vendor: 64 bytes, line 55
55 <script async src="https://www.googletagmanager.com/gtag/js?id=
55G-KEMJ5GBR6R
vendor: 12 bytes, line 55
55"></script> 
55<script>
56  
vendor: 138 bytes, lines 56-60
56window.dataLayer = window.dataLayer || [];
57  function gtag(){dataLayer.push(arguments);}
58  gtag('js', new Date());
59
60  gtag('config', '
60G-KEMJ5GBR6R
vendor: 5 bytes, line 60
60');
61</script>
61 </head> <body class="wp-singular page-template-default page page-id-7905 wp-theme-headframe"> <div id="page" class="site"> <header id="masthead" class="site-header"> <div class="container"> <div class="site-header__wrap"> <div class="site-branding"> <a href="https://headframe.io/en/" rel="home" class="site-branding__link"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/logo.svg" alt="Headframe"> </a> <div class="language-select language-select--desktop"> <label class="custom-select "> <select name="lang_choice_1" id="lang_choice_1" class="pll-switcher-select"> <option value="https://headframe.io/en/platform/" lang="en-GB" selected='selected'>en</option> <option value="https://headframe.io/platform/" lang="ru-RU">ru</option> </select> 
61<script>
62					document.getElementById( "lang_choice_1" ).addEventListener( "change", function ( event ) { location.href = event.currentTarget.value; } )
63				</script>
63 </label> </div> </div><!-- .site-branding --> <nav id="site-navigation" class="main-navigation main-navigation--desktop"> <ul class="main-navigation__list"><li class="main-navigation__item"><a href="https://headframe.io/en/platform/" class="main-navigation__link">Platform</a></li></li> <li class="main-navigation__item"><a href="https://headframe.io/en/hashrate/" class="main-navigation__link">Hashrate Management</a></li></li> <li class="main-navigation__item"><a href="https://headframe.io/en/saas/" class="main-navigation__link">Whitelabel</a></li></li> <li class="main-navigation__item"><a href="https://headframe.io/en/blog-en/" class="main-navigation__link">Blog</a></li></li> </ul> </nav><!-- #site-navigation --> <div class="site-buttons"> <a href="https://pool.headframe.io/auth/registration" target="_blank" rel="noopener nofollow" class="btn btn--outlined btn--sm">Login</a> <a href="https://pool.headframe.io/auth/registration" target="_blank" rel="noopener nofollow" class="btn btn--primary btn--sm">Sign Up</a> </div> <!-- <div class="burger"> <input class="js-open-nav" name="nav" type="checkbox" /> <svg> <use xlink:href="#menu" /> <use xlink:href="#menu" /> </svg> </div> --> <div class="burger js-open-nav"> <div> <span></span> <span></span> </div> </div> <!-- SVG --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 56" id="menu"> <path d="M48.33,45.6H18a14.17,14.17,0,0,1,0-28.34H78.86a17.37,17.37,0,0,1,0,34.74H42.33l-21-21.26L47.75,4"/> </symbol> </svg> </div> </div> <div class="js-mobile-nav mobile-sidebar"> <nav class="main-navigation main-navigation--mobile"> <div class="main-navigation__buttons"> <a href="https://pool.headframe.io/auth/registration" target="_blank" rel="noopener nofollow" class="btn btn--primary btn--sm">Sign Up</a> <a href="https://pool.headframe.io/auth/registration" target="_blank" rel="noopener nofollow" class="btn btn--outlined btn--sm">Login</a> </div> <ul class="main-navigation__list"><li class="main-navigation__item"><a href="https://headframe.io/en/platform/" class="main-navigation__link">Platform</a></li></li> <li class="main-navigation__item"><a href="https://headframe.io/en/hashrate/" class="main-navigation__link">Hashrate Management</a></li></li> <li class="main-navigation__item"><a href="https://headframe.io/en/saas/" class="main-navigation__link">Whitelabel</a></li></li> <li class="main-navigation__item"><a href="https://headframe.io/en/blog-en/" class="main-navigation__link">Blog</a></li></li> </ul> <div class="language-select language-select--mobile"> <ul> <li class="lang-item lang-item-3 lang-item-en current-lang lang-item-first"><a lang="en-GB" hreflang="en-GB" href="https://headframe.io/en/platform/">en</a></li> <li class="lang-item lang-item-6 lang-item-ru"><a lang="ru-RU" hreflang="ru-RU" href="https://headframe.io/platform/">ru</a></li> </ul> </div> </nav> </div> </header><!-- #masthead --> <main id="primary" class="site-main frontpage-main"> <section class="section-banner"> <div class="container banner"> <div class="row"> <div class="col-6"> <div class="banner__content"> <div class="banner__subtitle"> <div class="trustpilot trustpilot--short"> <a href="https://www.trustpilot.com/review/headframe.io?languages=all" class="trustpilot__link" target="_blank" rel="noopener nofollow"> <div class="trustpilot__score"> <div class="trustpilot__stars"> <svg width="125" height="24" viewBox="0 0 125 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_697_2600)"> <mask id="mask0_697_2600" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="125" height="24"> <path d="M17.4375 0H6C2.68629 0 0 2.68629 0 6V18C0 21.3137 2.68629 24 6 24H17.4375C20.7512 24 23.4375 21.3137 23.4375 18V6C23.4375 2.68629 20.7512 0 17.4375 0Z" fill="#DCDCE6"/> <path d="M42.8281 0H31.3906C28.0769 0 25.3906 2.68629 25.3906 6V18C25.3906 21.3137 28.0769 24 31.3906 24H42.8281C46.1418 24 48.8281 21.3137 48.8281 18V6C48.8281 2.68629 46.1418 0 42.8281 0Z" fill="#DCDCE6"/> <path d="M68.2188 0H56.7813C53.4675 0 50.7812 2.68629 50.7812 6V18C50.7812 21.3137 53.4675 24 56.7812 24H68.2188C71.5325 24 74.2188 21.3137 74.2188 18V6C74.2188 2.68629 71.5325 0 68.2188 0Z" fill="#DCDCE6"/> <path d="M93.6094 0H82.1719C78.8582 0 76.1719 2.68629 76.1719 6V18C76.1719 21.3137 78.8582 24 82.1719 24H93.6094C96.9231 24 99.6094 21.3137 99.6094 18V6C99.6094 2.68629 96.9231 0 93.6094 0Z" fill="#DCDCE6"/> <path d="M119 0H107.563C104.249 0 101.562 2.68629 101.562 6V18C101.562 21.3137 104.249 24 107.562 24H119C122.314 24 125 21.3137 125 18V6C125 2.68629 122.314 0 119 0Z" fill="#DCDCE6"/> </mask> <g mask="url(#mask0_697_2600)"> <rect width="151.278" height="28.4091" fill="#DCDCDC"/> <rect width="116.477" height="28.4091" fill="#435FFF"/> </g> <path d="M11.7187 16.1758L15.2832 15.2508L16.7725 19.9508L11.7187 16.1758ZM19.9219 10.1008H13.6475L11.7187 4.05078L9.79004 10.1008H3.51562L8.59375 13.8508L6.66504 19.9008L11.7432 16.1508L14.8682 13.8508L19.9219 10.1008Z" fill="white"/> <path d="M37.1094 16.1758L40.6738 15.2508L42.1631 19.9508L37.1094 16.1758ZM45.3125 10.1008H39.0381L37.1094 4.05078L35.1807 10.1008H28.9062L33.9844 13.8508L32.0557 19.9008L37.1338 16.1508L40.2588 13.8508L45.3125 10.1008Z" fill="white"/> <path d="M62.5 16.1758L66.0645 15.2508L67.5537 19.9508L62.5 16.1758ZM70.7031 10.1008H64.4287L62.5 4.05078L60.5713 10.1008H54.2969L59.375 13.8508L57.4463 19.9008L62.5244 16.1508L65.6494 13.8508L70.7031 10.1008Z" fill="white"/> <path d="M87.8906 16.1758L91.4551 15.2508L92.9443 19.9508L87.8906 16.1758ZM96.0938 10.1008H89.8193L87.8906 4.05078L85.9619 10.1008H79.6875L84.7656 13.8508L82.8369 19.9008L87.915 16.1508L91.04 13.8508L96.0938 10.1008Z" fill="white"/> <path d="M113.281 16.1758L116.846 15.2508L118.335 19.9508L113.281 16.1758ZM121.484 10.1008H115.21L113.281 4.05078L111.353 10.1008H105.078L110.156 13.8508L108.228 19.9008L113.306 16.1508L116.431 13.8508L121.484 10.1008Z" fill="white"/> </g> <defs> <clipPath id="clip0_697_2600"> <rect width="125" height="24" fill="white"/> </clipPath> </defs> </svg> </div> <span><strong>4.4</strong> based on <strong> reviews</strong></span> </div> </a> </div> </div> <h1 class="banner__title page-title">BTC Mining Pool and&nbsp;Hashrate Management Platform</h1> <p class="banner__desc">Headframe helps miners to optimize their operations and earn more with our mining products toolset.</p> <div class="banner__buttons"> <a href="https://pool.headframe.io/auth/registration" target="_blank" rel="noopener nofollow" class="btn btn--primary btn--icon">Sign Up</a> </div> </div> </div> <div class="col-6"> <div class="banner__aside"> <div class="composition saas-composition-2"> <div class="composition__wrapper"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/sc/chart_en.png" width="493" height="464" class="composition composition__layer composition__layer--1" alt="BTC Mining Pool and&nbsp;Hashrate Management Platform"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/sc/payments_en.png" loading="lazy" width="406" height="319" class="composition composition__layer composition__layer--2" alt="BTC Mining Pool and&nbsp;Hashrate Management Platform"> </div> </div> </div> </div> </div> </div> <div class="container banner-offer"> <div class="banner-offer__box"> <h3 class="banner-offer__message"> Large hashrate or custom project? </h3> <a href="https://t.me/headframe_sales" target="_blank" rel="noopener nofollow" class="btn btn--white banner-offer__link">Contact us</a> </div> </div> </section> <section class="section-features"> <div class="container"> <div class="row"> <div class="col-4 u-flex"> <div class="box box--gradient"> <div class="icon icon--white"> <i class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <path fill-rule="evenodd" d="M8.64 4.813h11.187A6.093 6.093 0 1 1 19.812 17h-.001l.003-1v1H8.64V4.813Zm2 2V15h9.176a4.091 4.091 0 0 0 4.104-4.093 4.094 4.094 0 0 0-4.093-4.094H10.64Z" clip-rule="evenodd"/> <path fill-rule="evenodd" d="M8.64 15h11.187a6.094 6.094 0 0 1 0 12.187H8.64V15Zm2 2v8.187h9.187a4.094 4.094 0 0 0 0-8.187H10.64ZM6.093 4.813h4.547v2H6.093v-2Z" clip-rule="evenodd"/> <path fill-rule="evenodd" d="M6.093 25.186h4.547v2H6.093v-2ZM14.453 1v5.813h-2V1h2ZM19.54
636 1v5.813h-2V1h2ZM14.453 25.186V31h-2v-5.814h2ZM19.546 25.186V31h-2v-5.814h2Z" clip-rule="evenodd"/> </svg> </i> </div> <h3 class="box__title">BTC Mining Pool</h3> <div class="box__desc"> <p>Lowest fees on the market, free daily FPPS payouts, fast and friendly support, modern UX and unique features for large miners and hashrate managers.</p> </div> <div class="box__buttons"> <a href="https://headframe.io/en/" class="btn btn--white">Explore</a> </div> </div> </div> <div class="col-4 u-flex"> <div class="box box--lg"> <div class="icon"> <i class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <g clip-path="url(#a)"> <path fill-rule="evenodd" d="M10.04 8.053c-1.097 0-1.987.89-1.987 1.987v11.92c0 1.097.89 1.987 1.987 1.987h11.92c1.097 0 1.987-.89 1.987-1.987V10.04c0-1.097-.89-1.987-1.987-1.987H10.04ZM6.053 10.04a3.987 3.987 0 0 1 3.987-3.987h11.92a3.987 3.987 0 0 1 3.987 3.987v11.92a3.987 3.987 0 0 1-3.987 3.987H10.04a3.987 3.987 0 0 1-3.987-3.987V10.04Z" clip-rule="evenodd"/> <path fill-rule="evenodd" d="M8.613 7.053V.667h2v6.386h-2ZM15 7.053V.667h2v6.386h-2ZM21.387 7.053V.667h2v6.386h-2ZM8.613 31.333v-6.386h2v6.386h-2ZM15 31.333v-6.386h2v6.386h-2ZM21.387 31.333v-6.386h2v6.386h-2ZM7.053 23.387H.667v-2h6.386v2ZM7.053 17H.667v-2h6.386v2ZM7.053 10.613H.667v-2h6.386v2ZM31.333 23.387h-6.386v-2h6.386v2ZM31.333 17h-6.386v-2h6.386v2ZM31.333 10.613h-6.386v-2h6.386v2Z" clip-rule="evenodd"/> <path d="M21.107 12.173a1.28 1.28 0 1 0 0-2.56 1.28 1.28 0 0 0 0 2.56Z"/> </g> <defs> <clipPath id="a"> <path fill="#fff" d="M0 0h32v32H0z"/> </clipPath> </defs> </svg> </i> </div> <h3 class="box__title">Hashrate Management</h3> <div class="box__desc"> <p>Control Hub is unique feature on Headframe pool, allowing hashrate managers, large miners and hostings to control hashrate easely and earn more.</p> </div> <div class="box__buttons"> <a href="https://headframe.io/en/hashrate/" class="btn btn--primary">Explore</a> </div> </div> </div> <div class="col-4 u-flex"> <div class="box--lg box"> <div class="icon"> <i class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <g fill="#fff" fill-rule="evenodd" clip-path="url(#a)" clip-rule="evenodd"> <path d="m8.428 19.893 3.132-3.133-1.414-1.414L5.6 19.893l4.547 4.547 1.414-1.414-3.132-3.133ZM21.787 15.346l4.547 4.547-4.547 4.547-1.414-1.414 3.133-3.133-3.133-3.133 1.414-1.414ZM19.353 16.607l-5.107 7.68-1.665-1.107 5.106-7.68 1.666 1.107Z"/> <path d="M.907.987H31.04V31.12H.907V.987Zm2 2V29.12H29.04V2.987H2.907Z"/> <path d="M.907.987H31.04v9.68H.907V.987Zm2 2v5.68H29.04v-5.68H2.907Z"/> <path d="M8.293 6.827h-2.56v-2h2.56v2ZM13.414 6.827h-2.56v-2h2.56v2ZM18.52 6.827h-2.546v-2h2.546v2Z"/> </g> <defs> <clipPath id="a"> <path fill="#fff" d="M0 0h32v32H0z"/> </clipPath> </defs> </svg> </i> </div> <h3 class="box__title">Tailored solutions</h3> <div class="box__desc"> <p>We have experience and track record of launching different products based on hashrate: mining pool, hosted and cloud mining platforms and much more.</p> </div> <div class="box__buttons"> <a href="https://headframe.io/en/saas/" class="btn btn--primary">Explore</a> </div> </div> </div> </div> </div> <div class="container"> <div class="trustpilot trustpilot--full"> <a href="https://www.trustpilot.com/review/headframe.io?languages=all" class="trustpilot__link" target="_blank" rel="noopener nofollow"> <div class="trustpilot__logo"> </div> <div class="trustpilot__score"> <div class="trustpilot__stars"> <svg width="176" height="34" viewBox="0 0 176 34" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_697_2698)"> <mask id="mask0_697_2698" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="176" height="34"> <path d="M27 0H6C2.68629 0 0 2.68629 0 6V28C0 31.3137 2.68629 34 6 34H27C30.3137 34 33 31.3137 33 28V6C33 2.68629 30.3137 0 27 0Z" fill="#DCDCE6"/> <path d="M62.75 0H41.75C38.4363 0 35.75 2.68629 35.75 6V28C35.75 31.3137 38.4363 34 41.75 34H62.75C66.0637 34 68.75 31.3137 68.75 28V6C68.75 2.68629 66.0637 0 62.75 0Z" fill="#DCDCE6"/> <path d="M98.5 0H77.5C74.1863 0 71.5 2.68629 71.5 6V28C71.5 31.3137 74.1863 34 77.5 34H98.5C101.814 34 104.5 31.3137 104.5 28V6C104.5 2.68629 101.814 0 98.5 0Z" fill="#DCDCE6"/> <path d="M134.25 0H113.25C109.936 0 107.25 2.68629 107.25 6V28C107.25 31.3137 109.936 34 113.25 34H134.25C137.564 34 140.25 31.3137 140.25 28V6C140.25 2.68629 137.564 0 134.25 0Z" fill="#DCDCE6"/> <path d="M170 0H149C145.686 0 143 2.68629 143 6V28C143 31.3137 145.686 34 149 34H170C173.314 34 176 31.3137 176 28V6C176 2.68629 173.314 0 170 0Z" fill="#DCDCE6"/> </mask> <g mask="url(#mask0_697_2698)"> <rect width="213" height="40" fill="#DCDCDC"/> <rect width="164" height="40" fill="#435FFF"/> </g> <path d="M16.4992 22.9154L21.518 21.6049L23.6148 28.2633L16.4992 22.9154ZM28.0492 14.3091H19.2148L16.4992 5.73828L13.7836 14.3091H4.94922L12.0992 19.6216L9.38359 28.1924L16.5336 22.8799L20.9336 19.6216L28.0492 14.3091Z" fill="white"/> <path d="M52.2492 22.9154L57.268 21.6049L59.3648 28.2633L52.2492 22.9154ZM63.7992 14.3091H54.9648L52.2492 5.73828L49.5336 14.3091H40.6992L47.8492 19.6216L45.1336 28.1924L52.2836 22.8799L56.6836 19.6216L63.7992 14.3091Z" fill="white"/> <path d="M87.9992 22.9154L93.018 21.6049L95.1149 28.2633L87.9992 22.9154ZM99.5492 14.3091H90.7148L87.9992 5.73828L85.2836 14.3091H76.4492L83.5992 19.6216L80.8836 28.1924L88.0336 22.8799L92.4336 19.6216L99.5492 14.3091Z" fill="white"/> <path d="M123.749 22.9154L128.768 21.6049L130.865 28.2633L123.749 22.9154ZM135.299 14.3091H126.465L123.749 5.73828L121.034 14.3091H112.199L119.349 19.6216L116.634 28.1924L123.784 22.8799L128.184 19.6216L135.299 14.3091Z" fill="white"/> <path d="M159.499 22.9154L164.518 21.6049L166.615 28.2633L159.499 22.9154ZM171.049 14.3091H162.215L159.499 5.73828L156.784 14.3091H147.949L155.099 19.6216L152.384 28.1924L159.534 22.8799L163.934 19.6216L171.049 14.3091Z" fill="white"/> </g> <defs> <clipPath id="clip0_697_2698"> <rect width="176" height="34" fill="white"/> </clipPath> </defs> </svg> </div> <span><strong>4.4</strong> out of 5</strong></span> </div> </a> </div> </div> </section> <section class="section-steps"> <div class="container"> <div class="section-header"> <h2 class="section-header__title">Security By Design</h2> </div> </div> <div class="steps"> <div class="step step--1"> <div class="container"> <div class="row u-space-between"> <div class="col-6"> <div class="step__header"> <div class="icon"> <i class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <path fill-rule="evenodd" d="M3.463 5.078c-.392.347-.463.598-.463.735s.07.388.463.736c.392.346 1.015.704 1.871 1.024 1.705.638 4.128 1.054 6.853 1.054 2.725 0 5.147-.416 6.852-1.054.856-.32 1.48-.678 1.871-1.024.393-.348.463-.599.463-.736s-.07-.388-.463-.735c-.391-.346-1.015-.704-1.87-1.025C17.333 3.415 14.911 3 12.186 3c-2.725 0-5.148.415-6.853 1.053-.856.32-1.48.679-1.87 1.025Zm1.17-2.898C6.615 1.438 9.286 1 12.187 1c2.9 0 5.572.438 7.553 1.18.988.37 1.856.834 2.496 1.4.638.565 1.137 1.317 1.137 2.233 0 .916-.5 1.669-1.137 2.233-.64.567-1.509 1.03-2.496 1.4-1.981.742-4.652 1.18-7.553 1.18s-5.572-.438-7.554-1.18c-.987-.37-1.856-.833-2.495-1.4C1.499 7.482 1 6.73 1 5.813c0-.916.5-1.668 1.138-2.233.64-.566 1.508-1.03 2.495-1.4ZM2.685 14.845C1.783 14.23 1 13.344 1 12.186h2c0 .177.124.537.811 1.006.661.45 1.672.872 2.972 1.196 1.768.418 3.58.624 5.397.612h.01c.814.003 1.627-.04 2.435-.128l.217 1.989c-.882.096-1.768.142-2.654.139a24.788 24.788 0 0 1-5.872-.667l-.01-.003c-1.432-.356-2.692-.853-3.62-1.485ZM2.138 20.78C1.499 20.215 1 19.463 1 18.547h2c0 .137.07.388.463.736.391.346 1.015.703 1.87 1.024 1.706.638 4.128 1.053 6.854 1.053.895 0 1.686-.002 2.414-.11l.292 1.98c-.887.13-1.815.13-2.67.13h-.036c-2.902 0-5.572-.438-7.554-1.18-.987-.37-1.856-.834-2.495-1.4Z" clip-rule="evenodd"/> <path fill-rule="evenodd" d="M1 5.813h2v19.094H1V5.813ZM23.36 5.813v6.374h-2V5.813h2ZM2.136 27.146C1.497 26.578 1 25.825 1 24.907h2c0 .144.073.397.465.746.39.347 1.014.706 1.87 1.027 1.704.64 4.126 1.054 6.852 1.054h.006c1.526.01 3.049-.136 4.545-.434l.39 1.962a24.619 24.619 0 0 1-4.944.472c-2.9 0-5.57-.438-7.552-1.182-.987-.37-1.856-.836-2.496-1.404ZM23.638 13.693l7.429 2.112v5.757a9.747 9.747 0 0 1-7.147 9.375l-.13.036h-.364l-.141-.042a9.773 9.773 0 0 1-6.951-9.328v-5.795l7.304-2.115Zm.005 2.08-5.31 1.538v4.287a7.773 7.773 0 0 0 5.29 7.342 7.747 7.747 0 0 0 5.444-7.381v-4.244l-5.424-1.541Z" clip-rule="evenodd"/> </svg> </i> </div> <h3 class="step__title">Compliant Personal Data Management</h3> </div> </div> <div class="col-5"> <div class="step__desc styled-list"> <ul> <li>Local regulations compliance</li> <li>Data deletion on request anytime</li> <li>Separate database with controlled access</li> </ul> </div> </div> </div> </div> </div> <div class="step step--2"> <div class="container"> <div class="row u-space-between"> <div class="col-6"> <div class="step__header"> <div class="icon"> <i class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <path fill-rule="evenodd" d="m16 .98 13.733 2.747V14.48a16.827 16.827 0 0 1-13.538 16.501L16 31.02l-.195-.039a16.826 16.826 0 0 1-13.538-16.5V3.726L16 .98ZM4.267 5.367v9.113A14.827 14.827 0 0 0 16 28.98a14.826 14.826 0 0 0 11.733-14.5V5.367L16 3.02 4.267 5.367Z" clip-rule="evenodd"/> <path fill-rule="evenodd" d="m23.068 12.093-8.654 8.668-5.481-5.481 1.414-1.414 4.066 4.065 7.24-7.251 1.415 1.413Z" clip-rule="evenodd"/> </svg> </i> </div> <h3 class="step__title">Fintech-grade Security Practices</h3> </div> </div> <div class="col-5"> <div class="step__desc styled-list"> <ul> <li>Adherence to industry best practices</li> <li>Preparedness for cryptocurrency regulation</li> <li>Consistent security standards</li> </ul> </div> </div> </div> </div> </div> <div class="step step--3"> <div class="container"> <div class="row u-space-between"> <div class="col-6"> <div class="step__header"> <div class="icon"> <i class="svg-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <path fill-rule="evenodd" d="M16 3C8.82 3 3 8.82 3 16s5.82 13 13 13 13-5.82 13-13S23.18 3 16 3ZM1 16C1 7.716 7.716 1 16 1c8.284 0 15 6.716 15 15 0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15Z" clip-rule="evenodd"/> <path fill-rule="evenodd" d="M18.51 8.49a7.787 7.787 0 0 0-2.504-.397h-.003a7.934 7.934 0 0 0-7.51 10.412L18.51 8.489Zm-2.515-2.397a9.787 9.787 0 0 1 4.736 1.188l1.176.64L7.916 21.91l-.637-1.185a9.933 9.933 0 0 1 8.716-14.633ZM24.08 10.093l.639 1.176a9.786 9.786 0 0 1 1.188 4.734 9.905 9.905 0 0 1-9.904 9.903 9.785 9.785 0 0 1-4.734-1.188l-1.176-.639L24.08 10.093ZM13.49 23.51c.805.267 1.65.402 2.504.396H16A7.908 7.908 0 0 0 23.907 16v-.007a7.787 7.787 0 0 0-.396-2.503L13.49 23.51Z" clip-rule="evenodd"/> </svg> </i> </div> <h3 class="step__title">Zero Trust Architecture</h3> </div> </div> <div class="col-5"> <div class="step__desc styled-list"> <ul> <li>User identity check and validation</li> <li>Continuous monitoring of user behavior</li> <li>Access policy enforcement no exceptions</li> </ul> </div> </div> </div> </div> </div> <div class="step step--final"> <div class="container"> <div class="row u-space-between"> <div class="col-6"> <div class="step__header"> <div class="icon icon--white"> <i class="svg-icon svg-icon--nofill"> <svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M21.1202 21.1064H10.8936V28.7731H21.1202V21.1064Z" stroke="#435FFF" stroke-width="2" stroke-miterlimit="10"/> <path d="M19.8402 21.106H12.1602V18.5594C12.1514 18.0501 12.2442 17.5443 12.4334 17.0714C12.6226 16.5985 12.9042 16.1682 13.2619 15.8055C13.6195 15.4429 14.046 15.1554 14.5162 14.9597C14.9864 14.764 15.4909 14.6642 16.
630002 14.666C17.0187 14.666 17.9954 15.0706 18.7155 15.7908C19.4357 16.5109 19.8402 17.4876 19.8402 18.506V21.106Z" stroke="#435FFF" stroke-width="2" stroke-miterlimit="10"/> <path d="M21.1201 23.6662H24.9601C26.2573 23.6688 27.5066 23.1763 28.4531 22.2893C29.3996 21.4023 29.972 20.1875 30.0534 18.8929C30.0601 18.7819 30.0601 18.6706 30.0534 18.5596C30.0552 17.8878 29.9244 17.2223 29.6686 16.6012C29.4127 15.9801 29.0368 15.4156 28.5625 14.94C28.0881 14.4644 27.5245 14.087 26.9041 13.8296C26.2837 13.5721 25.6185 13.4396 24.9468 13.4396H23.6134V10.8796C23.6065 8.85757 22.8039 6.91958 21.3791 5.48482C19.9543 4.05007 18.022 3.2339 16.0001 3.21289H15.7201C14.4033 3.26149 13.1219 3.65222 12.002 4.34659C10.8822 5.04096 9.96244 6.01503 9.33345 7.17289C9.33345 7.29289 9.20011 7.39956 9.14678 7.51956C8.68146 8.58025 8.42782 9.72162 8.40011 10.8796C7.54856 10.867 6.70313 11.0253 5.91376 11.345C5.1244 11.6647 4.40712 12.1393 3.80429 12.7409C3.20147 13.3425 2.72532 14.0588 2.40399 14.8475C2.08266 15.6362 1.92266 16.4813 1.93345 17.3329C1.92713 17.4217 1.92713 17.5108 1.93345 17.5996C2.00553 19.2456 2.70969 20.8005 3.89933 21.9405C5.08898 23.0805 6.67245 23.7177 8.32011 23.7196H9.65345" stroke="#435FFF" stroke-width="2" stroke-miterlimit="10"/> </svg> </i> </div> <h3 class="step__title">Secure Cloud</h3> </div> </div> <div class="col-5"> <div class="step__desc styled-list styled-list--white"> <ul> <li>AICPA SOC, PCI DSS, and ISO 27001 compliance across data centers</li> <li>Prevention of third-party access to data</li> <li>Fault-tolerant cloud services with multiple data backup layers</li> </ul> </div> </div> </div> </div> </div> </div> </section> <section class="section-blog"> <div class="container"> <div class="section-header"> <h2 class="section-header__title">Recent blog articles</h2> </div> <div class="row"> <div class="col-6"> <article id="post-398" class="card-post"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/no-photo.jpg" alt=""> <div class="card-post__wrap"> <div class="card-post__content"> <!-- <time class="card-post__date" datetime="2024-03-01T10:33:37+03:00">01.03.2024</time> --> <h3 class="card-post__title">SHA-256 Bitcoin Mining: Algorithm, ASICs and Pool Results</h3> <div class="card-post__excerpt"> <p> <p>Cryptocurrency mining is a process that allows you to earn rewards for confirming transactions on the blockchain.</p> </p> </div> </div><!-- .entry-content --> <a href="https://headframe.io/en/blog-en/comparing-different-mining-algorithms/" class="btn btn--primary">Read more</a> </div> </article><!-- #post-398 --></div><div class="col-6"> <article id="post-412" class="card-post"> <img width="300" height="168" src="https://headframe.io/wp-content/uploads/2024/03/screenshot_3-300x168.png" class="attachment-medium size-medium wp-post-image" alt="" decoding="async" fetchpriority="high"/> <div class="card-post__wrap"> <div class="card-post__content"> <!-- <time class="card-post__date" datetime="2024-03-01T10:54:55+03:00">01.03.2024</time> --> <h3 class="card-post__title">Energy efficient cryptocurrency mining methods: how to optimize energy costs</h3> <div class="card-post__excerpt"> <p> <p>Cryptocurrency mining is a process that requires a significant amount of energy.</p> </p> </div> </div><!-- .entry-content --> <a href="https://headframe.io/en/blog-en/energy-efficient-cryptocurrency-mining-methods/" class="btn btn--primary">Read more</a> </div> </article><!-- #post-412 --></div> </div> </div> </section> <section class="section-final "> <div class="final"> <div class="container"> <h2 class="final__title">Join headframe</h2> <div class="final__buttons"> <a href="https://pool.headframe.io/auth/registration" target="_blank" rel="noopener nofollow" class="btn btn--white btn--icon">Sign Up</a> <a href="https://t.me/headframe_sales" target="_blank" rel="noopener nofollow" class="btn btn--outlined-white">Any Questions?</a> </div> <div class="composition mp-composition-5"> <div class="composition__wrapper"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/sc/dashboard_en.png" loading="lazy" width="400" heigh="813" class="composition composition__layer composition__layer--1" alt="Join headframe"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/sc/iphone_en.png" loading="lazy" width="1062" height="602" class="composition composition__layer composition__layer--2" alt="Join headframe"> </div> </div> </div> </div> </section></main> <footer id="colophon" class="site-footer"> <div class="site-footer__wrap"> <div class="container"> <a href="https://headframe.io/en/" rel="home" class="site-footer__logo"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/logo.svg" alt="Headframe"> </a> </div> <div class="container"> <div class="site-footer__row"> <nav class="footer-nav"> <h4 class="footer-nav__title">Products</h4> <ul class="footer-nav__list"><li class="foooter-nav__item"><a href="https://headframe.io/en/platform/" class="footer-nav__link">Platform</a></li></li> <li class="foooter-nav__item"><a href="https://headframe.io/en/hashrate/" class="footer-nav__link">Hashrate Managment</a></li></li> <li class="foooter-nav__item"><a href="https://headframe.io/en/saas/" class="footer-nav__link">B2B</a></li></li> <li class="foooter-nav__item"><a href="https://headframe.io/en/bitcoin-mining-calculator/" class="footer-nav__link">Mining calculators</a></li></ul> </nav> <nav class="footer-nav"> <h4 class="footer-nav__title">Company</h4> <ul class="footer-nav__list"><li class="foooter-nav__item"><a href="https://headframe.io/en/policy/" class="footer-nav__link">Privacy Policy</a></li></li> <li class="foooter-nav__item"><a href="https://faq.headframe.io/" class="footer-nav__link">FAQ</a></li></li> <li class="foooter-nav__item"><a href="https://headframe.io/en/partners/" class="footer-nav__link">Partners</a></li></li> <li class="foooter-nav__item"><a href="https://headframe.io/en/user-service-agreement/" class="footer-nav__link">User Service Agreement</a></li></li> </ul> </nav> <nav class="footer-nav"> <h4 class="footer-nav__title">Contacts</h4> <ul class="footer-nav__list"> <li class="foooter-nav__item"> <a href="/cdn-cgi/l/email-protection#3459555d58745c51555052465559511a5d5b" class="footer-nav__link"><span class="__cf_email__" data-cfemail="6f020e06032f070a0e0b091d0e020a410600">[email&#160;protected]</span></a> </li> <li class="foooter-nav__item"> <a href="https://t.me/headframe_sales" target="_blank" rel="noopener nofollow" class="footer-nav__link">Send a message</a> </li> </ul> <div class="footer-nav__buttons"> <a href="https://www.linkedin.com/company/headframe-io/" target="_blank" rel="noopener nofollow"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/icons/linkedin.png" width="40" alt=""> </a> <a href="https://t.me/headframechat" target="_blank" rel="noopener nofollow"> <img src="https://headframe.io/wp-content/themes/headframe/assets/images/icons/telegram.png" width="40" alt=""> </a> </div> </nav> </div> </div> </div> <div class="site-info"> <div class="container"> <div class="site-info__wrapper"> <div class="site-info__copyright">2026 © headframe. All rights reserved.</div> <div class="site-info__links"> </div> </div> </div> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page -->
vendor: 109 bytes, line 63
63 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
63<script type="speculationrules">
64{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/headframe/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
65</script>
65 <style> .hf-header-logo-badge { display: none; align-items: center; gap: 6px; padding: 6px 10px; background: linear-gradient(135deg, #435FFF 0%, #7A43FF 100%); color: #fff !important; font-size: 13px; font-weight: 700; border-radius: 999px; text-decoration: none !important; white-space: nowrap; box-shadow: 0 2px 8px rgba(67, 95, 255, 0.26); line-height: 1; vertical-align: middle; transition: transform 0.12s ease, box-shadow 0.2s ease, opacity 0.2s ease; } .hf-header-logo-badge.is-ready { display: inline-flex; } .hf-header-logo-badge:hover { opacity: 0.96; box-shadow: 0 6px 16px rgba(67, 95, 255, 0.22); } .hf-header-logo-badge:active { transform: scale(0.98); } .hf-header-logo-badge svg { width: 12px; height: 12px; fill: currentColor; flex-shrink: 0; } .hf-site-branding--has-badge { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } @media (max-width: 768px) { .hf-header-logo-badge { gap: 4px; padding: 4px 8px; font-size: 12px; border-radius: 6px; } } </style> <a href="https://pool.headframe.io/auth/registration?utm_source=site_header_badge" class="hf-header-logo-badge" id="hf-header-logo-badge" target="_blank" rel="noopener nofollow"> 0.9% FPPS <svg viewBox="0 0 24 24"><path d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/></svg> </a> 
65<script>
66			(function() {
67				const attachBadge = function() {
68					const badge = document.getElementById('hf-header-logo-badge');
69					const logoLink = document.querySelector('.site-branding__link, .site-branding a[rel="home"]');
70
71					if (!badge || !logoLink || logoLink.nextElementSibling === badge) {
72						return;
73					}
74
75					const branding = logoLink.closest('.site-branding');
76					if (branding) {
77						branding.classList.add('hf-site-branding--has-badge');
78					}
79
80					logoLink.insertAdjacentElement('afterend', badge);
81					badge.classList.add('is-ready');
82				};
83
84				attachBadge();
85
86				if (document.readyState === 'loading') {
87					document.addEventListener('DOMContentLoaded', attachBadge);
88				}
89			})();
90		</script>
90 
90<script>
91		document.addEventListener('DOMContentLoaded', function(){
92			document.addEventListener('click', function(e){
93				var t = e.target.closest('.smart-toc__toggle');
94				if (t) { t.closest('.smart-toc').classList.toggle('is-collapsed'); return; }
95				var l = e.target.closest('.smart-toc__link');
96				if (l && true) {
97					var target = document.getElementById(l.hash.substring(1));
98					if (target) { e.preventDefault(); window.scrollTo({ top: target.offsetTop - 100, behavior: 'smooth' }); }
99				}
100			});
101		});
102		</script>
102 
102<script type="text/javascript">
103    (function() {
104      'use strict';
105
106      var loadedMetrica = false,
107        metricaId = 93067502,
108        timerId,
109        passiveOnce = {
110          passive: true,
111          once: true
112        };
113
114      if (navigator.userAgent.indexOf('YandexMetrika') > -1) {
115        loadMetrica();
116      } else {
117        window.addEventListener('scroll', loadMetrica, passiveOnce);
118        window.addEventListener('touchstart', loadMetrica, passiveOnce);
119        document.addEventListener('click', loadMetrica, {
120          once: true
121        });
122        document.addEventListener('keydown', loadMetrica, {
123          once: true
124        });
125        timerId = setTimeout(loadMetrica, 4000);
126      }
127
128      function loadMetrica() {
129        if (loadedMetrica) {
130          return;
131        }
132
133        loadedMetrica = true;
134        clearTimeout(timerId);
135
136        window.removeEventListener('scroll', loadMetrica);
137        window.removeEventListener('touchstart', loadMetrica);
138        document.removeEventListener('click', loadMetrica);
139        document.removeEventListener('keydown', loadMetrica);
140
141        (function(m, e, t, r, i, k, a) {
142          m[i] = m[i] || function() {
143            (m[i].a = m[i].a || []).push(arguments)
144          };
145          m[i].l = 1 * new Date();
146          k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
147        })(window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym");
148        ym(metricaId, "init", {
149          clickmap: true,
150          trackLinks: true,
151          accurateTrackBounce: true,
152          webvisor: true
153        });
154      }
155    })()
156  </script>
156 
156<script id="jquery-custom-js" src="https://headframe.io/wp-content/themes/headframe/assets/js/jquery-3.7.0.min.js?ver=1769094928"></script>
156 
156<script id="base-js-extra">
157var localize = {"ajax_url":"https://headframe.io/wp-admin/admin-ajax.php","template_url":"https://headframe.io/wp-content/themes/headframe","sat_per_th":"4.724E-7","usd":"83685.873267355","rub":"6987028.375183","query_vars":"{\"page\":\"\",\"pagename\":\"platform\",\"lang\":\"en\"}"};
158//# sourceURL=base-js-extra
159</script>
159 
159<script async data-wp-strategy="async" id="base-js" src="https://headframe.io/wp-content/themes/headframe/assets/js/base.js?ver=1774268038"></script>
159 
159<script id="hfcalc-promo-banner-js-after">
160(function () {
161  var PROMO_URL = "https://pool.headframe.io/auth/registration/?promocode=calculator";
162  var HOME_PROMO_URL = "https://headframe.io/?promocode=calculator";
163  var REGISTRATION_PROMO_URL = "https://pool.headframe.io/auth/registration/?promocode=calculator";
164  var RU = {
165    badge: "Промо",
166    title: "Скидка 30% на комиссию Headframe",
167    text: "на 1 месяц по промокоду calculator",
168    cta: "Получить"
169  };
170  var EN = {
171    badge: "Promo",
172    title: "30% off the Headframe pool fee",
173    text: "for 1 month with the calculator promocode",
174    cta: "Activate"
175  };
176
177  function getCopy() {
178    var lang = (document.documentElement.getAttribute("lang") || "").toLowerCase();
179    return lang.indexOf("en") === 0 ? EN : RU;
180  }
181
182  function isCalculatorPage() {
183    return !!document.querySelector(".hfmpc") || /kalkulyator|calculator/i.test(window.location.pathname || "");
184  }
185
186  function normalizeCalculatorLink(anchor) {
187    var raw;
188    var url;
189    var host;
190
191    if (!anchor || !anchor.getAttribute) {
192      return;
193    }
194
195    raw = anchor.getAttribute("href") || "";
196    if (!raw || raw.charAt(0) === "#") {
197      return;
198    }
199
200    try {
201      url = new URL(raw, window.location.href);
202    } catch (error) {
203      return;
204    }
205
206    host = url.hostname.toLowerCase().replace(/^www\./, "");
207    if (host === "pool.headframe.io" && /^\/auth\/registration\/?$/i.test(url.pathname)) {
208      anchor.href = REGISTRATION_PROMO_URL;
209      return;
210    }
211
212    if (host === "headframe.io" && (url.pathname === "/" || url.pathname === "")) {
213      anchor.href = HOME_PROMO_URL;
214    }
215  }
216
217  function normalizeCalculatorLinks(root) {
218    var scope;
219
220    if (!isCalculatorPage()) {
221      return;
222    }
223
224    scope = root && root.querySelectorAll ? root : document;
225    if (scope.matches && scope.matches("a[href]")) {
226      normalizeCalculatorLink(scope);
227    }
228    scope.querySelectorAll("a[href]").forEach(normalizeCalculatorLink);
229  }
230
231  function createBanner() {
232    var copy = getCopy();
233    var banner = document.createElement("a");
234    banner.className = "hfcalc-promo-banner";
235    banner.href = PROMO_URL;
236    banner.target = "_blank";
237    banner.rel = "noopener noreferrer";
238    banner.innerHTML =
239      "<span class=\"hfcalc-promo-banner__badge\"></span>" +
240      "<span class=\"hfcalc-promo-banner__copy\"><strong></strong><small></small></span>" +
241      "<span class=\"hfcalc-promo-banner__cta\"></span>";
242    banner.querySelector(".hfcalc-promo-banner__badge").textContent = copy.badge;
243    banner.querySelector(".hfcalc-promo-banner__copy strong").textContent = copy.title;
244    banner.querySelector(".hfcalc-promo-banner__copy small").textContent = copy.text;
245    banner.querySelector(".hfcalc-promo-banner__cta").textContent = copy.cta;
246    return banner;
247  }
248
249  function isHeadframeName(node) {
250    return !!node && /headframe/i.test(node.textContent || "");
251  }
252
253  function placeBanner(nameNode) {
254    var card = nameNode.closest(".hfmpc-results__pool-card");
255    var row = nameNode.closest(".hfmpc-results__row");
256    var container = card || row;
257    var banner;
258
259    if (!container || container.querySelector(".hfcalc-promo-banner")) {
260      return;
261    }
262
263    banner = createBanner();
264
265    if (card) {
266      var cardRow = card.querySelector(".hfmpc-results__row--pool") || nameNode.closest(".hfmpc-results__row");
267      if (cardRow) {
268        cardRow.insertAdjacentElement("afterend", banner);
269        return;
270      }
271    }
272
273    if (row) {
274      var values = row.querySelector(".hfmpc-results__values");
275      if (values) {
276        row.insertBefore(banner, values);
277      } else {
278        row.appendChild(banner);
279      }
280    }
281  }
282
283  function scan(root) {
284    var scope = root && root.querySelectorAll ? root : document;
285    scope.querySelectorAll(".hfmpc-results__name a, .hfmpc-results__name-text").forEach(function (nameNode) {
286      if (isHeadframeName(nameNode)) {
287        placeBanner(nameNode);
288      }
289    });
290  }
291
292  function boot() {
293    normalizeCalculatorLinks(document);
294    scan(document);
295    if (!document.body || !window.MutationObserver) {
296      return;
297    }
298    new MutationObserver(function (mutations) {
299      mutations.forEach(function (mutation) {
300        mutation.addedNodes.forEach(function (node) {
301          if (node.nodeType === 1) {
302            normalizeCalculatorLinks(node);
303            scan(node);
304          }
305        });
306      });
307    }).observe(document.body, { childList: true, subtree: true });
308  }
309
310  if (document.readyState === "loading") {
311    document.addEventListener("DOMContentLoaded", boot);
312  } else {
313    boot();
314  }
315})();
316
317//# sourceURL=hfcalc-promo-banner-js-after
318</script>
318 
318<script type="text/javascript">
319    jQuery(document).ready(function($) {
320        window.liveData = {
321            currencies: {"BTC":{"reward_rate":4.724e-7,"usd":83685.873267355,"rub":6987028.375183,"hashrate_unit":"TH\/s","hashrate_divisor":1},"LTC":{"reward_rate":1.3620659025,"usd":67.074549268571,"rub":5600.1301138951,"hashrate_unit":"GH\/s","hashrate_divisor":1000},"DOGE":{"reward_rate":5093.8320855935,"usd":0.094475955451965,"rub":7.8879045619389,"hashrate_unit":"GH\/s","hashrate_divisor":1000},"ZEC":{"reward_rate":0.00047966282140451,"usd":1394.4864382527,"rub":116427.25268281,"hashrate_unit":"kSol\/s","hashrate_divisor":10}},
322            rate_title_template: "Calculation based on {{coin}} rate:",
323            rate_title_merged: "Calculation based on LTC and DOGE rates:"        };
324
325        function getCurrencyData(currencyCode) {
326            let safeCurrencyCode = (currencyCode || 'BTC').toUpperCase();
327            let currencies = window.liveData.currencies || {};
328
329            if (currencies[safeCurrencyCode]) {
330                return currencies[safeCurrencyCode];
331            }
332
333            return currencies.BTC || {
334                reward_rate: 0,
335                usd: 0,
336                rub: 0,
337                hashrate_unit: 'TH/s',
338                hashrate_divisor: 1
339            };
340        }
341
342        function formatLiveRate(value, locale) {
343            let numericValue = parseFloat(value);
344            if(!numericValue || numericValue <= 0) return '';
345
346            let digits = numericValue >= 1 ? 2 : 4;
347            return numericValue.toLocaleString(locale, {
348                minimumFractionDigits: digits,
349                maximumFractionDigits: digits
350            });
351        }
352
353        function getCalculatorModeData(modeCode) {
354            let safeModeCode = (modeCode || 'BTC').toUpperCase();
355            let singleCurrencyData = null;
356
357            if (safeModeCode === 'LTC' || safeModeCode === 'DOGE' || safeModeCode === 'ZEC') {
358                singleCurrencyData = Object.assign({ code: safeModeCode }, getCurrencyData(safeModeCode));
359                let fallbackHashrateUnit = safeModeCode === 'ZEC' ? 'kSol/s' : 'GH/s';
360                let fallbackHashrateDivisor = safeModeCode === 'ZEC' ? 10 : 1000;
361
362                return {
363                    code: safeModeCode,
364                    label: safeModeCode,
365                    hashrate_unit: singleCurrencyData.hashrate_unit || fallbackHashrateUnit,
366                    hashrate_divisor: parseFloat(singleCurrencyData.hashrate_divisor) || fallbackHashrateDivisor,
367                    primary: singleCurrencyData,
368                    secondary: null
369                };
370            }
371
372            if (safeModeCode === 'LTC_DOGE') {
373                let ltcData = Object.assign({ code: 'LTC' }, getCurrencyData('LTC'));
374                let dogeData = Object.assign({ code: 'DOGE' }, getCurrencyData('DOGE'));
375
376                return {
377                    code: 'LTC_DOGE',
378                    label: 'LTC + DOGE',
379                    hashrate_unit: ltcData.hashrate_unit || dogeData.hashrate_unit || 'GH/s',
380                    hashrate_divisor: parseFloat(ltcData.hashrate_divisor) || parseFloat(dogeData.hashrate_divisor) || 1000,
381                    primary: ltcData,
382                    secondary: dogeData
383                };
384            }
385
386            let btcData = Object.assign({ code: 'BTC' }, getCurrencyData('BTC'));
387            return {
388                code: 'BTC',
389                label: 'BTC',
390                hashrate_unit: btcData.hashrate_unit || 'TH/s',
391                hashrate_divisor: parseFloat(btcData.hashrate_divisor) || 1,
392                primary: btcData,
393                secondary: null
394            };
395        }
396
397        function getSelectedFiatRate(currencyData, fiatCode) {
398            if (!currencyData) return 0;
399
400            let selectedRate = fiatCode === 'RUB'
401                ? parseFloat(currencyData.rub)
402                : parseFloat(currencyData.usd);
403
404            if (selectedRate > 0) {
405                return selectedRate;
406            }
407
408            return parseFloat(currencyData.usd) || 0;
409        }
410
411        function updateCalculatorLabels($calculator, modeData) {
412            let singleTemplate = window.liveData.rate_title_template || 'Calculation based on {{coin}} rate:';
413            let mergedTemplate = window.liveData.rate_title_merged || 'Calculation based on LTC and DOGE rates:';
414            let hasSecondaryCoin = !!(modeData && modeData.secondary);
415            let primaryCode = modeData && modeData.primary ? modeData.primary.code : 'BTC';
416            let secondaryCode = hasSecondaryCoin ? modeData.secondary.c
416ode : '';
417
418            $calculator.find('.js-calc-hashrate-unit').text(modeData && modeData.hashrate_unit ? modeData.hashrate_unit : 'TH/s');
419            $calculator.find('.js-calc-rate-title').text(
420                hasSecondaryCoin ? mergedTemplate : singleTemplate.replace('{{coin}}', modeData.label || primaryCode)
421            );
422
423            $calculator.find('.js-calc-coin-primary-code').text(primaryCode);
424            $calculator.find('.js-calc-coin-secondary-code').text(secondaryCode);
425            $calculator.find('.js-calc-coin-secondary-line').prop('hidden', !hasSecondaryCoin);
426            $calculator.find('.js-calc-coin-row').addClass('calculator__row--stacked');
427
428            $calculator.find('.js-calc-rate-primary-prefix')
429                .text(primaryCode)
430                .prop('hidden', !hasSecondaryCoin);
431
432            $calculator.find('.js-calc-rate-secondary-prefix').text(secondaryCode);
433            $calculator.find('.js-calc-rate-secondary-line').prop('hidden', !hasSecondaryCoin);
434        }
435
436        let calculatorFitFrame = null;
437        let calculatorMeasureNode = null;
438        let calculatorMeasureRoot = null;
439
440        function getCalculatorMeasureNode() {
441            if (calculatorMeasureNode) {
442                return calculatorMeasureNode;
443            }
444
445            calculatorMeasureNode = document.createElement('span');
446            calculatorMeasureNode.setAttribute('aria-hidden', 'true');
447            calculatorMeasureNode.style.position = 'absolute';
448            calculatorMeasureNode.style.left = '-9999px';
449            calculatorMeasureNode.style.top = '-9999px';
450            calculatorMeasureNode.style.visibility = 'hidden';
451            calculatorMeasureNode.style.pointerEvents = 'none';
452            calculatorMeasureNode.style.whiteSpace = 'nowrap';
453            document.body.appendChild(calculatorMeasureNode);
454
455            return calculatorMeasureNode;
456        }
457
458        function getCalculatorMeasureRoot() {
459            if (calculatorMeasureRoot) {
460                return calculatorMeasureRoot;
461            }
462
463            calculatorMeasureRoot = document.createElement('div');
464            calculatorMeasureRoot.className = 'banner__aside';
465            calculatorMeasureRoot.setAttribute('aria-hidden', 'true');
466            calculatorMeasureRoot.style.position = 'absolute';
467            calculatorMeasureRoot.style.left = '-9999px';
468            calculatorMeasureRoot.style.top = '-9999px';
469            calculatorMeasureRoot.style.visibility = 'hidden';
470            calculatorMeasureRoot.style.pointerEvents = 'none';
471            calculatorMeasureRoot.style.whiteSpace = 'nowrap';
472            calculatorMeasureRoot.style.width = 'auto';
473            calculatorMeasureRoot.style.maxWidth = 'none';
474            document.body.appendChild(calculatorMeasureRoot);
475
476            return calculatorMeasureRoot;
477        }
478
479        function getBaseFontSize(element) {
480            if (!element) return 16;
481
482            element.style.fontSize = '';
483            return parseFloat(window.getComputedStyle(element).fontSize) || 16;
484        }
485
486        function fitCalculatorValueElement(element) {
487            if (!element || !element.clientWidth) return;
488
489            let fontSize = getBaseFontSize(element);
490            let minFontSize = Math.max(14, Math.round(fontSize * 0.4));
491            let measureRoot = getCalculatorMeasureRoot();
492            let clone = element.cloneNode(true);
493
494            clone.removeAttribute('hidden');
495            clone.style.width = 'auto';
496            clone.style.maxWidth = 'none';
497            clone.style.minWidth = '0';
498            clone.style.overflow = 'visible';
499            clone.style.whiteSpace = 'nowrap';
500            clone.style.fontSize = fontSize + 'px';
501            clone.style.display = (
502                element.classList.contains('calculator__coin-line') ||
503                element.classList.contains('calculator__rate-line')
504            ) ? 'inline-flex' : 'inline-block';
505
506            measureRoot.appendChild(clone);
507
508            element.style.fontSize = fontSize + 'px';
509
510            while (fontSize > minFontSize) {
511                clone.style.fontSize = fontSize + 'px';
512
513                if (clone.offsetWidth <= (element.clientWidth + 1)) {
514                    break;
515                }
516
517                fontSize -= 1;
518            }
519
520            element.style.fontSize = fontSize + 'px';
521            measureRoot.removeChild(clone);
522        }
523
524        function fitCalculatorCoinLines($calculator) {
525            if(!$calculator || !$calculator.length) return;
526
527            let $coinLines = $calculator.find('.calculator__coin-line').filter(function() {
528                return !this.hasAttribute('hidden') && this.clientWidth > 0;
529            });
530
531            if(!$coinLines.length) return;
532
533            let baseFontSize = getBaseFontSize($coinLines.get(0));
534            let fontSize = baseFontSize;
535            let minFontSize = Math.max(14, Math.round(baseFontSize * 0.4));
536            let availableWidth = $coinLines.get(0).clientWidth + 1;
537            let measureRoot = getCalculatorMeasureRoot();
538            let clones = [];
539
540            $coinLines.each(function() {
541                let clone = this.cloneNode(true);
542                clone.removeAttribute('hidden');
543                clone.style.width = 'auto';
544                clone.style.maxWidth = 'none';
545                clone.style.minWidth = '0';
546                clone.style.overflow = 'visible';
547                clone.style.whiteSpace = 'nowrap';
548                clone.style.display = 'inline-flex';
549                clone.style.fontSize = fontSize + 'px';
550                measureRoot.appendChild(clone);
551                clones.push(clone);
552            });
553
554            while (fontSize > minFontSize) {
555                let fitsAll = true;
556
557                for (let i = 0; i < clones.length; i += 1) {
558                    clones[i].style.fontSize = fontSize + 'px';
559
560                    if (clones[i].offsetWidth > availableWidth) {
561                        fitsAll = false;
562                        break;
563                    }
564                }
565
566                if (fitsAll) {
567                    break;
568                }
569
570                fontSize -= 1;
571            }
572
573            $coinLines.each(function() {
574                this.style.fontSize = fontSize + 'px';
575            });
576
577            for (let i = 0; i < clones.length; i += 1) {
578                measureRoot.removeChild(clones[i]);
579            }
580        }
581
582        function fitCalculatorInputElement(input) {
583            if (!input || !input.clientWidth) return;
584
585            let measureNode = getCalculatorMeasureNode();
586            let computedStyle = window.getComputedStyle(input);
587            let fontSize = getBaseFontSize(input);
588            let minFontSize = Math.max(24, Math.round(fontSize * 0.4));
589            let paddingLeft = parseFloat(computedStyle.paddingLeft) || 0;
590            let paddingRight = parseFloat(computedStyle.paddingRight) || 0;
591            let availableWidth = input.clientWidth - paddingLeft - paddingRight;
592
593            if (availableWidth <= 0) return;
594
595            measureNode.style.fontFamily = computedStyle.fontFamily;
596            measureNode.style.fontWeight = computedStyle.fontWeight;
597            measureNode.style.fontStyle = computedStyle.fontStyle;
598            measureNode.style.fontStretch = computedStyle.fontStretch;
599            measureNode.style.letterSpacing = computedStyle.letterSpacing;
600            measureNode.style.textTransform = computedStyle.textTransform;
601            measureNode.style.fontVariantNumeric = computedStyle.fontVariantNumeric;
602            measureNode.textContent = input.value || input.placeholder || '';
603
604            input.style.fontSize = fontSize + 'px';
605
606            while (fontSize > minFontSize) {
607                measureNode.style.fontSize = fontSize + 'px';
608
609                if (measureNode.offsetWidth <= availableWidth) {
610                    break;
611                }
612
613                fontSize -= 1;
614            }
615
616            input.style.fontSize = fontSize + 'px';
617        }
618
619        function fitCalculatorText($calculator) {
620            if(!$calculator || !$calculator.length) return;
621
622            fitCalculatorCoinLines($calculator);
623
624            $calculator.find('.js-calc-fit-text').not('.calculator__coin-line').each(function() {
625                fitCalculatorValueElement(this);
626            });
627
628            $calculator.find('.calculator__input').each(function() {
629                fitCalculatorInputElement(this);
630            });
631        }
632
633        function scheduleCalculatorTextFit($calculator) {
634            if(!$calculator || !$calculator.length) return;
635
636            if (calculatorFitFrame) {
637                window.cancelAnimationFrame(calculatorFitFrame);
638            }
639
640            calculatorFitFrame = window.requestAnimationFrame(function() {
641                fitCalculatorText($calculator);
642                calculatorFitFrame = null;
643            });
644        }
645
646        function forceSyncCalculator() {
647            let $calculator = $('.calculator').first();
648            if(!$calculator.length) return;
649
650            let hashrate = parseFloat($calculator.find('.js-calc-hashrate').val()?.replace(',', '.')) || 0;
651            let feePercent = parseFloat($calculator.find('.js-calc-fee').val()?.replace(',', '.')) || 0;
652            feePercent = Math.min(100, Math.max(0, feePercent));
653            let $currencySelect = $calculator.find('select[name="currency"]').first();
654            let selectedMode = (($calculator.find('select[name="coin"]').val() || 'BTC') + '').trim().toUpperCase();
655            let modeData = getCalculatorModeData(selectedMode);
656            let hashrateDivisor = parseFloat(modeData.hashrate_divisor) || 1;
657            let primaryRewardRate = parseFloat(modeData.primary && modeData.primary.reward_rate) || 0;
658            let secondaryRewardRate = parseFloat(modeData.secondary && modeData.secondary.reward_rate) || 0;
659            
660            let days = 1;
661            let typeVal = $calculator.find('input[name="type"]:checked').val();
662            if(typeVal) days = parseFloat(typeVal);
663
664            updateCalculatorLabels($calculator, modeData);
665
666            if((!primaryRewardRate || primaryRewardRate <= 0) && (!secondaryRewardRate || secondaryRewardRate <= 0)
666) {
667                $calculator.find('.js-calc-coin-value').text('0.00000000');
668                $calculator.find('.js-calc-coin-value-secondary').text('0.00000000');
669                $calculator.find('.js-calc-usd').text('0.00');
670                scheduleCalculatorTextFit($calculator);
671                return;
672            }
673
674            let normalizedHashrate = hashrate / hashrateDivisor;
675            let selectedCurrency = ($currencySelect.find('option:selected').text() || 'USD').trim().toUpperCase();
676            let feeMultiplier = 1 - (feePercent / 100);
677
678            if(feeMultiplier < 0) {
679                feeMultiplier = 0;
680            }
681
682            let primaryNetCoin = normalizedHashrate * primaryRewardRate * days * feeMultiplier;
683            let secondaryNetCoin = normalizedHashrate * secondaryRewardRate * days * feeMultiplier;
684
685            if(primaryNetCoin < 0) primaryNetCoin = 0;
686            if(secondaryNetCoin < 0) secondaryNetCoin = 0;
687
688            let primaryFiatRate = getSelectedFiatRate(modeData.primary, selectedCurrency);
689            let secondaryFiatRate = modeData.secondary ? getSelectedFiatRate(modeData.secondary, selectedCurrency) : 0;
690            let netFiat = (primaryNetCoin * primaryFiatRate) + (secondaryNetCoin * secondaryFiatRate);
691
692            $calculator.find('.js-calc-coin-value').text(primaryNetCoin.toFixed(8));
693            $calculator.find('.js-calc-coin-value-secondary').text(secondaryNetCoin.toFixed(8));
694            $calculator.find('.js-calc-usd').text(netFiat.toFixed(2));
695
696            let usdFmt = formatLiveRate(modeData.primary && modeData.primary.usd, 'en-US');
697            let rubFmt = formatLiveRate(modeData.primary && modeData.primary.rub, 'ru-RU');
698            let secondaryUsdFmt = modeData.secondary ? formatLiveRate(modeData.secondary.usd, 'en-US') : '';
699            let secondaryRubFmt = modeData.secondary ? formatLiveRate(modeData.secondary.rub, 'ru-RU') : '';
700
701            if(usdFmt) $calculator.find('.js-live-rate-usd').text(usdFmt);
702            if(rubFmt) $calculator.find('.js-live-rate-rub').text(rubFmt);
703            if(secondaryUsdFmt) $calculator.find('.js-live-rate-secondary-usd').text(secondaryUsdFmt);
704            if(secondaryRubFmt) $calculator.find('.js-live-rate-secondary-rub').text(secondaryRubFmt);
705
706            scheduleCalculatorTextFit($calculator);
707        }
708
709        function updatePoolStats() {
710            fetch('https://headframe.io/wp-content/uploads/mining_stats.json?t=' + new Date().getTime())
711                .then(res => res.ok ? res.json() : null)
712                .then(d => {
713                    if(!d) return;
714
715                    if(d.currencies && typeof d.currencies === 'object') {
716                        window.liveData.currencies = Object.assign({}, window.liveData.currencies || {}, d.currencies);
717                    } else {
718                        window.liveData.currencies = window.liveData.currencies || {};
719                        window.liveData.currencies.BTC = Object.assign({}, getCurrencyData('BTC'), {
720                            reward_rate: parseFloat(d.rate) || 0,
721                            usd: parseFloat(d.usd) || 0,
722                            rub: parseFloat(d.rub) || 0,
723                            hashrate_unit: 'TH/s',
724                            hashrate_divisor: 1
725                        });
726                    }
727
728                    if(d.workers) $('.js-live-workers').text(d.workers);
729                    if(d.hashrate) $('.js-live-hashrate').text((parseFloat(d.hashrate) / 1e18).toFixed(2));
730
731                    // ПЕРВЫЙ ВАЖНЫЙ ВЫЗОВ: Сразу как получили данные от API
732                    forceSyncCalculator();
733                })
734                .catch(e => console.log('LiveStats: skip'));
735        }
736        
737        // ВТОРОЙ ВАЖНЫЙ БЛОК: Слушаем не только change, но и keyup (ввод цифр)
738        $('.calculator').on('input change keyup', 'input, select', function() {
739            forceSyncCalculator();
740        });
741
742        $(window).on('resize', function() {
743            scheduleCalculatorTextFit($('.calculator').first());
744        });
745
746        $(window).on('load', function() {
747            scheduleCalculatorTextFit($('.calculator').first());
748        });
749
750        if (document.fonts && document.fonts.ready) {
751            document.fonts.ready.then(function() {
752                scheduleCalculatorTextFit($('.calculator').first());
753            });
754        }
755
756        // Запуск процесса
757        updatePoolStats();
758
759        // ТРЕТИЙ ВАЖНЫЙ ВЫЗОВ: Страховка через 100мс после загрузки
760        setTimeout(forceSyncCalculator, 100);
761        
762        setInterval(updatePoolStats, 60000);
763    });
764    </script>
764 
764<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f416c120a7384bf48c5b9bc64782df6f","r":1,"spa":2}' crossorigin="anonymous"></script>
764
765</body> </html> 

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.