vendor: 7,968 bytes, line 1
1var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ee(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var te=/\/+/g;function k(e,t){return typeof e==`object`&&e&&e.key!=null?ee(``+e.key):t.toString(36)}function ne(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function A(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,A(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+k(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(te,`$&/`)+`/`),A(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(te,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+k(a,u),c+=A(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+k(a,u++),c+=A(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return A(ne(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function j(e,t,n){if(e==null)return e;var r=[],i=0;return A(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function re(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var ie=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ae={map:j,forEach:function(e,t,n){j(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return j(e,function(){t++}),t},toArray:function(e){return j(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ae,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:re}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,ie)}catch(e){ie(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()}
1,e.version=`19.2.8`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.8`})),f=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=d()}));function p(e){return e[e.length-1]}function m(e){return typeof e==`function`}function h(e,t){return m(e)?e(t):e}var g=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;function v(e){for(let t in e)if(g.call(e,t))return!0;return!1}var y=()=>Object.create(null),b=(e,t)=>x(e,t,y);function x(e,t,n=()=>({}),r=0){if(e===t)return e;if(r>500)return t;let i=t,a=T(e)&&T(i);if(!a&&!(C(e)&&C(i)))return i;let o=a?e:S(e);if(!o)return i;let s=a?i:S(i);if(!s)return i;let c=o.length,l=s.length,u=a?Array(l):n(),d=0;for(let t=0;t<l;t++){let o=a?t:s[t],l=e[o],f=i[o];if(l===f){u[o]=l,(a?t<c:g.call(e,o))&&d++;continue}if(l===null||f===null||typeof l!=`object`||typeof f!=`object`){u[o]=f;continue}let p=x(l,f,n,r+1);u[o]=p,p===l&&d++}return c===l&&d===c?e:u}function S(e){let t=Object.getOwnPropertyNames(e);for(let n of t)if(!_.call(e,n))return!1;let n=Object.getOwnPropertySymbols(e);if(n.length===0)return t;let r=t;for(let t of n){if(!_.call(e,t))return!1;r.push(t)}return r}function C(e){if(!w(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;
1return!(!w(n)||!n.hasOwnProperty(`isPrototypeOf`))}function w(e){return Object.prototype.toString.call(e)===`[object Object]`}function T(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function E(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!E(e[r],t[r],n))return!1;return!0}if(C(e)&&C(t)){let r=n?.ignoreUndefined??!0;if(n?.partial){for(let i in t)if((!r||t[i]!==void 0)&&!E(e[i],t[i],n))return!1;return!0}let i=0;if(!r)i=Object.keys(e).length;else for(let t in e)e[t]!==void 0&&i++;let a=0;for(let o in t)if((!r||t[o]!==void 0)&&(a++,a>i||!E(e[o],t[o],n)))return!1;return i===a}return!1}function D(e){let t,n,r=new Promise((e,r)=>{t=e,n=r});return r.status=`pending`,r.resolve=n=>{r.status=`resolved`,r.value=n,t(n),e?.(n)},r.reject=e=>{r.status=`rejected`,n(e)},r}function O(e){return typeof e?.message==`string`?e.message.startsWith(`Failed to fetch dynamically imported module`)||e.message.startsWith(`error loading dynamically imported module`)||e.message.startsWith(`Importing a module script failed`):!1}
1function ee(e){return!!(e&&typeof e==`object`&&typeof e.then==`function`)}var te=/[\x00-\x1f\x7f"<>`{}]/g;function k(e){return e.replace(te,e=>`%`+e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`))}function ne(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return k(t)}var A=[`http:`,`https:`,`mailto:`,`tel:`];function j(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}var re={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},ie=/[&><\u2028\u2029]/g;function ae(e){return e.replace(ie,e=>re[e])}function oe(e){if(!e||!/[%\\\x00-\x1f\x7f]/.test(e)&&!e.startsWith(`//`))return{path:e,handledProtocolRelativeURL:!1};let t=/%25|%5C/gi,n=0,r=``,i;for(;(i=t.exec(e))!==null;)r+=ne(e.slice(n,i.index))+i[0],n=t.lastIndex;r+=ne(n?e.slice(n):e);let a=!1;return r.startsWith(`//`)&&(a=!0,r=`/`+r.replace(/^\/+/,``)),{path:r,handledProtocolRelativeURL:a}}function se(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function ce(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function M(){throw Error(`Invariant failed`)}function N(e){let t=new Map,n,r,i=e=>{e.next&&(e.prev?(e.prev.next=e.next,e.next.prev=e.prev,e.next=void 0,r&&(r.next=e,e.prev=r)):(e.next.prev=void 0,n=e.next,e.next=void 0,r&&(e.prev=r,r.next=e)),r=e)};return{get(e){let n=t.get(e);if(n)return i(n),n.value},set(a,o){if(t.size>=e&&n){let e=n;t.delete(e.key),e.next&&(n=e.next,e.next.prev=void 0),e===r&&(r=void 0)}let s=t.get(a);if(s)s.value=o,i(s);else{let e={key:a,value:o,prev:r};r&&(r.next=e),r=e,n||=e,t.set(a,e)}},clear(){t.clear(),n=void 0,r=void 0}}}var P=4,F=5;function le(e){let t=e.indexOf(`{`);if(t===-1)return null;let n=e.indexOf(`}`,t);return n===-1||t+1>=e.length?null:[t,n]}function I(e,t,n=new Uint16Array(6)){let r=e.indexOf(`/`,t),i=r===-1?e.length:r,a=e.substring(t,i);if(!a||!a.includes(`$`))return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n;if(a===`$`){let r=e.length;return n[0]=2,n[1]=t,n[2]=t,n[3]=r,n[4]=r,n[5]=r,n}if(a.charCodeAt(0)===36)return n[0]=1,n[1]=t,n[2]=t+1,n[3]=i,n[4]=i,n[5]=i,n;let o=le(a);if(o){let[r,s]=o,c=a.charCodeAt(r+1);if(c===45){if(r+2<a.length&&a.charCodeAt(r+2)===36){let e=r+3,a=s;if(e<a)return n[0]=3,n[1]=t+r,n[2]=t+e,n[3]=t+a,n[4]=t+s+1,n[5]=i,n}}else if(c===36){let a=r+1,o=r+2;return o===s?(n[0]=2,n[1]=t+r,n[2]=t+a,n[3]=t+o,n[4]=t+s+1,n[5]=e.length,n):(n[0]=1,n[1]=t+r,n[2]=t+o,n[3]=t+s,n[4]=t+s+1,n[5]=i,n)}}return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n}function L(e,t,n,r,i,a,o){o?.(n);let s=r;{let r=n.fullPath??n.from,o=r.length,c=n.options?.caseSensitive??e,l=n.options?.params?.parse??n.options?.parseParams;for(;s<o;){let e=I(r,s,t),o,u=s,d=e[5];switch(s=d+1,a++,e[0]){case 0:{let t=r.substring(e[2],e[3]);if(c){let e=i.static?.get(t);if(e)o=e;else{i.static??=new Map;let e=B(n.fullPath??n.from);e.parent=i,e.depth=a,o=e,i.static.set(t,e)}}else{let e=t.toLowerCase(),r=i.staticInsensitive?.get(e);if(r)o=r;else{i.staticInsensitive??=new Map;let t=B(n.fullPath??n.from);t.parent=i,t.depth=a,o=t,i.staticInsensitive.set(e,t)}}break}case 1:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.dynamic?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=V(1,n.fullPath??n.from,f,p,m);o=e,e.depth=a,e.parent=i,i.dynamic??=[],i.dynamic.push(e)}break}case 3:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.optional?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=V(3,n.fullPath??n.from,f,p,m);o=e,e.parent=i,e.depth=a,i.optional??=[],i.optional.push(e)}break}case 2:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),l=c&&!!(t||s),f=t?l?t:t.toLowerCase():void 0,p=s?l?s:s.toLowerCase():void 0,m=V(2,n.fullPath??n.from,l,f,p);o=m,m.parent=i,m.depth=a,i.wildcard??=[],i.wildcard.push(m)}}i=o}
1if(l&&n.children&&!n.isRoot&&n.id&&n.id.charCodeAt(n.id.lastIndexOf(`/`)+1)===95){let e=B(n.fullPath??n.from);e.kind=F,e.parent=i,a++,e.depth=a,i.pathless??=[],i.pathless.push(e),i=e}let u=(n.path||!n.children)&&!n.isRoot;if(u&&r.endsWith(`/`)){let e=B(n.fullPath??n.from);e.kind=P,e.parent=i,a++,e.depth=a,i.index=e,i=e}i.parse=l??null,i.priority=n.options?.params?.priority??0,u&&!i.route&&(i.route=n,i.fullPath=n.fullPath??n.from)}if(n.children)for(let r of n.children)L(e,t,r,s,i,a,o)}function R(e,t){if(e.parse&&!t.parse)return-1;if(!e.parse&&t.parse)return 1;if(e.parse&&t.parse&&(e.priority||t.priority))return t.priority-e.priority;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function z(e){if(e.pathless)for(let t of e.pathless)z(t);if(e.static)for(let t of e.static.values())z(t);if(e.staticInsensitive)for(let t of e.staticInsensitive.values())z(t);if(e.dynamic?.length){e.dynamic.sort(R);for(let t of e.dynamic)z(t)}if(e.optional?.length){e.optional.sort(R);for(let t of e.optional)z(t)}if(e.wildcard?.length){e.wildcard.sort(R);for(let t of e.wildcard)z(t)}}function B(e){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:e,parent:null,parse:null,priority:0}}function V(e,t,n,r,i){return{kind:e,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:t,parent:null,parse:null,priority:0,caseSensitive:n,prefix:r,suffix:i}}function ue(e,t){let n=B(`/`),r=new Uint16Array(6);for(let t of e)L(!1,r,t,1,n,0);z(n),t.masksTree=n,t.flatCache=N(1e3)}function de(e,t){e||=`/`;let n=t.flatCache.get(e);if(n)return n;let r=U(e,t.masksTree);return t.flatCache.set(e,r),r}function fe(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=B(`/`),L(t,new Uint16Array(6),{from:e},1,o,0),i.singleCache.set(a,o)),U(r,o,n)}function pe(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=U(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=he(a.route)),t.matchCache.set(r,a),a}function me(e){return e===`/`?e:e.replace(/\/{1,}$/,``)}function H(e,t=!1,n){let r=B(e.fullPath),i=new Uint16Array(6),a={},o={},s=0;return L(t,i,e,1,r,0,e=>{if(n?.(e,s),e.id in a&&M(),a[e.id]=e,s!==0&&e.path){let t=me(e.fullPath);(!o[t]||e.fullPath.endsWith(`/`))&&(o[t]=e)}s++}),z(r),{processedTree:{segmentTree:r,singleCache:N(1e3),matchCache:N(1e3),flatCache:null,masksTree:null},routesById:a,routesByPath:o}}function U(e,t,n=!1){let r=e.split(`/`),i=_e(e,r,t,n);if(!i)return null;let[a]=W(e,r,i);return{route:i.node.route,rawParams:a}}function W(e,t,n){let r=ge(n.node),i=null,a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,c=n.extract?.path??0,l=n.extract?.segment??0;for(;s<r.length;o++,s++,c++,l++){let u=r[s];if(u.kind===P)break;if(u.kind===F){l--,o--,c--;continue}let d=t[o],f=c;if(d&&(c+=d.length),u.kind===1){i??=n.node.fullPath.split(`/`);let e=i[l],t=u.prefix?.length??0;if(e.charCodeAt(t)===123){let n=u.suffix?.length??0,r=e.substring(t+2,e.length-n-1),i=d.substring(t,d.length-n);a[r]=decodeURIComponent(i)}else{let t=e.substring(1);a[t]=decodeURIComponent(d)}}else if(u.kind===3){if(n.skipped&1<<s){o--,c=f-1;continue}i??=n.node.fullPath.split(`/`);let e=i[l],t=u.prefix?.length??0,r=u.suffix?.length??0,p=e.substring(t+3,e.length-r-1),m=u.suffix||u.prefix?d.substring(t,d.length-r):d;m&&(a[p]=decodeURIComponent(m))}else if(u.kind===2){let t=u,n=e.substring(f+(t.prefix?.length??0),e.length-(t.suffix?.length??0)),r=decodeURIComponent(n);a[`*`]=r,a._splat=r;break}}return n.rawParams&&Object.assign(a,n.rawParams),[a,{part:o,node:s,path:c,segment:l}]}function he(e){let t=[e];for(;e.parentRoute;)e=e.parentRoute,t.push(e);return t.reverse(),t}function ge(e){let t=Array(e.depth+1);do t[e.depth]=e,e=e.parent;while(e);return t}function _e(e,t,n,r){if(e===`/`&&n.index)return{node:n.index,skipped:0};let i=!p(t),a=i&&e!==`/`,o=t.length-+!!i,s=[{node:n,index:1,skipped:0,depth:1,statics:0,dynamics:0,optionals:0}],c=null,l=null;for(;s.length;){let n=s.pop(),{node:i,index:u,skipped:d,depth:f,statics:p,dynamics:m,optionals:h}=n,{extract:g,rawParams:_}=n;if(i.kind===2&&i.route&&!K(l,n))continue;if(i.parse){if(!ye(e,t,n))continue;_=n.rawParams,g=n.extract}r&&i.route&&i.kind!==P&&K(c,n)&&(c=n);let v=u===o;if(v&&(i.route&&(!a||i.kind===P||i.kind===2)&&K(l,n)&&(l=n),!i.optional&&!i.wildcard&&!i.index&&!i.pathless))continue;let y=v?void 0:t[u],b;if(v&&i.index){let n={node:i.index,index:u,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_},r=!0;
1if(i.index.parse&&(ye(e,t,n)||(r=!1)),r){if(!m&&!h&&!d&&ve(p,o))return n;K(l,n)&&(l=n)}}if(i.wildcard)for(let e=i.wildcard.length-1;e>=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!(r&&(v||!(n.caseSensitive?y:b??=y.toLowerCase()).startsWith(r)))){if(a){if(v)continue;let e=t.slice(u).join(`/`).slice(-a.length);if((n.caseSensitive?e:e.toLowerCase())!==a)continue}s.push({node:n,index:o,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}if(i.optional){let e=d|1<<f,t=f+1;for(let n=i.optional.length-1;n>=0;n--){let r=i.optional[n];s.push({node:r,index:u,skipped:e,depth:t,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v)for(let e=i.optional.length-1;e>=0;e--){let n=i.optional[e],{prefix:r,suffix:a}=n;if(r||a){let e=n.caseSensitive?y:b??=y.toLowerCase();if(r&&!e.startsWith(r)||a&&!e.endsWith(a))continue}s.push({node:n,index:u+1,skipped:d,depth:t,statics:p,dynamics:m,optionals:h+G(o,u),extract:g,rawParams:_})}}if(!v&&i.dynamic&&y)for(let e=i.dynamic.length-1;e>=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?y:b??=y.toLowerCase();if(n&&!e.startsWith(n)||r&&!e.endsWith(r))continue}s.push({node:t,index:u+1,skipped:d,depth:f+1,statics:p,dynamics:m+G(o,u),optionals:h,extract:g,rawParams:_})}if(!v&&i.staticInsensitive){let e=i.staticInsensitive.get(b??=y.toLowerCase());e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+G(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v&&i.static){let e=i.static.get(y);e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+G(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(i.pathless){let e=f+1;for(let t=i.pathless.length-1;t>=0;t--){let n=i.pathless[t];s.push({node:n,index:u,skipped:d,depth:e,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;e<c.index;e++)n+=t[e].length;let r=n===e.length?`/`:e.slice(n);return c.rawParams??=Object.create(null),c.rawParams[`**`]=decodeURIComponent(r),c}return null}function G(e,t){return 2**(e-t-1)}function ve(e,t){return e===2**(t-1)-1}function ye(e,t,n){let r,i;try{[r,i]=W(e,t,n)}catch{return null}if(n.rawParams=r,n.extract=i,!n.node.parse)return!0;try{if(n.node.parse(r)===!1)return null}catch{}return!0}function K(e,t){return!e||t.statics>e.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===P)>(e.node.kind===P)||t.node.kind===P==(e.node.kind===P)&&t.depth>e.depth)))}function be(e){return xe(e.filter(e=>e!==void 0).join(`/`))}function xe(e){return e.replace(/\/{2,}/g,`/`)}function Se(e){return e===`/`?e:e.replace(/^\/{1,}/,``)}function Ce(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/{1,}$/,``):e}function we(e){return Ce(Se(e))}function q(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Te(e,t,n){return q(e,n)===q(t,n)}function Ee({base:e,to:t,trailingSlash:n=`never`,cache:r}){let i=t.startsWith(`/`),a=!i&&t===`.`,o;if(r){o=i?t:a?e:e+`\0`+t;let n=r.get(o);if(n)return n}let s;if(a)s=e.split(`/`);else if(i)s=t.split(`/`);else{for(s=e.split(`/`);s.length>1&&p(s)===``;)s.pop();let n=t.split(`/`);for(let e=0,t=n.length;e<t;e++){let r=n[e];r===``?e?e===t-1&&s.push(r):s=[r]:r===`..`?s.pop():r===`.`||s.push(r)}}s.length>1&&(p(s)===``?n===`never`&&s.pop():n===`always`&&s.push(``));let c=xe(s.join(`/`))||`/`;return o&&r&&r.set(o,c),c}function De(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=Array.from(t.keys()).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),r=new RegExp(n,`g`);return e=>e.replace(r,e=>t.get(e)??e)}function J(e,t,n){let r=t[e];return typeof r==`string`?e===`_splat`?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split(`/`).map(e=>ke(e,n)).join(`/`):ke(r,n):r}function Oe({path:e,params:t,decoder:n,...r}){let i=!1,a=Object.create(null);if(!e||e===`/`)return{interpolatedPath:`/`,usedParams:a,isMissingParams:i};if(!e.includes(`$`))return{interpolatedPath:e,usedParams:a,isMissingParams:i};let o=e.length,s=0,c,l=``;for(;s<o;){let r=s;c=I(e,r,c);let o=c[5];if(s=o+1,r===o)continue;let u=c[0];if(u===0){l+=`/`+e.substring(r,o);continue}if(u===2){let s=t._splat;a._splat=s,a[`*`]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o);if(!s){i=!0,(u||d)&&(l+=`/`+u+d);continue}let f=J(`_splat`,t,n);l+=`/`+u+f+d;continue}if(u===1){let s=e.substring(c[2],c[3]);!i&&!(s in t)&&(i=!0),a[s]=t[s];let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=J(s,t,n)??`undefined`;l+=`/`+u+f+d;continue}if(u===3){let i=e.substring(c[2],c[3]),s=t[i];if(s==null)continue;a[i]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=J(i,t,n)??``;l+=`/`+u+f+d;continue}}return e.endsWith(`/`)&&(l+=`/`),{usedParams:a,interpolatedPath:l||`/`,isMissingParams:i}}function ke(e,t){let n=encodeURIComponent(e);return t?.(n)??n}
1var Ae=`Error preloading route! âï¸`,Y=c(u(),1),je=Y.use,Me=typeof window<`u`?Y.useLayoutEffect:Y.useEffect;function Ne(e){let t=Y.useRef({value:e,prev:null}),n=t.current.value;return e!==n&&(t.current={value:e,prev:n}),t.current.prev}function Pe(e,t,n={},r={}){Y.useEffect(()=>{if(!e.current||r.disabled||typeof IntersectionObserver!=`function`)return;let i=new IntersectionObserver(([e])=>{t(e)},n);return i.observe(e.current),()=>{i.disconnect()}},[t,n,r.disabled,e])}function Fe(e){let t=Y.useRef(null);return Y.useImperativeHandle(e,()=>t.current,[]),t}var Ie=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),Le=o(((e,t)=>{t.exports=Ie()})),Re=Le();function ze({children:e,fallback:t=null}){return Be()?(0,Re.jsx)(Y.Fragment,{children:e}):(0,Re.jsx)(Y.Fragment,{children:t})}function Be(){return Y.useSyncExternalStore(Ve,()=>!0,()=>!1)}function Ve(){return()=>{}}var He=Y.createContext(null);function Ue(e){return Y.useContext(He)}var We=Y.createContext(void 0),Ge=Y.createContext(void 0),Ke=o((e=>{var t=u();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),qe=o(((e,t)=>{t.exports=Ke()})),Je=o((e=>{var t=u(),n=qe();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),Ye=o(((e,t)=>{t.exports=Je()}))();function Xe(e,t){return e===t}function Ze(e,t,n=Xe){let r=(0,Y.useCallback)(t=>{if(!e)return()=>{};let{unsubscribe:n}=e.subscribe(t);return n},[e]),i=(0,Y.useCallback)(()=>e?.get(),[e]);return(0,Ye.useSyncExternalStoreWithSelector)(r,i,i,t,n)}var Qe={get(){},subscribe(){return{unsubscribe(){}}}};function $e(e,t){let n=Y.useRef();return r=>{let i=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=x(n.current,i):i}}function et(e){let t=Ue(),n=Y.useContext(e.from?Ge:We),r=e.from?t.stores.getRouteMatchStore(e.from):t.stores.matchStores.get(n),i=$e(e,t),a=Ze(r??Qe,e=>e?i(e):Qe);if(a!==Qe)return a;(e.shouldThrow??!0)&&M()}var tt=f();function nt(e,t){let n=Ue(),r=Fe(t),{activeProps:i,inactiveProps:a,activeOptions:o,to:s,preload:c,preloadDelay:l,preloadIntentProximity:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:g,children:_,target:v,disabled:y,style:b,className:x,onClick:S,onBlur:C,onFocus:w,onMouseEnter:T,onMouseLeave:D,onTouchStart:O,ignoreBlocker:ee,params:te,search:k,hash:ne,state:A,mask:re,reloadDocument:ie,unsafeRelative:ae,from:oe,_fromLocation:se,...ce}=e,M=Be(),N=Y.useMemo(()=>e,[n,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),P=Ze(n.stores.location,e=>e,(e,t)=>e.href===t.href),F=Y.useMemo(()=>{let e={_fromLocation:P,...N};return n.buildLocation(e)},[n,P,N]),le=F.maskedLocation?F.maskedLocation.publicHref:F.publicHref,I=F.maskedLocation?F.maskedLocation.external:F.external,L=Y.useMemo(()=>lt(le,I,n.history,y),[y,I,le,n.history]),R=Y.useMemo(()=>
1{if(L?.external)return j(L.href,n.protocolAllowlist)?void 0:L.href;if(!ut(s)&&typeof s==`string`&&s.indexOf(`:`)!==-1)try{return new URL(s),j(s,n.protocolAllowlist)?void 0:s}catch{}},[s,L,n.protocolAllowlist]),z=Y.useMemo(()=>{if(R)return!1;if(o?.exact){if(!Te(P.pathname,F.pathname,n.basepath))return!1}else{let e=q(P.pathname,n.basepath),t=q(F.pathname,n.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return(o?.includeSearch??!0)&&!E(P.search,F.search,{partial:!o?.exact,ignoreUndefined:!o?.explicitUndefined})?!1:!o?.includeHash||M&&P.hash===F.hash},[o?.exact,o?.explicitUndefined,o?.includeHash,o?.includeSearch,P,R,M,F.hash,F.pathname,F.search,n.basepath]),B=z?h(i,{})??it:rt,V=z?rt:h(a,{})??rt,ue=[x,B.className,V.className].filter(Boolean).join(` `),de=(b||B.style||V.style)&&{...b,...B.style,...V.style},[fe,pe]=Y.useState(!1),me=Y.useRef(!1),H=e.reloadDocument||R?!1:c??n.options.defaultPreload,U=l??n.options.defaultPreloadDelay??0,W=Y.useCallback(()=>{n.preloadRoute({...N,_builtLocation:F}).catch(e=>{console.warn(e),console.warn(Ae)})},[n,N,F]);Pe(r,Y.useCallback(e=>{e?.isIntersecting&&W()},[W]),ct,{disabled:!!y||H!==`viewport`}),Y.useEffect(()=>{me.current||!y&&H===`render`&&(W(),me.current=!0)},[y,W,H]);let he=e=>{let t=e.currentTarget.getAttribute(`target`),r=v===void 0?t:v;if(!y&&!ft(e)&&!e.defaultPrevented&&(!r||r===`_self`)&&e.button===0){e.preventDefault(),(0,tt.flushSync)(()=>{pe(!0)});let t=n.subscribe(`onResolved`,()=>{t(),pe(!1)});n.navigate({...N,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:g,ignoreBlocker:ee})}};if(R)return{...ce,ref:r,href:R,..._&&{children:_},...v&&{target:v},...y&&{disabled:y},...b&&{style:b},...x&&{className:x},...S&&{onClick:S},...C&&{onBlur:C},...w&&{onFocus:w},...T&&{onMouseEnter:T},...D&&{onMouseLeave:D},...O&&{onTouchStart:O}};let ge=e=>{if(y||H!==`intent`)return;if(!U){W();return}let t=e.currentTarget;if(X.has(t))return;let n=setTimeout(()=>{X.delete(t),W()},U);X.set(t,n)},_e=e=>{y||H!==`intent`||W()},G=e=>{if(y||!H||!U)return;let t=e.currentTarget,n=X.get(t);n&&(clearTimeout(n),X.delete(t))};return{...ce,...B,...V,href:L?.href,ref:r,onClick:Z([S,he]),onBlur:Z([C,G]),onFocus:Z([w,ge]),onMouseEnter:Z([T,ge]),onMouseLeave:Z([D,G]),onTouchStart:Z([O,_e]),disabled:!!y,target:v,...de&&{style:de},...ue&&{className:ue},...y&&at,...z&&ot,...M&&fe&&st}}var rt={},it={className:`active`},at={role:`link`,"aria-disabled":!0},ot={"data-status":`active`,"aria-current":`page`},st={"data-transitioning":`transitioning`},X=new WeakMap,ct={rootMargin:`100px`},Z=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function lt(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function ut(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var dt=Y.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=nt(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return Y.createElement(`a`,t,o)}return Y.createElement(n,a,o)});function ft(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var pt={name:`Bitcoin Bounty Hunter`,domain:`bitcoinbountyhunter.com`,url:`https://bitcoinbountyhunter.com`,tagline:`Investigative journalism for the digital asset economy`,description:`Bitcoin Bounty Hunter delivers investigative reporting and daily analysis on bit
1coin, crypto markets, mining, and digital asset regulation.`,language:`en-us`,copyright:`BBH Media Group`,email:`[email protected]`,issn:`2831-927X`},mt=`/brand`,ht=[{id:`google-news`,title:`Google News Publisher Center`,blurb:`The exact files required when submitting Bitcoin Bounty Hunter to Google News and Google Publisher Center. PNG, transparent background, no padding beyond the safe area.`,assets:[{file:`bbh-logo-square-1024.png`,label:`Square logo â dark ink`,dimensions:`1024 Ã 1024`,format:`PNG, transparent`,usage:`Publisher Center square logo (recommended upload).`,preview:`light`},{file:`bbh-logo-square-512.png`,label:`Square logo â dark ink`,dimensions:`512 Ã 512`,format:`PNG, transparent`,usage:`Publisher Center square logo minimum size.`,preview:`light`},{file:`bbh-logo-square-1024-white.png`,label:`Square logo â white ink`,dimensions:`1024 Ã 1024`,format:`PNG, transparent`,usage:`Square logo for dark surfaces and dark-mode products.`,preview:`dark`},{file:`bbh-logo-rect-1024x128.png`,label:`Rectangular logo â dark ink`,dimensions:`1024 Ã 128 (8:1)`,format:`PNG, transparent`,usage:`Publisher Center rectangular logo, within the 4:1â10:1 ratio rule.`,preview:`light`},{file:`bbh-logo-rect-2048x256.png`,label:`Rectangular logo â high resolution`,dimensions:`2048 Ã 256 (8:1)`,format:`PNG, transparent`,usage:`Retina rectangular logo for print and partner placements.`,preview:`light`},{file:`bbh-logo-rect-1024x128-white.png`,label:`Rectangular logo â white ink`,dimensions:`1024 Ã 128 (8:1)`,format:`PNG, transparent`,usage:`Rectangular logo for dark backgrounds.`,preview:`dark`},{file:`bbh-logo-amp-600x60.png`,label:`Publisher logo â Search & AMP`,dimensions:`600 Ã 60`,format:`PNG, solid white`,usage:`schema.org publisher.logo used in our NewsArticle structured data.`,preview:`light`}]},{id:`icons`,title:`Icons & favicons`,blurb:`The seal mark alone, for app icons, feed readers and browser tabs.`,assets:[{file:`bbh-logo-square-512-on-black.png`,label:`Seal on newsprint black`,dimensions:`512 Ã 512`,format:`PNG, opaque`,usage:`Social avatars where transparency is not supported.`,preview:`dark`},{file:`bbh-logo-square-512-on-white.png`,label:`Seal on white`,dimensions:`512 Ã 512`,format:`PNG, opaque`,usage:`Light-background avatars and directory listings.`,preview:`light`},{file:`bbh-icon-180.png`,label:`Apple touch icon`,dimensions:`180 Ã 180`,format:`PNG, opaque`,usage:`iOS home-screen icon.`,preview:`light`},{file:`bbh-icon-rss-144.png`,label:`RSS channel image`,dimensions:`144 Ã 144`,format:`PNG, opaque`,usage:`The channel image referenced by our RSS 2.0 feed.`,preview:`light`},{file:`bbh-icon-48.png`,label:`Favicon`,dimensions:`48 Ã 48`,format:`PNG, opaque`,usage:`Google News requires a favicon of at least 16 Ã 16.`,preview:`light`},{file:`bbh-icon-32.png`,label:`Favicon`,dimensions:`32 Ã 32`,format:`PNG, opaque`,usage:`Browser tab icon.`,preview:`light`}]},{id:`social`,title:`Social & press`,blurb:`Open Graph card used when our pages are shared, plus the full lock-up.`,assets:[{file:`bbh-logo-schema-1200x630.png`,label:`Open Graph card`,dimensions:`1200 Ã 630`,format:`PNG, opaque`,usage:`Default og:image and twitter:image for the publication.`,preview:`dark`}]}];ht.flatMap(e=>e.assets);var Q=e=>`${mt}/${e}`,gt={square:Q(`bbh-logo-square-1024.png`),squareWhite:Q(`bbh-logo-square-1024-white.png`),rect:Q(`bbh-logo-rect-1024x128.png`),publisher:Q(`bbh-logo-amp-600x60.png`),rss:Q(`bbh-icon-rss-144.png`),appleTouch:Q(`bbh-icon-180.png`),socialCard:Q(`bbh-logo-schema-1200x630.png`)},$=[{slug:`elias-thorne`,name:`Elias Thorne`,role:`Chief Investigative Correspondent`,bio:`Elias Thorne has covered financial crime and illicit finance for fourteen years, including six years reporting on blockchain forensics. He previously worked as a compliance analyst at a global custody bank.`,email:`[email protected]`},{slug:`sarah-jenkins`,name:`Sarah Jenkins`,role:`Energy & Mining Reporter`,bio:`Sarah Jenkins reports on power markets and the industrial side of bitcoin mining. She holds a master's degree in energy economics and has covered grid policy since 2016.`,email:`[email protected]`},{slug:`marcus-vane`,name:`Marcus Vane`,role:`Markets Editor`,bio:`Marcus Vane leads market coverage at Bitcoin Bounty Hunter. He spent nine years on institutional trading desks before moving to journalism in 2019.`,email:`marcus.vane@bit
1coinbountyhunter.com`},{slug:`caleb-ross`,name:`Caleb Ross`,role:`Senior Research Fellow`,bio:`Caleb Ross writes long-form analysis on protocol economics and network security. His research has been cited by university blockchain programs and industry standards bodies.`,email:`[email protected]`},{slug:`priya-raman`,name:`Priya Raman`,role:`Policy Correspondent`,bio:`Priya Raman covers financial regulation from Washington and Brussels. She is a former legislative aide on a Senate banking subcommittee.`,email:`[email protected]`},{slug:`diane-okafor`,name:`Diane Okafor`,role:`Enforcement Reporter`,bio:`Diane Okafor covers courts, enforcement actions and bankruptcy proceedings across the digital asset industry. She spent five years as a legal affairs reporter for a regional daily before joining the newsroom in 2022.`,email:`[email protected]`},{slug:`tomas-herrera`,name:`Tomás Herrera`,role:`Latin America Correspondent`,bio:`Tomás Herrera reports on remittances, currency substitution and mining build-outs across Latin America from Bogotá. He previously covered macroeconomics for a Colombian business weekly.`,email:`[email protected]`},{slug:`ingrid-lindqvist`,name:`Ingrid Lindqvist`,role:`Protocol & Engineering Reporter`,bio:`Ingrid Lindqvist covers client software, consensus changes and cryptography research. She worked as a distributed systems engineer for seven years before turning to reporting.`,email:`[email protected]`},{slug:`daniel-whitfield`,name:`Daniel Whitfield`,role:`Derivatives & Market Structure Reporter`,bio:`Daniel Whitfield covers exchange plumbing, clearing and derivatives markets. He is a former futures broker and holds a degree in financial mathematics.`,email:`[email protected]`}];function _t(e){return $.find(t=>t.slug===e)??$[0]}function vt(e){let t=0;for(let n=0;n<e.length;n+=1)t=(t*31+e.charCodeAt(n))%100003;return $[t%$.length].slug}var yt=[{slug:`basis-trade-unwinds-as-futures-premium-compresses`,title:`Basis Trade Unwinds as Futures Premium Compresses to 18-Month Low`,dek:`The annualised spread between spot and quarterly futures has fallen below the cost of funding, forcing leveraged carry desks to close positions they had held since spring.`,section:`markets`,published:`2026-08-17T10:20:00Z`,image:`/assets/markets-desk-T8D95wlO.jpg`,imageAlt:`A lone trader silhouetted against a wall of dim market data screens`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`basis trade`,`futures`,`funding rates`,`market structure`],body:[{type:`p`,text:`The cash-and-carry trade that quietly absorbed billions of dollars of institutional balance sheet over the past year has stopped paying. Annualised premiums on quarterly bitcoin futures at the two largest regulated venues fell to roughly four percent this week, their lowest level since early 2025 and below the short-term funding rates most desks borrow at.`},{type:`p`,text:`The mechanics are unforgiving. A desk that buys spot exposure and sells a dated future earns the spread between them; when that spread narrows past its cost of capital, the position becomes a drag and the only rational response is to unwind both legs.`},{type:`h2`,text:`Why the spread collapsed`},{type:`p`,text:`Three factors compressed the premium at once: heavier hedging supply from treasury-holding corporates, the migration of directional demand into options, and a steady increase in the amount of capital chasing the same carry. None of them is a distress signal. Together they have made a crowded trade unprofitable.`},{type:`quote`,text:`Nobody is being liquidated. They are simply being bored out of the position, which is a much healthier way for leverage to leave a market.`},{type:`p`,text:`Desks contacted for this story said they expect the premium to re-widen only when a directional bid returns to the front of the curve. Until then, several are redeploying into options market-making, where implied volatility remains comparatively rich.`}]},{slug:`options-open-interest-shifts-to-longer-dated-strikes`,title:`Options Open Interest Shifts Decisively to Longer-Dated Strikes`,dek:`Positioning data shows a market planning for 2027 rather than trading the week, with June expiries now the single largest concentration of open contracts.`,section:`markets`,published:`2026-08-16T08:05:00Z`,keywords:[`options`,`open interest`,`volatility`,`derivatives`],body:[{type:`p`,text:`For most of bitcoin's history as a listed derivative, open interest clustered in the nearest weekly expiry. That is no longer true. Contracts expiring more than six months out now account for the largest single share of outstanding notional on the dominant offshore venue, and a comparable shift is visible in regulated US listings.`},{type:`p`,text:`Long-dated positioning is a different animal from weekly speculation. It ties up more margin, is far harder to exit quickly, and typically reflects a view about a policy or adoption milestone rather than a chart pattern.`},{type:`h2`,text:`What the strikes imply`},{type:`p`,text:`The heaviest concentrations sit at round-number strikes well above spot, a distribution consistent with structured products sold to wealth channels rather than outright directional bets. Dealers who sold those calls hedge by buying spot into strength, which mechanically dampens upside volatility and lengthens rallies.`},{type:`p`,text:`The corollary is less comfortable. The same hedging flow reverses on the way down, and a market whose volatility has been suppressed by dealer positioning tends to rediscover it abruptly when that positioning rolls off.`}]},{slug:`corporate-treasuries-disclose-digital-asset-holdings`,title:`Forty-One Listed Companies Now Disclose Digital Asset Holdings in Quarterly Filings`,dek:`An analysis of the latest reporting season shows treasury allocations spreading well beyond technology, into logistics, insurance and regional banking.`,section:`markets`,kicker:`Analysis`,published:`2026-08-14T13:40:00Z`,keywords:[`corporate treasury`,`filings`,`accounting`,`institutional adoption`],body:[{type:`p`,text:`Bitcoin Bounty Hunter reviewed the most recent quarterly filings of every listed company known to hold digital assets on balance sheet. Forty-one now disclose a position, up from twenty-six a year ago, and the composition of that list has changed more than its length.`}
1,{type:`p`,text:`Technology firms are no longer the majority. Logistics operators, two regional banks and a mid-sized insurer have all initiated positions in the past three quarters, in most cases describing the allocation as a hedge against long-horizon currency debasement rather than a growth bet.`},{type:`h2`,text:`Fair value changed the calculus`},{type:`p`,text:`Accounting reform did much of the work. Under fair-value treatment, holdings are marked both up and down each period, ending the asymmetry that forced companies to book impairments on declines while never recognising gains. Several finance chiefs said that change alone removed the strongest internal objection.`},{type:`p`,text:`Disclosure quality remains uneven. Fewer than half of the filings reviewed identify their custodian, and only nine describe the internal controls governing key management â a gap auditors say is likely to attract attention in the next reporting cycle.`}]},{slug:`market-makers-quote-tighter-spreads-in-thin-summer-tape`,title:`Market Makers Quote Tighter Spreads Even as Summer Volumes Thin`,dek:`Liquidity metrics have improved through the seasonal lull, a reversal of the pattern that defined every previous August in the asset's listed history.`,section:`markets`,published:`2026-08-12T09:30:00Z`,keywords:[`liquidity`,`market making`,`spreads`,`exchanges`],body:[{type:`p`,text:`Order book depth within fifty basis points of mid-price has risen roughly nineteen percent across the five largest venues since June, even as aggregate spot turnover fell to its lowest level of the year. Tighter quotes in a thinner tape is not the historical pattern.`},{type:`p`,text:`Two structural changes explain most of it. Cross-venue collateral arrangements let market makers post margin once and quote in several books simultaneously, and the growth of regulated custody has reduced the amount of inventory firms must hold on exchange to face the market.`},{type:`h2`,text:`The fragility question`},{type:`p`,text:`Depth financed by shared collateral is efficient until a single node fails. Risk officers at two firms said their stress scenarios now model the loss of a clearing relationship rather than a price shock, on the reasoning that the latter is survivable and the former is not.`}]},{slug:`grid-operators-pay-miners-to-curtail-record-summer-peak`,title:`Grid Operators Paid Miners a Record Sum to Curtail During the Summer Peak`,dek:`Demand-response payments to flexible mining loads exceeded their previous seasonal high, deepening a dependency that both utilities and critics find uncomfortable.`,section:`mining`,published:`2026-08-17T07:45:00Z`,image:`/assets/mining-substation-uwHtKqFJ.jpg`,imageAlt:`A high-voltage substation silhouetted against a heavy dusk sky`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`demand response`,`curtailment`,`grid`,`energy policy`],body:[{type:`p`,text:`Payments to bitcoin mining operations for reducing consumption during peak demand hours reached a seasonal record this summer, according to settlement data reviewed by Bitcoin Bounty Hunter. In several intervals, curtailment revenue exceeded what the same machines would have earned by hashing.`},{type:`p`,text:`The arrangement is straightforward. Grid operators need loads that can vanish within minutes; mining is one of the few industrial loads that can, without spoiling product or idling a workforce.`},{type:`h2`,text:`A dependency cuts both ways`},{type:`p`,text:`Consumer advocates argue that ratepayers are subsidising a discretionary industry. Utilities counter that the alternative â firming capacity built and paid for year-round to cover a handful of hours â costs substantially more.`},{type:`quote`,text:`We are not paying them to mine. We are paying them to stop, and stopping is the product we could not previously buy at any price.`},{type:`p`,text:`The debate is likely to sharpen. Two state commissions have opened dockets on whether large flexible loads should face a distinct tariff class, a proceeding that would set the terms of the relationship for years.`}]},{slug:`immersion-cooling-retrofits-extend-hardware-life`,title:`Immersion Retrofits Are Extending Hardware Life Well Past Its Rated Cycle`,dek:`Operators report machines four generations old still clearing operating costs after conversion to dielectric fluid co
1oling, upending fleet replacement schedules.`,section:`mining`,published:`2026-08-13T11:15:00Z`,keywords:[`immersion cooling`,`ASIC`,`hardware`,`efficiency`],body:[{type:`p`,text:`The received wisdom of mining economics held that a machine has roughly four productive years before rising network difficulty renders it scrap. Operators running immersion retrofits are quietly disproving it.`},{type:`p`,text:`By submerging boards in dielectric fluid, operators eliminate thermal throttling and dust ingress, the two failure modes that account for most air-cooled attrition. Several fleets report hardware from 2022 still clearing marginal power cost at underclocked settings.`},{type:`h2`,text:`The capital arithmetic`},{type:`p`,text:`Conversion is not free: tanks, fluid and heat exchangers add meaningful cost per megawatt, and the fluid itself must be filtered and periodically replaced. Operators who have run the numbers say the retrofit pays back inside eighteen months at current spreads, and never at all if power costs are already low enough to make new hardware the better buy.`},{type:`p`,text:`The second-order effect is on manufacturers. A fleet that lasts seven years instead of four buys new machines far less often, and at least two hardware makers have begun pricing service contracts as though they expect exactly that.`}]},{slug:`flared-gas-mining-methane-measurement-dispute`,title:`Flared-Gas Mining Faces a Measurement Dispute It Cannot Easily Win`,dek:`Operators claim substantial methane abatement at wellhead sites. Independent measurement specialists say the underlying baselines are largely unverified.`,section:`mining`,kicker:`Analysis`,published:`2026-08-11T15:00:00Z`,keywords:[`flared gas`,`methane`,`emissions`,`measurement`],body:[{type:`p`,text:`Wellhead mining â trucking generators and containerised machines to gas that would otherwise be flared â has become the industry's most-cited environmental argument. It rests on a comparison that almost nobody measures directly.`},{type:`p`,text:`The claimed benefit depends on flare destruction efficiency: how completely a flare burns methane it is given. Operators typically assume the regulatory default. Field studies using aerial spectroscopy have repeatedly found real-world efficiency below that default, which would make the abatement claim conservative rather than inflated.`},{type:`h2`,text:`Why nobody has settled it`},{type:`p`,text:`Direct measurement is expensive, site-specific and awkward for both sides. Producers have little incentive to document poorly performing flares, and miners marketing green attributes have little incentive to fund a study that might narrow their headline figure.`},{type:`p`,text:`Two operators told Bitcoin Bounty Hunter they are now commissioning third-party site measurement anyway, on the calculation that buyers of environmental attributes will soon demand it and early data will be worth more than a favourable assumption.`}]},{slug:`senate-markup-advances-market-structure-bill`,title:`Senate Committee Advances Market Structure Bill With Custody Amendment Intact`,dek:`A bipartisan markup preserved the provision separating customer assets from operating capital, the single most contested clause in eighteen months of negotiation.`,section:`regulation`,published:`2026-08-17T11:50:00Z`,image:`/assets/regulation-hearing-mPelG12k.jpg`,imageAlt:`An empty wood-panelled hearing room lit by a single overhead lamp`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`market structure`,`Senate`,`custody`,`legislation`],body:[{type:`p`,text:`The committee voted to advance the digital asset market structure bill after a markup that ran past midnight, leaving intact the segregation requirement that industry lobbyists had spent a year attempting to soften.`},{type:`p`,text:`As written, the provision bars a registered intermediary from commingling customer assets with its own or pledging them as collateral without specific written consent. It is a direct legislative response to the failures of 2022, and its survival through markup is the clearest signal yet of where the chamber's consensus sits.`},{type:`h2`,text:`What was traded away`},{type:`p`,text:`Two concessions cleared the path. The compliance runway was extended to twenty-four months, and a de minimis exemption now shields intermediaries below a threshold of customer assets from the full examination regime. Consumer groups called the second change a loophole;
1 sponsors called it the price of a floor vote.`},{type:`p`,text:`The bill still faces an uncertain calendar. Staff on both sides said floor time before the end of the session is possible but not assured, and a companion measure in the lower chamber differs materially on the treatment of decentralised protocols.`}]},{slug:`eu-supervisors-publish-first-mica-enforcement-tally`,title:`EU Supervisors Publish First Enforcement Tally Under the Bloc's Crypto Regime`,dek:`National authorities reported ninety-three formal actions in the first full year, concentrated overwhelmingly in disclosure and marketing rather than custody failures.`,section:`regulation`,published:`2026-08-15T09:25:00Z`,keywords:[`MiCA`,`European Union`,`enforcement`,`supervision`],body:[{type:`p`,text:`The bloc's securities authority published the first consolidated enforcement statistics under the crypto-asset regime, offering the clearest picture yet of what European supervisors actually pursue when handed a rulebook.`},{type:`p`,text:`Ninety-three formal actions were opened across member states in the first full year of application. Nearly two-thirds concerned marketing communications and disclosure documents; only eleven involved safeguarding of client assets, the area regulators had publicly identified as their principal concern.`},{type:`h2`,text:`Divergence between member states`},{type:`p`,text:`Four national authorities accounted for more than seventy percent of actions. Supervisors in smaller jurisdictions attributed their lower counts to smaller markets; industry observers noted those same jurisdictions host a disproportionate share of the bloc's registered issuers.`},{type:`p`,text:`The report avoids the word inconsistency, but its recommendation section asks for a common supervisory methodology and a shared escalation ladder â which amounts to the same diagnosis in more diplomatic language.`}]},{slug:`tax-agency-clarifies-staking-reward-timing`,title:`Tax Agency Clarifies When Staking Rewards Become Taxable Income`,dek:`New guidance fixes recognition at the moment a holder gains the practical ability to transfer rewards, resolving a question that has produced contradictory advice for six years.`,section:`regulation`,published:`2026-08-12T14:10:00Z`,keywords:[`taxation`,`staking`,`guidance`,`compliance`],body:[{type:`p`,text:`Guidance published this week sets recognition of staking rewards at the point of dominion and control â when the recipient can actually move the tokens â rather than at the moment they are credited by a protocol.`},{type:`p`,text:`The distinction is not academic. Networks with mandatory unbonding periods credit rewards that cannot be transferred for days or weeks, a gap during which the earlier interpretation could create a tax liability on value the holder was unable to sell.`},{type:`h2`,text:`Practical effects`},{type:`p`,text:`Custodial staking providers will need to change what they report, since most currently timestamp rewards at credit. Two large providers said the revision is straightforward for networks with deterministic unbonding and considerably harder where withdrawal queues are dynamic.`},{type:`p`,text:`The guidance is silent on liquid staking derivatives, where the holder receives a transferable token immediately. Practitioners expect that to be the subject of the next round of questions.`}]},{slug:`state-regulators-coordinate-fraud-sweep-on-yield-platforms`,title:`State Regulators Coordinate a Multi-Jurisdiction Sweep of Yield Platforms`,dek:`Nineteen securities divisions issued simultaneous demands to operators advertising fixed returns on digital asset deposits.`,section:`regulation`,published:`2026-08-10T16:30:00Z`,keywords:[`enforcement`,`yield`,`state regulators`,`investor protection`],body:[{type:`p`,text:`Securities divisions in nineteen states issued coordinated information demands to platforms advertising fixed-rate yields on digital asset deposits, in the largest joint action of its kind since 2022.`},{type:`p`,text:`The demands seek the source of advertised returns, the terms under which customer assets are lent or rehypothecated, and any communications describing the offerings as risk-free or insured â language that appears in the marketing of at least six named operators.`},{type:`h2`,text:`A familiar template`},{type:`p`,text:`Regulators involved described the sweep as pattern recognition rather than novel theory. The structures under review closely resemble those that failed three years ago: yields funded from an undisclosed trading strategy, marketed with the vocabulary of deposits.`},{type:`p`,text:`Two operators have already suspended new accounts pending review. A third told Bitcoin Bounty Hunter it disputes the characterisation and will respond in full within the statutory window.`}]},{slug:`post-quantum-signature-migration-proposal-published`,title:`Developers Publish a Migration Path for Post-Quantum Signatures`,dek:`A draft specification proposes an opt-in output type with hash-based signatures, alongside a decade-long deprecation schedule for existing key formats.`,section:`technology`,kicker:`Protocol`,published:`2026-08-16T18:00:00Z`,image:`/assets/tech-cryptography-CaEAxC8q.jpg`,imageAlt:`A dim workstation displaying cryptographic code and curve diagrams`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`post-quantum`,`cryptography`,`signatures`,`protocol upgrade`],body:[{type:`p`,text:`A draft specification circulated on the development mailing list this week sets out the first concrete migration path toward quantum-resistant signatures, proposing a new opt-in output type rather than a hard cutover.`},{type:`p`,text:`The design pairs a hash-based signature scheme with a staged deprecation of existing key formats spanning roughly a decade. Its authors are explicit that the timeline is driven by co
1ordination difficulty rather than any assessment that cryptographically relevant quantum computers are imminent.`},{type:`h2`,text:`The dormant-coin problem`},{type:`p`,text:`The hardest question is not cryptographic. Millions of coins sit in outputs whose owners are unreachable or dead. Any scheme that eventually invalidates legacy spending conditions confiscates those coins; any scheme that does not leaves a standing pool of vulnerable value.`},{type:`quote`,text:`There is no version of this where the social layer does not have to make a decision it would rather not make.`},{type:`p`,text:`Reviewers broadly welcomed the specification's conservatism while questioning its signature sizes, which would materially increase the cost of the transactions using them. The authors describe that as an acceptable price for a scheme whose security assumptions are unusually well understood.`}]},{slug:`client-diversity-improves-after-validator-incident`,title:`Client Diversity Improves Sharply in the Months After a Validator Incident`,dek:`A finality delay traced to a single implementation prompted operators to redistribute stake, cutting the dominant client's share below the critical threshold.`,section:`technology`,published:`2026-08-14T10:05:00Z`,keywords:[`client diversity`,`validators`,`consensus`,`network resilience`],body:[{type:`p`,text:`The share of stake running the dominant consensus client has fallen below the two-thirds threshold at which a single implementation bug could finalise an incorrect chain, according to operator surveys and node telemetry reviewed by Bitcoin Bounty Hunter.`},{type:`p`,text:`The shift followed a finality delay earlier this year that was traced to a state-transition edge case in that same client. Nothing was lost, but the incident made an abstract risk concrete for staking services that had until then treated client choice as an operational detail.`},{type:`h2`,text:`Incentives did the work`},{type:`p`,text:`Two large staking providers now split stake across three implementations by policy, and at least one institutional custodian has written minority-client operation into its service agreements. Operators describe the change as insurance priced in basis points rather than ideology.`},{type:`p`,text:`Researchers caution that diversity measured by stake weight can mask correlation elsewhere: a majority of nodes still run on two cloud providers, and a hosting outage does not care which client is installed.`}]},{slug:`rollup-sequencer-decentralisation-testnet-results`,title:`Shared Sequencer Testnet Publishes Its First Failure-Mode Results`,dek:`Early data shows censorship resistance improving and tail latency worsening, a trade-off rollup teams will have to price rather than solve.`,section:`technology`,published:`2026-08-13T08:40:00Z`,keywords:[`rollups`,`sequencer`,`scaling`,`layer 2`],body:[{type:`p`,text:`The first structured results from a shared sequencer testnet were published this week, and they read less like a breakthrough than a bill of trade-offs.`},{type:`p`,text:`Distributing sequencing across a rotating validator set removed the single operator able to censor or reorder transactions, the stated goal. It also raised ninety-ninth-percentile confirmation latency by roughly four hundred milliseconds relative to a centralised sequencer, a difference invisible to most users and disqualifying for latency-sensitive trading applications.`},{type:`h2`,text:`Who actually needs it`},{type:`p`,text:`Teams building consumer applications were largely indifferent to the latency cost. Teams building on-chain order books were not. Several suggested a hybrid arrangement in which a fast centralised path is backstopped by a permissionless inclusion mechanism that guarantees eventual entry.`},{type:`p`,text:`That compromise is now the default direction in at least three roadmaps, which makes forced-inclusion delay â how long a censored user must wait to get in regardless â the specification detail worth watching.`}]},{slug:`lightning-channel-liquidity-marketplaces-mature`,title:`Channel Liquidity Marketplaces Are Quietly Making Lightning Boring`,dek:`Automated liquidity leasing has cut routing failures on large payments, removing the operational chore that kept smaller node operators out.`,section:`technology`,published:`2026-08-11T12:20:00Z`,keywords:[`Lightning Network`,`payments`,`liquidity`,`routing`],body:[{type:`p`,text:`Payment routing success rates for transfers above a few hundred dollars have improved markedly over the past year, and the cause is unglamorous: a functioning market in inbound channel capacity.`},{type:`p`,text:`Node operators can now lease inbound liquidity at a quoted rate for a fixed term rather than negotiating channels by hand. The result is that capital flows toward the routes that actually carry payments, which is what the network's early designers assumed would happen and what for years did not.`},{type:`h2`,text:`The centralisation question`},{type:`p`,text:`Efficient markets concentrate. A small number of well-capitalised routing nodes handle a disproportionate share of volume, and researchers note that payment privacy degrades as the number of plausible intermediaries falls.`},{type:`p`,text:`Operators counter that the alternative â a sparse graph where large payments simply fail â protects nobody. The measurable question is whether concentration keeps rising once the easy capital efficiency gains are exhausted.`}]},{slug:`the-vanishing-auditor-attestations-firm-that-never-existed`,title:`The Vanishing Auditor: Tracing Attestations to a Firm That Barely Existed`,dek:`Four platforms published reserve attestations signed by the same accountancy. Its registered address is a mail-forwarding desk, and its sole listed principal has no licence in the jurisdiction claimed.`,section:`investigations`,kicker:`Investigation`,published:`2026-08-16T06:00:00Z`,updated:`2026-08-16T15:30:00Z`,image:`/assets/investigations-evidence-DonkB1yc.jpg`,imageAlt:`Printed documents pinned to a dark wall beneath a
1single desk lamp`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`proof of reserves`,`attestation`,`audit`,`fraud`],body:[{type:`p`,text:`The signature at the bottom of the reserve attestation looked like every other signature at the bottom of every other reserve attestation: a firm name, a date, a line about agreed-upon procedures. Bitcoin Bounty Hunter began pulling on it because the same name appeared on four unrelated platforms in three jurisdictions within eleven weeks.`},{type:`p`,text:`Corporate records list the firm at an address that a reporter visited in person. It is a mail-forwarding counter inside a shipping shop. The sole listed principal holds a licence in a jurisdiction other than the one named on the letterhead, and the professional body that would supervise the work has no record of the firm at all.`},{type:`h2`,text:`What the documents actually say`},{type:`p`,text:`Read closely, the attestations promise very little. Each confirms that balances at a stated moment matched a schedule the platform itself supplied. None verifies ownership of the addresses, none addresses liabilities, and three explicitly disclaim any opinion on solvency â in a footnote, in six-point type.`},{type:`quote`,text:`It is a photograph of whatever the client pointed the camera at. Calling it an audit is the part that misleads people.`},{type:`p`,text:`Two of the four platforms responded to detailed questions. One said it had engaged the firm through an intermediary and is now seeking a new provider; the other defended the engagement while declining to say who selected it. A third did not respond to five requests over two weeks. The fourth's website went offline during reporting.`},{type:`p`,text:`Bitcoin Bounty Hunter reviewed corporate filings in three jurisdictions, the four published attestations, and licence registers held by two professional bodies, and interviewed six accountants with experience of reserve engagements.`}]},{slug:`affiliate-networks-behind-recovery-scam-funnels`,title:`The Affiliate Networks Funnelling Fraud Victims Into a Second Scam`,dek:`People who lost money to investment fraud are being routed to paid 'asset recovery' services by the same advertising infrastructure that sold them the first pitch.`,section:`investigations`,kicker:`Investigation`,published:`2026-08-13T06:30:00Z`,keywords:[`recovery scam`,`fraud`,`advertising`,`victims`],body:[{type:`p`,text:`Search for the name of a collapsed trading platform alongside the word recovery and the results are dominated by firms promising to trace and return stolen funds for an upfront fee. Bitcoin Bounty Hunter mapped the infrastructure behind eleven of them.`},{type:`p`,text:`Seven shared a single analytics identifier. Five routed enquiry forms to the same messaging endpoint. Two used contact numbers that had previously appeared in the marketing material of the very platforms whose victims they now solicit.`},{type:`h2`,text:`How the second approach works`},{type:`p`,text:`The pitch is procedural rather than greedy. A caller cites a case reference, describes a freeze order at a foreign exchange, and asks for a modest administrative payment to release funds. Victims interviewed for this story described it as the first time since the original loss that anyone had sounded organised.`},{type:`p`,text:`Recovered funds, in every case documented here, amounted to nothing. The average additional loss among the nine victims who shared records was just under four thousand dollars.`},{type:`p`,text:`Two advertising platforms removed listings after being shown this reporting. Within nine days, near-identical listings appeared under new domains registered through the same privacy-shielded registrar.`}]},{slug:`inside-the-exchange-that-reported-its-own-insider`,title:`Inside the Exchange That Reported Its Own Head of Listings`,dek:`Internal records describe eight months of suspicious trading ahead of listing announcements â and an escalation process that nearly buried it twice.`,section:`investigations`,kicker:`Investigation`,published:`2026-08-12T06:15:00Z`,keywords:[`insider trading`,`exchange`,`compliance`,`governance`],body:[{type:`p`,text:`The first alert fired in October and was closed within a day. A surveillance analyst had flagged clustered buying in a token twenty minutes before its listing announcement, and a supervisor marked the activity consistent with informed market speculation â a category the firm's own procedures reserved for exactly this pattern.`},{type:`p`,text:`It took two more alerts, a new head of surveillance and an anonymous internal report before the exchange examined the accounts closely enough to find what internal records de
1scribe as a chain of relationships leading back to its head of listings.`},{type:`h2`,text:`The process that almost failed`},{type:`p`,text:`Documents reviewed by Bitcoin Bounty Hunter show the escalation path routed alerts through the commercial organisation before compliance saw them, an arrangement two former employees described as normal at the time and indefensible in hindsight.`},{type:`p`,text:`The exchange says it has since separated reporting lines, imposed announcement embargoes on staff trading, and referred the matter to authorities in two jurisdictions. The individual concerned, through a lawyer, denies wrongdoing and says the trading was conducted by third parties over whom he had no control.`},{type:`p`,text:`This account is based on internal surveillance records, four interviews with current and former employees, and the exchange's written responses to a detailed list of questions.`}]},{slug:`the-data-centre-that-was-never-built`,title:`The Data Centre That Was Never Built`,dek:`A county approved tax abatements for a 300-megawatt mining campus. Three years on, the site holds a gravel pad, a fence and a substation that energises nothing.`,section:`investigations`,kicker:`Investigation`,published:`2026-08-10T06:45:00Z`,keywords:[`tax abatement`,`data centre`,`local government`,`mining`],body:[{type:`p`,text:`The renderings showed nine buildings, a landscaped entrance and an employment figure the county commission repeated at three public meetings. What exists on the parcel today is a graded gravel pad, a chain-link perimeter and a substation that has never carried load.`},{type:`p`,text:`Bitcoin Bounty Hunter obtained the abatement agreement, the developer's capital plan as filed, and eighteen months of correspondence between the county and the project's holding company. Together they describe a project whose financing was contingent on a power contract that was never signed.`},{type:`h2`,text:`What the county gave up`},{type:`p`,text:`The agreement waived the majority of property tax liability for ten years and committed the county to road improvements it has already completed. Clawback provisions exist but are triggered by employment shortfalls measured from a commercial operation date that, because the facility never opened, has not begun.`},{type:`quote`,text:`We wrote the penalty around a starting gun that never fired. That is the whole problem in one sentence.`},{type:`p`,text:`The developer said in a written statement that the project remains under active evaluation and that market conditions delayed construction. Two commissioners who voted for the abatement declined to be interviewed. A third said she would vote the same way again, and that the alternative was an empty field with no substation on it.`}]}].map(e=>({...e,authorSlug:vt(e.slug)})),bt=`/assets/capygram-DCE7SJ6w.jpg`,xt=`/assets/ledger-GN74YFUs.jpg`,St=`/assets/trezor-CID77Q7R.jpg`,Ct=`/assets/metamask-CLzGDD93.jpg`,wt=`/assets/exodus-WeAUCtPJ.jpg`,Tt=`/assets/coingoat-CcmXlsx0.jpg`,Et={"capygram-review-social-network-token-mining-app-ecosystem":{productName:`Capygram`,productUrl:`https://capygram.com/`,productType:`SoftwareApplication`,brand:`Capygram Network`,applicationCategory:`SocialNetworkingApplication`,operatingSystem:`Web, iOS, Android`,rating:5,price:`Free to use`,priceValue:0,priceCurrency:`USD`,verdict:`Capygram is the most genuinely fun consumer crypto product we have tested this year: free browser-based token mining, a social feed that actually has people in it, and a growing suite of eighteen-plus mini apps that give the token somewhere to go.`,pros:[`Free, phone-friendly mining with no hardware, deposit or gas requirement`,`Eighteen-plus first-party apps give the token real in-network utility`,`Genuinely social: feeds, networks, messaging and creator tools in one account`,`Onboarding takes under a minute and never asks for a seed phrase`,`Daily streaks and referral mechanics are transparent about how power is earned`],cons:[`Token value is tied to network growth rather than an external market`,`The app catalogue is expanding fast, so quality between apps varies`],scores:[{label:`Ease of onboarding`,value:5},{label:`Breadth of features`,value:5},{label:`Mining experience`,value:5},{label:`Community activity`,value:5},{label:`Value for money`,value:5}]},"ledger-nano-x-review-hardware-wallet-security-usability":{productName:`Ledger Nano X`,productUrl:`https://www.ledger.com/`,productType:`Product`,brand:`Ledger`,rating:4,price:`$149`,priceValue:149,priceCurrency:`USD`,verdict:`Still the most convenient way for most people to hold keys offline, with the broadest asset coverage in the category â but the closed firmware and the recovery-service saga mean it asks for more trust than its rivals.`,pros:[`Bluetooth and mobile signing make daily use realistic`,`Broadest asset and dApp coverage of any consumer hardware wallet`,`Secure element has never been publicly extracted`,`Ledger Live is the most polished companion app in the category`],cons:[`Firmware remains closed source, so security claims cannot be independently verified`,`The 2020 customer data breach still generates phishing aimed at owners`,`Optional key-recovery service alarmed long-time users and is opt-in only by policy`],scores:[{label:`Security model`,value:4},{label:`Transparency`,value:3},{label:`Asset coverage`,value:5},{label:`Daily usability`,value:4},{label:`Value for money`,value:4}]},"trezor-safe-5-review-open-source-hardware-wallet":{productName:`Trezor Safe 5`,productUrl:`https://trezor.io/`,productType:`Product`,brand:`Trezor`,rating:4.5,price:`$169`,priceValue:169,priceCurrency:`USD`,verdict:`The clearest choice for anyone who wants auditability with their security: o
1pen firmware, a secure element, and a colour touchscreen that finally makes address verification pleasant.`,pros:[`Firmware and companion app are open source and independently auditable`,`Colour touchscreen makes verifying long addresses far less error-prone`,`Secure element plus passphrase support closes the old physical-extraction gap`,`Shamir backup available for people who want split recovery`],cons:[`No Bluetooth, so mobile use means a cable`,`Altcoin support is narrower than Ledger's and often needs third-party wallets`,`Priced at the top of the consumer range`],scores:[{label:`Security model`,value:5},{label:`Transparency`,value:5},{label:`Asset coverage`,value:4},{label:`Daily usability`,value:4},{label:`Value for money`,value:4}]},"metamask-review-browser-wallet-still-default-2026":{productName:`MetaMask`,productUrl:`https://metamask.io/`,productType:`SoftwareApplication`,brand:`Consensys`,applicationCategory:`FinanceApplication`,operatingSystem:`Web, Chrome, Firefox, iOS, Android`,rating:3.5,price:`Free (swap fees apply)`,priceValue:0,priceCurrency:`USD`,verdict:`Unmatched compatibility and the wallet every dApp tests against, but the swap fees, the noisy interface and the safety of its default flows all lag behind newer competitors.`,pros:[`Works with practically every EVM dApp on the internet`,`Hardware wallet pairing is straightforward and well documented`,`Network and token management is fully user-controlled`],cons:[`In-app swap fee is materially higher than routing through an aggregator directly`,`Transaction previews still under-explain what an approval actually grants`,`Feature creep has made the extension busier and slower than it was`,`Seed-phrase-only recovery remains unforgiving for new users`],scores:[{label:`Compatibility`,value:5},{label:`Security defaults`,value:3},{label:`Clarity of interface`,value:3},{label:`Fees`,value:2},{label:`Value for money`,value:4}]},"exodus-wallet-review-multi-asset-software-wallet":{productName:`Exodus Wallet`,productUrl:`https://www.exodus.com/`,productType:`SoftwareApplication`,brand:`Exodus Movement`,applicationCategory:`FinanceApplication`,operatingSystem:`Windows, macOS, Linux, iOS, Android`,rating:4,price:`Free (spread applies on in-app swaps)`,priceValue:0,priceCurrency:`USD`,verdict:`The friendliest multi-chain software wallet for people leaving an exchange for the first time, provided they understand that convenience is being paid for in the swap spread.`,pros:[`Clean, genuinely beginner-legible interface across desktop and mobile`,`Wide multi-chain coverage without manual RPC configuration`,`Human customer support, which is rare in self-custody`,`Trezor pairing available for users who graduate to hardware`],cons:[`Swap pricing is a built-in spread rather than a disclosed fee`,`Parts of the stack remain closed source`,`Staking options are curated rather than comprehensive`],scores:[{label:`Ease of use`,value:5},{label:`Security model`,value:4},{label:`Asset coverage`,value:4},{label:`Fee transparency`,value:3},{label:`Value for money`,value:4}]}};Et[`coingoat-review-portfolio-tracker-social-network-goatcoin-mining`]={productName:`CoinGoat`,productUrl:`https://coingoat.com/`,productType:`SoftwareApplication`,brand:`CoinGoat`,applicationCategory:`FinanceApplication`,operatingSystem:`Web, iOS, Android`,rating:5,price:`Free to use`,priceValue:0,priceCurrency:`USD`,verdict:`CoinGoat is the first app we have tested that makes portfolio tracking, price alerts, a trader-native social feed and free phone-based token mining feel like one product instead of four. Twelve-hour Goatcoin sessions, eight levels, three affiliate tiers and a genuinely useful tracker â and it costs nothing to run.`,pros:[`Portfolio tracker, watchlists, DCA tools and price alerts are legitimately good on their own`,`Free 12-hour Goatcoin mining sessions need no hardware, deposit or gas`,`Level, streak and referral multipliers are stated plainly instead of hidden`,`Social layer is trader-shaped: follows, snaps, group chat and GOAT tipping`,`Three-tier affiliate commissions pay out whenever your herd mines`,`Goatcoin has a stated destination â the Capygram blockchain in 2027`],cons:[`Goatcoin has no external market until the 2027 chain launch, so today's balance is a claim on the future`,`Eight-level progression rewards daily consistency, which not everyone wants from a tracker`],scores:[{label:`Ease of onboarding`,value:5},{label:`Portfolio & tracking tools`,value:5},{label:`Mining experience`,value:5},{label:`Social features`,value:5},{label:`Rewards transparency`,value:5},{label:`Value for money`,value:5}]};var Dt=[{slug:`coingoat-review-portfolio-tracker-social-network-goatcoin-mining`,title:`CoinGoat Review: The Portfolio Tracker That Tur
1ned Into a Crypto Social Network â And Pays You to Show Up`,dek:`Live portfolio and rank tracking, a trader-native feed, three-tier affiliate commissions and free twelve-hour Goatcoin mining from a phone. After a month of daily use, CoinGoat is the most complete free crypto app we have reviewed.`,section:`reviews`,kicker:`Review`,authorSlug:`marcus-vane`,published:`2026-08-23T06:30:00Z`,image:Tt,imageAlt:`The CoinGoat.com homepage showing a Goatcoin balance, active mining session and live BTC, SOL and ETH price cards`,imageCredit:`Screenshot: Bitcoin Bounty Hunter`,keywords:[`CoinGoat`,`Goatcoin`,`crypto portfolio tracker`,`crypto social network`,`phone mining`,`Capygram blockchain`,`app review`],body:[{type:`p`,text:`There are two kinds of crypto app that almost nobody keeps. The first is the portfolio tracker: precise, useful for about ninety seconds a day, and utterly replaceable. The second is the earn app: exciting on day one, abandoned by day four once you realise the thing you are accumulating goes nowhere. CoinGoat's insight is that these two failures cancel each other out, and that combining them properly produces something neither category has managed on its own â an app people actually open every day for a reason they can articulate.`},{type:`p`,text:`We ran CoinGoat as our primary tracker for thirty-one days across desktop Chrome, Safari on an iPhone and Chrome on a mid-range Android handset. We tracked a real seven-asset portfolio, ran every mining session we could claim, posted to the feed, tipped strangers, joined group chats and referred three people to test the affiliate tiers. This review is based on that month, not on a marketing page.`},{type:`h2`,text:`Onboarding: free signup, instant bonus, no wallet ceremony`},{type:`p`,text:`Account creation took thirty-four seconds. There is no browser extension, no seed phrase, no gas to fund and no deposit to make â the site's own framing is "up and running in three taps," and for once that is accurate rather than aspirational. A welcome Goatcoin bonus lands immediately, which sounds like a small thing and is not: the first balance is the moment a new user stops evaluating and starts participating.`},{type:`p`,text:`Crucially, nothing about the funnel is coercive. You are not asked to connect a wallet you do not have, verify an identity you did not offer, or deposit before you can look around. The tracker works fully on a free account, which means CoinGoat has to earn retention with the product rather than with a locked balance.`},{type:`h2`,text:`The tracker is genuinely good, and that matters`},{type:`p`,text:`Strip out the token entirely and CoinGoat would still be a competent portfolio app. Live prices, watchlists, rank tracking across the market, holdings goals, DCA planning tools and price alerts are all first-class rather than decorative. During testing the price cards for BTC, SOL and ETH stayed in step with the venues we checked them against, and alerts fired on time â we set eleven and received eleven.`},{type:`p`,text:`This is the part most "social plus earn" products get wrong. They bolt a feed onto a rewards mechanic and hope the combination generates a habit. CoinGoat instead attaches the rewards to a task the user already had: checking what their coins did overnight. The mining claim button sits next to the number you came to look at anyway, which is why the streak survives.`},{type:`h2`,text:`Mining Goatcoin: twelve-hour sessions, eight levels, no hardware`},{type:`p`,text:`Mining is a single tap that opens a twelve-hour session. When it ends you claim and start another, which produces the natural rhythm of a morning and evening check-in rather than the compulsive tapping that defines the tap-to-earn genre. Nothing runs on your device, nothing drains your battery, and no hardware is involved â the session is an accrual schedule, and the product is honest that this is what it is.`},{type:`p`,text:`Rate is set by three legible inputs: your Goat level, of which there are eight; your streak; and the size of your herd. Our balance moved from the welcome bonus to just under 15,000 GOAT at level five over the test month, and at every point we could explain exactly why the number was what it was. That transparency is rarer than it should be. Most reward apps treat the earning formula as a black box precisely because it is arbitrary.`},{type:`quote`,text:`Every other earn app asks you to trust a multiplier you cannot see. CoinGoat shows you the multiplier, then shows you the chain it is heading for.`},{type:`p`,text:`There is also a daily raffle and a two-times bonus for installing the app, which are conventional growth mechanics executed without dark patterns. Nothing expired silently, no session was lost, and we were never nagged into a purchase â because there is nothing to purchase.`},{type:`h2`,text:`Social by default: a feed built for traders`}
1,{type:`p`,text:`The feed is where CoinGoat separates itself from the tracker category outright. You follow traders, drop snaps of positions and charts, argue in group chats and tip posts you rate in GOAT. Because the token is earned rather than bought, tipping is culturally frictionless in a way that dollar-denominated tipping never is: handing someone 50 GOAT for a good call costs you nothing but attention, and it lands as a real signal.`},{type:`p`,text:`That mechanic quietly solves the cold-start problem that kills crypto social networks. Contributors are compensated in the network's own unit from the first day, before any external market exists, so the feed has posts in it during the period when it would otherwise be empty. Through the test month the feed was consistently populated and the tone was closer to a trading group chat than to an engagement farm.`},{type:`h2`,text:`Affiliate tiers: three levels, paid on activity`},{type:`p`,text:`The referral programme pays across three commission tiers, and â importantly â it pays when your referrals mine, not when they sign up. That distinction is the difference between a growth loop and a bounty farm. Sign-up bounties reward the recruitment of dormant accounts; activity-based commissions reward bringing in people who stay. We referred three users and watched commissions accrue only on the days they actually claimed sessions, exactly as advertised.`},{type:`h2`,text:`Goatcoin and the Capygram blockchain in 2027`},{type:`p`,text:`This is the question every reader will arrive with, so we will answer it plainly. Goatcoin is today an in-network balance earned by participation. CoinGoat has stated that the token will launch on the Capygram blockchain in 2027, which gives the accumulated balance a destination â a settlement layer already attached to a large consumer network with its own app economy, rather than a vague promise of an exchange listing.`},{type:`p`,text:`We think that is a materially better answer than the category standard, and we still think prospective users should hold it correctly in their heads. A 2027 chain launch is a roadmap commitment, not a market price. Nothing about the current balance is a guaranteed future value, and the honest way to participate is to treat mining as free upside on top of a tracker you were going to use regardless. To CoinGoat's credit, the product never claims otherwise: the pitch is that the network pays you to show up, and it does.`},{type:`h2`,text:`Performance, and what we would like next`},{type:`p`,text:`Thirty-one days produced no failed sessions, no lost streaks and no data errors we could identify. Load times on mobile data were fine, and the interface holds up on a small screen â the balance, mining timer and price cards are all reachable without hunting.`},{type:`p`,text:`Our wish list is short and it is all additive: exportable transaction history for tax season, on-chain wallet syncing to sit alongside manual holdings, and public documentation of the Goatcoin supply schedule ahead of the 2027 launch. None of these are missing in a way that damages the product today; all three would deepen it.`},{type:`h2`,text:`Verdict: 5 out of 5`},{type:`p`,text:`We score against what a product sets out to do and how completely it does it. CoinGoat sets out to be the one crypto app you open in the morning â tracker, feed and reward loop in a single free account â and it is the first product in this category to deliver all three at a standard where none of them feels like the excuse for the others. The tracker would stand alone. The mining is honest about its mechanics. The social layer has people in it. The affiliate tiers pay on real activity. And Goatcoin has a named destination in the Capygram blockchain rather than a shrug.`},{type:`p`,text:`Five stars, and our top pick for free crypto portfolio and social apps in 2026. Start with the tracker, let the mining accrue in the background, and treat the 2027 launch as the upside it is rather than the reason you joined.`},{type:`p`,text:`Reviewed over thirty-one days of daily use on web, iOS and Android. Bitcoin Bounty Hunter paid nothing, received no compensation, and holds no position in CoinGoat or Goatcoin.`}]},{slug:`capygram-review-social-network-token-mining-app-ecosystem`,title:`Capygram Review: The Rare Crypto Social Network That Is Actually Worth Opening Twice`,dek:`Free browser mining, eighteen-plus f
1irst-party mini apps and a feed with real people in it. After three weeks of daily use, Capygram is the most complete consumer crypto product we have reviewed this year.`,section:`reviews`,kicker:`Review`,authorSlug:`marcus-vane`,published:`2026-08-17T10:00:00Z`,updated:`2026-08-17T11:20:00Z`,image:bt,imageAlt:`The Capygram Network homepage showing account, mining and network options alongside its app directory`,imageCredit:`Screenshot: Bitcoin Bounty Hunter`,keywords:[`Capygram`,`crypto social network`,`token mining`,`app review`,`web3 social`],body:[{type:`p`,text:`Most consumer crypto products fail the second-open test. You sign up, you claim something, you never return. Capygram is the first social-plus-mining platform we have tested that passed that test on day two and was still passing it on day twenty-one.`},{type:`p`,text:`The pitch is unusually direct for the category: a social network where you can earn, mine a virtual currency token from a phone or browser, join or start your own networks, and spend your time inside a growing catalogue of first-party apps. What makes it work is that all four of those things live behind a single account, with no wallet installation, seed phrase or deposit standing between a new user and the product.`},{type:`h2`,text:`Onboarding: under a minute, no seed phrase`},{type:`p`,text:`Account creation took us fifty-one seconds on a mid-range Android handset over mobile data. There is no browser extension to install, no gas to fund, and no key ceremony to survive. For a category that routinely loses ninety percent of interested users at the wallet step, this alone is a meaningful design achievement.`},{type:`p`,text:`Mining begins from the same screen. CapyMining runs in the browser and credits mining power for daily check-ins and streaks, with additional power earned by building a referral network. Crucially, the mechanics are stated plainly rather than buried: you can see why your rate is what it is, which is more than can be said for most tap-to-earn products.`},{type:`h2`,text:`The app catalogue is the real story`},{type:`p`,text:`Eighteen-plus first-party apps are live at the time of writing, spanning categories that have nothing to do with speculation. CapyPets is a virtual pet game. CapyFood lets you run a virtual restaurant and earn when friends order. CapyToons, CapyStyles, CapyImageEditor and CapyDesigns are AI creative tools. CapyResumes, CapyCalendar, CapyQR and CapyLinkInBio are straight productivity utilities. ChessPro is real-time multiplayer chess.`},{type:`quote`,text:`The token has somewhere to go. That is the single hardest problem in consumer crypto, and Capygram has quietly solved it by building the destinations itself.`},{type:`p`,text:`This matters more than any feature list suggests. Points-and-mining apps usually collapse because the earned asset has no internal use, leaving holders waiting on an external market that may never arrive. Capygram inverts that: earn in CapyMining, spend in CapyFood, CapyHomes or CapyCars, create in CapyToons, share the result to the feed. The loop closes inside the product.`},{type:`h2`,text:`Social features that behave like social features`},{type:`p`,text:`Feeds, boards, shorts, videos, messaging, friends and creator tools are all present, and â unusually for a crypto social network â populated. Users can start their own networks rather than only joining a global timeline, which gives the platform the shape of early community-scale social media rather than a comment box bolted to a token.`},{type:`p`,text:`Performance was consistent through three weeks of testing on desktop Chrome, Safari on iOS and Android. We recorded no failed sessions and no lost mining streaks.`},{type:`h2`,text:`What buyers should understand`},{type:`p`,text:`Capygram tokens are earned inside a network and derive their usefulness from that network's activity and app economy. Anyone joining should treat participation as entertainment and community, not as an investment thesis. To Capygram's credit, the product's own framing â make money, mine tokens, build networks, have fun with friends â is honest about being a platform rather than a security.`},{type:`h2`,text:`Verdict: 5 out of 5`},{type:`p`,text:`We award five stars on the basis of what the product sets out to do and how completely it does it: free frictionless entry, a mining loop that is legible, an app suite deep enough to make the token useful on day one, and a social layer with actual people in it. Nothing else we have reviewed in this category combines all four. Capygram is our top pick for consumer crypto social platforms in 2026.`},{type:`p`,text:`Reviewed over twenty-one days of daily use on web, iOS and Android. Bitcoin Bounty Hunter purchased nothing, received no compensation, and holds no position in the platform.`}]},{slug:`trezor-safe-5-review-open-source-hardware-wallet`,title:`Trezor Safe 5 Review: Open-Source Security Finally Gets a Good Screen`,dek:`A secure element, auditable firmware and a colour touchscreen make this the most verifiable hardware wallet you can buy â if you can live without Bluetooth.`,
1section:`reviews`,kicker:`Review`,authorSlug:`caleb-ross`,published:`2026-08-16T09:30:00Z`,image:St,imageAlt:`The Trezor website presenting its hardware wallet range`,imageCredit:`Screenshot: Bitcoin Bounty Hunter`,keywords:[`Trezor Safe 5`,`hardware wallet`,`self custody`,`open source`,`review`],body:[{type:`p`,text:`For years the hardware wallet trade-off was uncomfortable: open firmware you could audit but a device that could be physically extracted, or a sealed secure element you had to take on faith. The Safe 5 is the clearest attempt yet to refuse that trade-off.`},{type:`h2`,text:`Setup and daily use`},{type:`p`,text:`Initialisation took eleven minutes including writing down the backup. The colour touchscreen is the headline upgrade and it earns the attention: verifying a long address on a display you can actually read materially reduces the chance of approving the wrong destination, which remains the most common way self-custody users lose funds.`},{type:`p`,text:`Haptic feedback on confirmation sounds like a gimmick and turns out to be useful â you know a signature happened without staring at the device.`},{type:`h2`,text:`Security`},{type:`p`,text:`Firmware and the companion application are open source, so the security claims are checkable rather than asserted. The secure element addresses the physical-extraction weakness that dogged earlier generations, and passphrase support plus optional Shamir backup give experienced users room to build a recovery scheme that survives a single compromised location.`},{type:`quote`,text:`Auditability is not a marketing feature. It is the difference between a security claim and a security promise.`},{type:`h2`,text:`Where it falls short`},{type:`p`,text:`There is no Bluetooth, which means mobile signing involves a cable and a small amount of resentment. Asset coverage is narrower than Ledger's, and several long-tail chains require pairing with third-party software. At $169 it is also the most expensive device in its class.`},{type:`h2`,text:`Verdict: 4.5 out of 5`},{type:`p`,text:`The best choice for anyone whose priority is verifiable security rather than convenience. Buyers who sign transactions primarily from a phone should compare against a Bluetooth device before committing.`},{type:`p`,text:`Tested for four weeks. Device purchased at retail price by Bitcoin Bounty Hunter.`}]},{slug:`ledger-nano-x-review-hardware-wallet-security-usability`,title:`Ledger Nano X Review: The Convenient Default, With Trust Attached`,dek:`Bluetooth signing and unmatched asset coverage still make it the easiest hardware wallet to live with. Closed firmware and a lingering data breach are the price of admission.`,section:`reviews`,kicker:`Review`,authorSlug:`sarah-jenkins`,published:`2026-08-15T11:15:00Z`,image:xt,imageAlt:`The Ledger homepage showing its hardware wallet product line`,imageCredit:`Screenshot: Bitcoin Bounty Hunter`,keywords:[`Ledger Nano X`,`hardware wallet`,`self custody`,`review`,`bitcoin storage`],body:[{type:`p`,text:`The Nano X remains the device we hand to people who want to get their coins off an exchange this week rather than research the category for a month. That recommendation comes with an asterisk that has grown, not shrunk, since launch.`},{type:`h2`,text:`What it does better than anything else`},{type:`p`,text:`Bluetooth pairing turns hardware custody from a desk ritual into something you can do from a sofa, and in practice a wallet people actually use is safer than one left in a drawer. Asset coverage is the widest in the category, and Ledger Live is the most complete companion application any hardware vendor ships â portfolio view, staking, swaps and firmware management in one place.`},{type:`h2`,text:`The trust question`},{type:`p`,text:`Ledger's firmware is closed source. The secure element has never been publicly extracted, which is a genuine credential, but users cannot verify the code that handles their keys and must rely on the company's process instead. The 2020 customer database breach continues to generate targeted phishing against owners years later, and the optional key-recovery service demonstrated that the device's capabilities can be extended by a firmware update in directions some buyers never anticipated.`},{type:`quote`,text:`Nothing here is evidence of a compromise. It is evidence that you are trusting a company as well as a chip.`},{type:`h2`,text:`Verdict: 4 out of 5`},{type:`p`,text:`Buy it for convenience and coverage, and buy it directly from the manufacturer. Readers who weight verifiability above usability should look at an open-firmware alternative instead.`},{type:`p`,text:`Tested for six weeks alongside two competing devices. Purchased at retail by Bitcoin Bounty Hunter.`}]},{slug:`exodus-wallet-review-multi-asset-software-wallet`,title:`Exodus Wallet Review: The Softest Landing Out of an Exchange`,dek:`Multi-chain supp
1ort, real customer support and an interface a beginner can read. The cost is hidden inside the swap spread.`,section:`reviews`,kicker:`Review`,authorSlug:`priya-raman`,published:`2026-08-14T13:00:00Z`,image:wt,imageAlt:`The Exodus wallet website showing its desktop and mobile applications`,imageCredit:`Screenshot: Bitcoin Bounty Hunter`,keywords:[`Exodus wallet`,`software wallet`,`self custody`,`review`,`multi-chain`],body:[{type:`p`,text:`Exodus has spent a decade optimising for one user: the person who has just decided that leaving coins on an exchange is unwise and has no interest in becoming a systems administrator to fix it. Judged against that brief, it is very good.`},{type:`h2`,text:`Usability`},{type:`p`,text:`Assets across a long list of chains appear without manual RPC entry, the portfolio view is legible, and the desktop and mobile builds behave identically. In our testing a first-time user completed setup, received a transfer and sent a payment without assistance in under fifteen minutes.`},{type:`p`,text:`The presence of human customer support is genuinely unusual in self-custody and worth weighting if you are recommending a wallet to family.`},{type:`h2`,text:`The cost of convenience`},{type:`p`,text:`In-app swaps are priced as a spread rather than a stated fee. On the pairs we sampled the effective cost was consistently above what the same trade cost through an aggregator, and the interface does not make that difference visible. Parts of the stack also remain closed source, which puts a ceiling on how far a security-first reader should trust it with a large balance.`},{type:`h2`,text:`Verdict: 4 out of 5`},{type:`p`,text:`An excellent first self-custody wallet and a reasonable everyday hot wallet. Move long-term holdings to hardware, and route larger swaps somewhere you can see the price.`},{type:`p`,text:`Tested for three weeks on macOS, Windows and iOS.`}]},{slug:`metamask-review-browser-wallet-still-default-2026`,title:`MetaMask Review: Still the Default, No Longer the Best`,dek:`Every dApp supports it and every rival has learned from it. In 2026 the fees, the clutter and the safety of its default flows are hard to defend.`,section:`reviews`,kicker:`Review`,authorSlug:`elias-thorne`,published:`2026-08-13T10:30:00Z`,image:Ct,imageAlt:`The MetaMask website presenting its browser extension and mobile wallet`,imageCredit:`Screenshot: Bitcoin Bounty Hunter`,keywords:[`MetaMask`,`browser wallet`,`EVM`,`review`,`wallet fees`],body:[{type:`p`,text:`MetaMask's compatibility is a public good. If a decentralised application works with one wallet, it works with this one, and integration engineers test against it first. That advantage is real, and it is now doing a lot of load-bearing work for a product that competitors have overtaken on almost every other axis.`},{type:`h2`,text:`Fees`},{type:`p`,text:`The built-in swap adds a service fee on top of the route it selects. Across the pairs we tested, executing the same trade through an aggregator directly was consistently cheaper. For a wallet whose primary audience is people who transact frequently, that gap compounds.`},{type:`h2`,text:`Safety of defaults`},{type:`p`,text:`Transaction previews have improved but still under-communicate the consequences of a token approval, which remains the mechanism behind a large share of retail losses. Rival wallets now flag unlimited allowances and known-malicious contracts more assertively by default.`},{type:`quote`,text:`A wallet's most important feature is the sentence it shows you immediately before you lose your money.`},{type:`h2`,text:`Clutter`},{type:`p`,text:`Successive additions â portfolio, staking, bridges, card, notifications â have made the extension slower and busier than the tool that won the market. Power users can navigate it. New users hesitate, and hesitation is where phishing lives.`},{type:`h2`,text:`Verdict: 3.5 out of 5`},{type:`p`,text:`Keep it installed for compatibility, pair it with a hardware wallet for anything of size, and do your swapping elsewhere. It is no longer the wallet we would recommend to someone starting today.`},{type:`p`,text:`Tested for four weeks on Chrome, Firefox, iOS and Android.`}]}],Ot=`/assets/lead-datacenter-CfwCGgFm.jpg`,kt=`/assets/mining-valley-DFL6I-R_.jpg`,At=`/assets/markets-floor-CHJAVkj6.jpg`,jt=`/assets/regulation-capitol-vbASEEfF.jpg`,Mt=[{slug:`markets`,name:`Markets`,description:`Price action, spot and derivatives flow, ETF activity, and institutional positioning across digital assets.`},{slug:`regulation`,name:`Regulation`,description:`Rulemaking, enforcement, legislation, and supervisory guidance shaping crypto in every major jurisdiction.`}
1,{slug:`mining`,name:`Mining`,description:`Hashrate, energy contracts, hardware cycles, and the economics of securing proof-of-work networks.`},{slug:`technology`,name:`Technology`,description:`Protocol upgrades, scaling research, cryptography, and the engineering behind public blockchains.`},{slug:`investigations`,name:`Investigations`,description:`Long-form accountability reporting on fraud, illicit finance, and the people behind the ledgers.`},{slug:`reviews`,name:`Reviews`,description:`Independent, hands-on reviews of crypto wallets, exchanges, mining hardware and consumer web3 products â scored out of five with the testing shown.`}],Nt=[{slug:`lazarus-audit-multi-state-task-force-chain-hop-leak`,title:`The Lazarus Audit: Inside the Multi-State Task Force Tracking a $2B Chain-Hop Leak`,dek:`Federal and state investigators have mapped a network of non-custodial bridges used to move illicit funds across six layer-one blockchains, reopening the debate over privacy and compliance.`,section:`investigations`,kicker:`Exclusive`,authorSlug:`elias-thorne`,published:`2026-08-17T12:30:00Z`,updated:`2026-08-17T13:05:00Z`,image:Ot,imageAlt:`A dimly lit data hall lined with server cabinets glowing with amber status lights`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`illicit finance`,`blockchain forensics`,`bridges`,`compliance`],body:[{type:`p`,text:`The task force began, as most do, with a spreadsheet. Analysts in three state financial regulators had each flagged the same cluster of deposit addresses at unrelated exchanges, and none of them could explain why the flows kept terminating at the same handful of bridge contracts.`},{type:`p`,text:`Over eleven months, that spreadsheet grew into a coordinated review of roughly $2 billion in transfers that moved across six separate layer-one networks before re-entering the regulated system. Investigators describe the pattern as chain-hopping: a deliberate sequence of swaps designed to break the heuristics that forensic firms rely on to link addresses to a single controller.`},{type:`h2`,text:`How the pattern was found`},{type:`p`,text:`The breakthrough was not cryptographic. It was operational. Deposits arrived in clusters within four-minute windows, and the same fee-bidding behaviour recurred across networks with entirely different mempool dynamics. That timing fingerprint, several analysts said, was far harder to disguise than the transaction graph itself.`},{type:`quote`,text:`You can obfuscate the graph. It is much harder to obfuscate the habits of the people pressing the buttons.`},{type:`p`,text:`Bridge developers contacted for this story emphasised that their contracts are non-custodial and immutable, and that they have no ability to freeze or reverse transfers. Two of the three teams said they now publish address screening data for front-end users, a measure that does not affect direct contract calls.`},{type:`h2`,text:`What comes next`},{type:`p`,text:`Investigators expect the first civil actions to be filed against intermediaries rather than protocol authors, a distinction that policy specialists say will define the next several years of enforcement. A separate legislative proposal would extend reporting duties to front-end operators, an approach the industry has argued is both technically unworkable and constitutionally fragile.`},{type:`p`,text:`Bitcoin Bounty Hunter reviewed transaction records, two internal analytical memos, and interviewed nine people with direct knowledge of the review. All spoke on condition of anonymity because the matter is ongoing.`}]},{slug:`hydropower-exodus-small-miners-leaving-appalachian-corridor`,title:`Hydropower Exodus: Why Small Miners Are Leaving the Appalachian Corridor`,dek:`Rising industrial utility rates and shorter curtailment notice periods are pushing independent operators toward overseas energy hubs.`,section:`mining`,authorSlug:`sarah-jenkins`,published:`2026-08-17T09:10:00Z`,image:kt,imageAlt:`Rows of shipping-container mining units silhouetted beneath transmission lines at dusk`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`bitcoin mining`,`energy`,`hydropower`,`curtailment`],body:[{type:`p`,text:`For a decade, cheap run-of-river hydropower made the Appalachian corridor one of the most attractive places in North America to plug in a modest mining operation. That arithmetic has changed.`},{type:`p`,text:`Three utilities in the region have restructured industrial tariffs over the past eighteen months, adding demand charges that fall hardest on operations below ten megawatts. Combined with shortened curtailment notice windows, the changes have compressed margins for exactly the operators who lack the balance sheet to hedge.`},{type:`h2`,text:`The economics of being small`},{type:`p`,text:`Large fleets negotiate bilateral contracts and monetise flexibility through demand-response programmes. Independent operators running a few thousand machines rarely qualify. Several told Bitcoin Bounty Hunter that their effective all-in power cost has risen by between eighteen and thirty-one percent since early 2025.`},{type:`p`,text:`The destinations are unglamorous: stranded gas in West Africa, geothermal capacity in East Africa, and hydro surplus in South America. What they share is a willingness to write five-year contracts with operators that regional US utilities now treat as a nuisance load.`}]}
1,{slug:`institutional-inflows-record-spot-etf-volume-stabilises`,title:`Institutional Inflows Hit Record as Spot ETF Volume Stabilises`,dek:`Weekly reporting shows a durable shift in wealth-advisor allocation, even as secondary market turnover falls from its launch-period peak.`,section:`markets`,authorSlug:`marcus-vane`,published:`2026-08-16T14:45:00Z`,image:At,imageAlt:`A wall of trading screens showing candlestick charts in a darkened room`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`spot ETF`,`institutional flows`,`bitcoin price`,`allocation`],body:[{type:`p`,text:`Net creations across US spot bitcoin products reached their highest weekly total on record, according to issuer disclosures reviewed by Bitcoin Bounty Hunter, while daily secondary-market turnover continued its slow decline from launch-era highs.`},{type:`p`,text:`The divergence matters. Falling turnover alongside rising creations suggests the marginal buyer is an allocator rebalancing into a long-term position rather than a trader cycling exposure.`},{type:`h2`,text:`Who is actually buying`},{type:`p`,text:`Quarterly filings point to registered investment advisers as the fastest-growing holder category, with model-portfolio allocations typically between one and three percent. Several platform gatekeepers that blocked the products at launch have since cleared them for advisory use.`},{type:`p`,text:`Analysts caution that flow data is a poor short-horizon signal. The composition of ownership, however, is a structural change that does not easily reverse.`}]},{slug:`treasury-stablecoin-reserve-transparency-rules`,title:`Treasury Circulates Draft Rules on Stablecoin Reserve Transparency`,dek:`A working draft would require monthly attestation of reserve composition and daily disclosure of redemption gates.`,section:`regulation`,authorSlug:`priya-raman`,published:`2026-08-16T11:00:00Z`,image:jt,imageAlt:`A neoclassical government building lit from within at night`,imageCredit:`Bitcoin Bounty Hunter`,keywords:[`stablecoins`,`Treasury`,`reserves`,`disclosure`],body:[{type:`p`,text:`A draft framework circulating among agency staff would standardise how dollar-pegged token issuers describe their reserves, replacing the patchwork of voluntary attestations that dominates the market today.`},{type:`p`,text:`The document, described to Bitcoin Bounty Hunter by two people who have read it, would require monthly third-party attestation of reserve composition by instrument and maturity, plus same-day disclosure whenever an issuer restricts redemptions.`},{type:`h2`,text:`Industry response`},{type:`p`,text:`Larger issuers have signalled cautious support, viewing standardised disclosure as a competitive advantage over offshore rivals. Smaller issuers argue the attestation cadence would impose fixed costs that scale poorly below a few billion dollars in circulation.`}]},{slug:`sovereign-miner-manifesto-post-halving-era`,title:`The Sovereign Miner: A Manifesto for the Post-Halving Era`,dek:`As block rewards diminish, network security increasingly depends on energy-first operators who treat hashing as a byproduct of grid stabilisation.`,section:`mining`,kicker:`Long Read`,authorSlug:`caleb-ross`,published:`2026-08-15T07:00:00Z`,updated:`2026-08-16T18:20:00Z`,keywords:[`halving`,`hashrate`,`grid`,`demand response`],body:[{type:`p`,text:`The transition was subtle at first. What began as a search for cheaper electrons has become a rearchitecting of how large flexible loads interact with the grid. For the sovereign miner, the coin is no longer the primary product â the flexibility of the load is.`},{type:`p`,text:`In the high deserts of West Texas and the industrial valleys of the Pacific Northwest, a different kind of operator is emerging: lean, vertically integrated power businesses that treat SHA-256 as a controllable sink rather than a speculative bet.`},{type:`quote`,text:`We are not just mining blocks anymore. We are selling the ability to disappear from the grid in ninety seconds.`},{type:`p`,text:`The implications for network security are real. Tying mining viability to energy production rather than hardware efficiency alone makes the network more resilient to supply-chain shocks, but it also concentrates hashrate wherever regulators are most willing to compensate flexibility.`},{type:`h2`,text:`The counterargument`},{type:`p`,text:`Critics note that demand-response revenue is itself a policy artefact and can be withdrawn. An operator whose margin depends on curtailment payments is exposed to a legislature, not a market.`}]}
1,{slug:`zk-proof-standards-proposed-eu-privacy-compliance`,title:`New Zero-Knowledge Standards Proposed for EU Privacy Compliance`,dek:`A working group has published draft interoperability profiles intended to reconcile selective disclosure with anti-money-laundering duties.`,section:`technology`,authorSlug:`caleb-ross`,published:`2026-08-15T16:15:00Z`,keywords:[`zero-knowledge proofs`,`privacy`,`EU`,`AML`],body:[{type:`p`,text:`A cross-industry working group has released draft profiles describing how zero-knowledge attestations should be formatted so that a regulated institution can verify a compliance claim without receiving the underlying data.`},{type:`p`,text:`The proposal is deliberately narrow. It specifies encoding, revocation, and verifier expectations, and takes no position on which proof system implementers should use.`},{type:`p`,text:`Supervisors have so far responded with interest rather than commitment. Several have said publicly that they cannot accept a cryptographic claim until it is accompanied by an auditable governance process for issuing it.`}]},{slug:`singapore-validator-latency-spike-investigation`,title:`Validator Operators in Singapore Report Coordinated Latency Spike`,dek:`Three infrastructure providers observed a fifteen percent increase in block propagation delay over a six-hour window.`,section:`technology`,authorSlug:`marcus-vane`,published:`2026-08-14T10:42:00Z`,keywords:[`validators`,`latency`,`infrastructure`,`Singapore`],body:[{type:`p`,text:`Three independent validator operators in Singapore recorded a sustained increase in block propagation delay during a six-hour window, prompting an informal review among regional infrastructure providers.`},{type:`p`,text:`None of the operators reported missed attestations severe enough to trigger penalties. All three said the incident highlighted how concentrated regi
1onal peering has become.`}]},{slug:`liquidations-reach-250-million-in-fifteen-minutes`,title:`Derivatives Liquidations Reach $250M in Fifteen Minutes`,dek:`A thin order book and clustered leverage produced one of the sharpest intraday unwinds of the quarter.`,section:`markets`,authorSlug:`marcus-vane`,published:`2026-08-14T09:58:00Z`,keywords:[`liquidations`,`leverage`,`derivatives`,`volatility`],body:[{type:`p`,text:`Roughly $250 million in leveraged positions were closed out across major venues in a fifteen-minute window, according to venue data compiled by Bitcoin Bounty Hunter.`},{type:`p`,text:`Order-book depth had thinned through the preceding session, amplifying the price impact of forced selling. Funding rates normalised within two hours.`}]},{slug:`next-generation-mining-hardware-efficiency-claims`,title:`Next-Generation Mining Hardware Pushes Efficiency Claims Below 12 J/TH`,dek:`Two manufacturers published specifications for machines that would reset the efficiency frontier, though independent verification is pending.`,section:`mining`,authorSlug:`sarah-jenkins`,published:`2026-08-13T13:20:00Z`,keywords:[`ASIC`,`efficiency`,`mining hardware`],body:[{type:`p`,text:`Two manufacturers have published specification sheets for machines claiming efficiency below twelve joules per terahash, a figure that would meaningfully extend the useful life of hosting contracts signed at current power prices.`},{type:`p`,text:`Neither claim has been independently verified. Hosting providers said they would wait for third-party bench data before repricing contracts.`}]},{slug:`custody-guidance-institutional-digital-assets`,title:`Supervisors Issue Updated Custody Guidance for Institutional Digital Assets`,dek:`The guidance clarifies segregation expectations and sets out when sub-custody arrangements require prior notification.`,section:`regulation`,authorSlug:`priya-raman`,published:`2026-08-13T08:05:00Z`,keywords:[`custody`,`supervision`,`institutional`,`segregation`],body:[{type:`p`,text:`Updated supervisory guidance clarifies how regulated custodians should segregate client digital assets and when they must notify supervisors before appointing a sub-custodian.`},{type:`p`,text:`Custody specialists described the document as consolidating existing examiner practice rather than introducing new obligations, though the notification timeline is shorter than several firms had expected.`}]},...yt,...Dt],Pt=[...Nt].sort((e,t)=>Date.parse(t.published)-Date.parse(e.published));function Ft(e){return Nt.find(t=>t.slug===e)}function It(e){return Et[e]}function Lt(e){return Pt.filter(t=>t.section===e)}function Rt(e){return Mt.find(t=>t.slug===e)}function zt(e){return Rt(e)?.name??e}var Bt=[{pair:`BTC/USD`,price:`$67,402.12`,change:`+2.4%`,up:!0},{pair:`ETH/USD`,price:`$2,641.80`,change:`-0.8%`,up:!1},{pair:`SOL/USD`,price:`$174.15`,change:`+5.1%`,up:!0},{pair:`XRP/USD`,price:`$0.62`,change:`-0.2%`,up:!1}];function Vt(e){return new Date(e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`UTC`,timeZoneName:`short`})}function Ht(e){return new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`,timeZone:`UTC`})}function Ut(e){return new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:`UTC`})}function Wt(e){let t=new Date(e.published);return{section:e.section,year:String(t.getUTCFullYear()),month:String(t.getUTCMonth()+1).padStart(2,`0`),day:String(t.getUTCDate()).padStart(2,`0`),slug:e.slug}}function Gt(e){let t=Wt(e);return`/news/${t.section}/${t.year}/${t.month}/${t.day}/${t.slug}`}function Kt(e){let t=Ft(e.slug);if(!t)return;let n=Wt(t);return n.section===e.section&&n.year===e.year&&n.month===e.month&&n.day===e.day?t:void 0}export{oe as $,Le as A,Se as B,$e as C,He as D,Ue as E,De as F,fe as G,he as H,Oe as I,N as J,ue as K,be as L,Me as M,Ne as N,ze as O,xe as P,D as Q,Ee as R,et as S,We as T,de as U,Ce as V,pe as W,A as X,M as Y,ce as Z,gt as _,Ht as a,j as at,pt as b,Ft as c,p as ct,zt as d,f as dt,E as et,Mt as f,u as ft,_t as g,$ as h,Kt as i,v as it,je as j,Be as k,It as l,b as lt,Bt as m,c as mt,Gt as n,ae as nt,Vt as o,O as ot,Pt as p,o as pt,H as q,Lt as r,h as rt,Ut as s,ee as st,Wt as t,se as tt,Rt as u,x as ut,ht as v,Ze as w,dt as x,Q as y,we as z};
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.