PageSourceSearch

https://lygos.finance/_next/static/chunks/2244.2f97c75b38ae6865.js

js lygos.finance collected 2026-10-05 08:04:14 UTC 38,876 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2244],{5287:(e,t,a)=>{a.d(t,{O:()=>i,v:()=>r});var l=a(12115),n=a(59557),s=a(2570);function r(e,t){let a=(0,l.useRef)(e);(0,l.useEffect)(()=>{a.current=e}),(0,l.useEffect)(()=>{let e=!1,l=()=>{(0,n.XF)().then(t=>{!e&&t&&a.current(t)})};if(l(),!t)return()=>{e=!0};let s=setInterval(l,t);return()=>{e=!0,clearInterval(s)}},[t])}function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.jV,t=arguments.length>1?arguments[1]:void 0,[a,n]=(0,l.useState)(e);return r(n,t),a}},32349:(e,t,a)=>{a.d(t,{A:()=>r});var l=a(95155),n=a(52987),s=a(91269);function r(e){let{prefix:t,analyticsSource:a,sub:r,secondaryHref:i,secondaryLabel:o}=e;return(0,l.jsxs)("div",{className:"".concat(t,"-cta"),children:[(0,l.jsxs)("div",{className:"tool-cta-stack",children:[(0,l.jsx)(s.default,{label:"Start Borrowing Now",analyticsSource:a,className:"group !h-auto gap-2 rounded-full border-0 px-7 py-3.5 text-[15px] font-semibold leading-none bg-[#00ACC1] hover:bg-[#00BED4] text-black shadow-none",children:(0,l.jsx)(n.A,{size:16})}),(0,l.jsx)("p",{className:"tool-cta-sub",children:r})]}),i&&o&&(0,l.jsxs)("a",{className:"".concat(t,"-btn-secondary"),href:i,children:[o,(0,l.jsx)(n.A,{size:16})]})]})}},45091:(e,t,a)=>{a.d(t,{A:()=>r});var l=a(95155),n=a(57775),s=a(93389);function r(e){let{model:t,onModelChange:a,linearPct:r,onLinearPctChange:i,currentPrice:o,yearsAhead:c,label:d="Bitcoin price model",slope:u,onSlopeChange:h}=e,m={model:t,linearPct:r,slope:u},p=(0,s.wi)(m,o,c),x=(0,s.Es)(m,o,c),v=Math.round(100*p),f=Math.max(0,Math.round(c));return(0,l.jsxs)("div",{children:[(0,l.jsx)(n.zM,{label:d,value:t,onChange:e=>a(e),options:[["powerlaw","Power law (decelerating)"],["linear","Linear (fixed %/yr)"]],tip:"Bitcoin's price has tracked a long-term power-law trend (Santostasi) for ~15 years; growth decelerates as the network matures."}),"linear"===t&&(0,l.jsx)(n.Kc,{label:"Annual growth",value:r,unit:"%/yr",min:0,max:50,step:1,onChange:i,lo:"0%",hi:"50%",editable:!0,tip:"Fixed compound annual BTC growth applied every year of the projection."}),"powerlaw"===t&&void 0!==u&&h&&(0,l.jsx)(n.Kc,{label:"Power Law slope",value:u.toFixed(1),min:4.5,max:6,step:.1,onChange:h,lo:"4.5",hi:"6.0",tip:"The power-law exponent. We default to a conservative 5.0; Santostasi's historical fit is ≈ 5.8. Higher = steeper long-term growth. Same knob as the Loan Calculator's advanced view."}),f>0&&o>0&&(0,l.jsxs)("p",{className:"lc-field-sub",style:{marginTop:"linear"===t?4:-6},children:["≈ ",v,"%/yr → ",function(e){let t=Math.abs(e),a=e<0?"-":"";return t>=1e9?a+"$"+(t/1e9).toFixed(1).replace(/\.0$/,"")+"B":t>=1e6?a+"$"+(t/1e6).toFixed(1).replace(/\.0$/,"")+"M":t>=1e3?a+"$"+Math.round(t/1e3)+"K":a+"$"+Math.round(t).toLocaleString()}(x),"/BTC by year ",f,"powerlaw"===t&&" (power-law slope, growth tapers over time)"]})]})}},72244:(e,t,a)=>{a.r(t),a.d(t,{default:()=>eb});var l=a(95155),n=a(8967),s=a(94039),r=a(32349),i=a(12115),o=a(71360),c=a(6191),d=a(52987),u=a(1524),h=a(23327),m=a(26991),p=a(30157),x=a(68425),v=a(47734),f=a(73697),g=a(23508),y=a(48716),b=a(77568),j=a(47643),w=a(57775),N=a(9777),C=a(45091),M=a(53085),A=a(5287);let S=JSON.parse('{"h":[1.966667,-0.089888,0.358025,5.781818,1.064343,-0.12013,-0.261993,-0.511,-0.343558,-0.068536,0.421405,0.24,-0.072106,0.002045,0.020408,0.03,0.260194,0.154083,0.35781,0.217306,-0.11147,0.109091,0.107377,0.510733,0.417932,2.233241,0.445976,-0.047302,-0.24166,-0.001125,0.38857,0.038649,0.412654,4.404715,-0.295454,0.09435,-0.325078,-0.195499,0.019795,0.369919,0.018511,-0.086891,-0.143192,-0.231644,-0.121247,0.11495,-0.151162,-0.320841,0.169227,-0.039448,-0.033084,-0.010248,0.100116,0.106989,-0.195124,0.032693,0.392324,0.145169,0.140021,-0.119126,0.154269,-0.046883,0.09022,0.180518,0.25413,-0.071474,-0.084565,0.059672,0.148273,0.06761,0.29746,0.002532,0.232462,-0.099926,0.257961,0.696849,0.089514,0.153551,0.65715,-0.089438,0.490856,0.582094,0.354376,-0.262554,0.010337,-0.324713,0.325089,-0.189823,-0.146115,0.190941,-0.078875,-0.058621,-0.043021,-0.3742,-0.065705,-0.063891,0.094485,0.084629,0.303536,0.602492,0.255448,-0.
1063093,-0.04879,-0.135476,0.103259,-0.172744,-0.049676,0.29984,-0.06118,-0.268169,0.342436,0.096415,-0.033705,0.242368,0.029018,-0.076751,0.280061,0.426904,0.472308,0.141597,0.363279,0.301283,-0.017369,-0.354525,-0.059386,0.187934,0.131806,-0.070509,0.400267,-0.071976,-0.186256,-0.169297,0.122456,0.054457,-0.151152,-0.177366,-0.377689,0.179542,-0.140908,-0.031039,0.05505,-0.162466,-0.036021,0.398843,0,0.230313,0.027755,-0.070022,0.119687,-0.040899,-0.108992,0.036674,0.277778,0.092754,0.121088,0.007453,0.436825,0.16525,-0.148969,0.112906,-0.07109,0.064732,-0.116202,0.073026,0.14306,0.331676,-0.030705,0.09589,-0.176172,-0.021574,0.141023,0.102145]}');var B=a(2570);let k={btcHoldings:5,costBasisPerBtc:3e4,annualIncome:15e4,incomeGrowthRate:3,retirementYear:20,annualExpenses:1e5,expenseGrowthRate:3,loanApr:10,maxLtv:50,marginCallLtv:70,liquidationLtv:B.HP.liquidationLtv,interestPayment:"monthly",growth:{model:"powerlaw"},powerLawReversionHalfLifeMonths:18,lifeEvents:[],simulationYears:30,numScenarios:1e3,filingStatus:"single",country:"US",stateCode:"CA"};function L(e,t){return t.filter(t=>Math.round(12*t.yearFromNow)===e)}var P=a(93389),W=a(2771);let F=S.h,T=F.reduce((e,t)=>e+Math.log(1+t),0)/F.length,E=Math.sqrt(F.reduce((e,t)=>e+(Math.log(1+t)-T)**2,0)/F.length),D=(()=>{let e=F.slice(-60).map(e=>Math.log(1+e)),t=e.reduce((e,t)=>e+t,0)/e.length;return Math.sqrt(e.reduce((e,a)=>e+(a-t)**2,0)/e.length)})()/E,q=F.map(e=>Math.exp(T+D*(Math.log(1+e)-T))-1),z={model:"powerlaw"},I=new Map;function R(e,t){var a,l;let n="".concat(e.model,"|").concat(null!=(a=e.linearPct)?a:"","|").concat(null!=(l=e.slope)?l:"","|").concat(t),s=I.get(n);if(s)return s;let r=Array(t+1);r[0]=1;for(let a=1;a<=t;a++)r[a]=(0,P.Es)(e,1,a/12);return I.set(n,r),r}function H(e){return Math.pow(.5,1/e)}function Y(e){let t=Math.floor(e()*q.length);return q[t]}function _(e,t){return t>0?e/t*100:e>0?1/0:0}function K(e,t){if(0===e.length)return 0;let a=t/100*(e.length-1),l=Math.floor(a),n=Math.ceil(a);if(l===n)return e[l];let s=a-l;return e[l]*(1-s)+e[n]*s}function $(e,t){if(0===e.length)return[];let a=e[0].snapshots.length,l=[];for(let n=0;n<a;n++){let a=e.map(e=>{var a;let l=null==(a=e.snapshots[n])?void 0:a[t];return"number"==typeof l?l:0}).sort((e,t)=>e-t);l.push({month:n,p10:K(a,10),p25:K(a,25),p50:K(a,50),p75:K(a,75),p90:K(a,90)})}return l}function O(e,t,a){let l=null!=a?a:Date.now(),n=[];for(let a=0;a<e.numScenarios;a++){let s=function(e){let t=0|e;return 0===t&&(t=1),()=>(t^=t<<13,t^=t>>>17,((t^=t<<5)>>>0)/0x100000000)}(l+a);n.push(function(e,t,a){var l,n,s,r,i;let o=12*e.simulationYears,c=R(null!=(l=e.growth)?l:z,o),d=H(null!=(n=e.powerLawReversionHalfLifeMonths)?n:18),u=0,h=t,m=e.btcHoldings,p=0,x=0,v=0,f=0,g=0,y=0,b=!1,j=!1,w=[];for(let t of L(0,e.lifeEvents))p+=t.amount,x+=t.amount;w.push({month:0,btcPrice:h,btcHeld:m,totalDebt:p,netWorth:m*h-p,ltv:_(p,m*h),marginCallEvent:!1,totalBorrowed:x,totalInterestPaid:0,btcSold:!1,totalMarginCallCost:0});for(let l=1;l<=o;l++){if(b){w.push({month:l,btcPrice:h,btcHeld:0,totalDebt:0,netWorth:0,ltv:0,marginCallEvent:!1,totalBorrowed:x,totalInterestPaid:v,btcSold:!0,totalMarginCallCost:g});continue}if(u=d*u+(Math.log(1+Y(a))-T),(h=t*c[l]*Math.exp(u))<1&&(h=1),void 0!==e.maxAnnualGrowthRate){let a=t*Math.pow(1+e.maxAnnualGrowthRate/100,l/12);h>a&&(h=a)}for(let t of L(l,e.lifeEvents))p+=t.amount,x+=t.amount;let n=function(e,t){let a=e/12,l=a>=t.retirementYear?0:t.annualIncome*Math.pow(1+t.incomeGrowthRate/100,a)/12;return t.annualExpenses*Math.pow(1+t.expenseGrowthRate/100,a)/12-l}(l,e);if(n>0&&(p+=n,x+=n),p>0){let t=p*(e.loanApr/100/12);(null!=(s=e.interestPayment)?s:"monthly")==="capitalized"&&(p+=t),v+=t}let o=!1,N=m*h,C=_(p,N);if(p>0&&C>=(null!=(r=e.liquidationLtv)?r:B.HP.liquidationLtv)){b=!0,j=!0,m=0,p=0,w.push({month:l,btcPrice:h,btcHeld:0,totalDebt:0,netWorth:0,ltv:100,marginCallEvent:!0,totalBorrowed:x,totalInterestPaid:v,btcSold:!0,totalMarginCallCost:g});continue}if(p>0&&C>=e.marginCallLtv){o=!0,f++;let t=p/(e.maxLtv/100)-N;if(t>0){let e=t/h;m+=e,y+=e,g+=t}C=_(p,m*h)}let M=(m-y)*h-p-((null!=(i=e.interestPayment)?i:"monthly")==="capitalized"?0:v);w.push({month:l,btcPrice:h,btcHeld:m,totalDebt:p,netWorth:M,ltv:C,marginCallEvent:o,totalBorrowed:x,totalInterestPaid:v,btcSold:j,totalMarginCallCost:g})}let N=w[w.length-1];return{snapshots:w,neverSold:!j&&!b,marginCallCount:f,finalNetWorth:N.netWorth,liquidated:b,totalBorrowed:N.totalBorrowed,totalInterestPaid:N.totalInterestPaid,totalMarginCallCost:g}}(e,t,s))}return n}function G(e,t,a){var l,n,s,r,i,o,c;let d,u=$(e,"netWorth"),h=$(e,"btcPrice"),m=$(e,"ltv"),p=$(e,"totalDebt"),x=e.filter(e=>e.neverSold).length/e.length*100,v=e.reduce((e,t)=>
1e+t.marginCallCount,0)/e.length,f=K(e.map(e=>e.finalNetWorth).sort((e,t)=>e-t),50),g=e.filter(e=>e.liquidated).length/e.length*100,y=K(e.map(e=>e.totalBorrowed).sort((e,t)=>e-t),50),b=K(e.map(e=>e.totalInterestPaid).sort((e,t)=>e-t),50),j=y*(a>0?Math.max(0,(a-t.costBasisPerBtc)/a):0),w=null!=(l=t.country)?l:"US";if("CA"===w)d=null!=(r=null==(n=W.he[null!=(s=t.stateCode)?s:""])?void 0:n.rate)?r:.267;else if("US"!==w)d=null!=(o=null==(i=W.d_[w])?void 0:i.rate)?o:0;else{let e=t.filingStatus;d=(0,W.iu)({taxableIncome:2e5,capitalGain:j>0?j:1e5,filing:e,stateCode:null!=(c=t.stateCode)?c:"CA",gainsType:"long-term"}).effectiveRate}return{netWorthBands:u,btcPriceBands:h,ltvBands:m,debtBands:p,probabilityNeverSell:x,marginCallFrequency:v,medianNetWorthAtEnd:f,ruinProbability:g,medianTotalBorrowed:y,medianTotalInterestPaid:b,medianTaxSaved:j*d,medianInheritance:f}}function U(e,t,a){let l=[];for(let n=0;n<t.numScenarios;n++){let s=function(e){let t=0|e;return 0===t&&(t=1),()=>(t^=t<<13,t^=t>>>17,((t^=t<<5)>>>0)/0x100000000)}(a+7919*n);l.push(function(e,t,a){var l,n,s,r;let i=12*t.simulationYears,o=R(null!=(l=t.growth)?l:{model:"powerlaw"},i),c=H(null!=(n=t.powerLawReversionHalfLifeMonths)?n:18),d=0,u=t.currentBtcPrice,h=t.btcHoldings,m=0,p=0,x=0,v=0,f=0;for(let l=1;l<=i;l++){d=c*d+(Math.log(1+Y(a))-T),(u=t.currentBtcPrice*o[l]*Math.exp(d))<1&&(u=1);let n=h*u*e/12;if(n>0&&(m+=n,p+=n),m>0){let e=m*(t.loanApr/100/12);(null!=(s=t.interestPayment)?s:"monthly")==="capitalized"&&(m+=e),x+=e}let i=h*u,g=i>0?m/i*100:0;if(m>0&&g>=(null!=(r=t.liquidationLtv)?r:B.HP.liquidationLtv))return{survived:!1,totalBorrowed:p,totalInterestPaid:x,marginCallCount:v,totalMarginCallCost:f};if(m>0&&g>=t.marginCallLtv){v++;let e=t.maxLtv/100;if(e<=0)continue;let a=m/e-i;a>0&&(h+=a/u,f+=a)}}return{survived:!0,totalBorrowed:p,totalInterestPaid:x,marginCallCount:v,totalMarginCallCost:f}}(e,t,s))}return{survivalPct:l.filter(e=>e.survived).length/l.length*100,outcomes:l}}function V(e){if(0===e.length)return 0;let t=[...e].sort((e,t)=>e-t),a=Math.floor(t.length/2);return t.length%2==0?(t[a-1]+t[a])/2:t[a]}var X=a(36516),J=a(83393),Q=a(96546),Z=a(63908),ee=a(18577),et=a(79079),ea=a(71170);function el(e){let{onUnlock:t,onClose:a}=e;return(0,l.jsx)(ea.A,{source:"lifetime-simulator-advanced",headline:"Can you really live off your Bitcoin — forever?",subtitle:"You've seen the monthly income. Unlock the full 30-year Monte Carlo — probability of never running out, optimal draw strategy, and the exact year your stack hits zero in the worst case.",bullets:["30-year Monte Carlo with 10,000 simulations","Probability of never running out of Bitcoin","Optimal annual draw rate for your stack size"],ctaLabel:"Show my 30-year plan",onUnlock:t,onClose:a})}var en=a(53619),es=a(83476);a(56630),a(24899);let er=B.HP.apr,ei=B.HP.liquidationLtv,eo="#00FF88",ec="#FF6B6B",ed="#00ACC1",eu="#d4a843",eh="#4FE3F5",em=e=>{let t=Math.abs(e);return t>=1e6?"$"+(e/1e6).toFixed(2).replace(/\.?0+$/,"")+"M":t>=1e3?"$"+Math.round(e/1e3)+"K":"$"+Math.round(e).toLocaleString()},ep=(e,t)=>Math.abs(e)<t,ex=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return ep(e,t)?"≈ same":(e>0?"+":"")+e.toFixed(0)+"%"};function ev(e,t){let[a,l]=(0,i.useState)(e);return(0,i.useEffect)(()=>{let a=setTimeout(()=>l(e),t);return()=>clearTimeout(a)},[e,t]),a}let ef=[["house","House"],["education","Education"],["retirement","Retirement"],["expense","Expense"]],eg=Object.fromEntries(ef),ey=[{label:"House down payment",ev:{type:"house",yearFromNow:5,amount:2e5,description:"House down payment"}},{label:"College tuition",ev:{type:"education",yearFromNow:10,amount:1e5,description:"College tuition"}},{label:"Wedding",ev:{type:"expense",yearFromNow:3,amount:5e4,description:"Wedding"}}];function eb(){let e=(0,n.a)(),[t,a]=(0,i.useState)(5),[S,B]=(0,i.useState)(1e5),[L,P]=(0,i.useState)(20),[W,F]=(0,i.useState)(15e4),[T,E]=(0,i.useState)(3e4),[D,q]=(0,i.useState)(3),[z,I]=(0,i.useState)(50),[R,H]=(0,i.useState)(70),[Y,_]=(0,i.useState)("US"),[$,ea]=(0,i.useState)("CA"),[eb,ej]=(0,i.useState)("single"),[ew,eN]=(0,i.useState)(30),[eC,eM]=(0,i.useState)([]),[eA,eS]=(0,i.useState)("powerlaw"),[eB,ek]=(0,i.useState)(15),eL=(0,A.O)(),{advOpen:eP,setAdvOpen:eW,unlocked:eF,setUnlocked:eT,showAdvanced:eE}=(0,X.j)(),[eD,eq]=(0,i.useState)("now"),[ez,eI]=(0,i.useState)("retire"),[eR,eH]=(0,i.useState)(null),[eY,e_]=(0,i.useState)(!1),eK=(0,ee.M)({btc:a,basis:E,state:ea,filing:e=>ej(e),income:F,country:_,onApplied:()=>{eW(!0)}});(0,J.K)("lifetime-simulator",(0,i.useMemo)(()=>({btc_holdings:t,annual_expenses:S,years_until_retirement:L,income:W,cost_basis:T,income_growth_rate:D,max_ltv:z,margin_call_ltv:R,country:Y,state:$,filing:eb,simulation_years:e
1w,growth_model:eA,linear_pct:eB,life_events:eC.length}),[t,S,L,W,T,D,z,R,Y,$,eb,ew,eA,eB,eC.length]));let e$=(0,i.useMemo)(()=>({...k,btcHoldings:t,costBasisPerBtc:T,annualIncome:W,incomeGrowthRate:D,retirementYear:L,annualExpenses:S,expenseGrowthRate:3,loanApr:er,maxLtv:z,marginCallLtv:R,liquidationLtv:ei,growth:{model:eA,linearPct:eB},lifeEvents:eC,simulationYears:ew,numScenarios:1e3,filingStatus:eb,country:Y,stateCode:$}),[t,T,W,D,L,S,z,R,eA,eB,eC,ew,eb,Y,$]),eO=ev(e$,180),eG=ev(eL,180),eU=(0,i.useMemo)(()=>G(O(eO,eG,42),eO,eG),[eO,eG]),eV=(0,i.useMemo)(()=>{let e,t,a;return eE?("retire"===ez?(e={...eO,retirementYear:eO.retirementYear+5},t="Retire in ".concat(eO.retirementYear,"y"),a="Retire in ".concat(eO.retirementYear+5,"y")):(e={...eO,annualExpenses:Math.round(.8*eO.annualExpenses)},t="Spend ".concat(em(eO.annualExpenses)),a="Spend ".concat(em(Math.round(.8*eO.annualExpenses)))),function(e,t,a,l,n){var s,r,i,o,c,d,u,h;let m=O(e,n,42),p=O(t,n,42),x=G(m,e,n),v=G(p,t,n),f=Math.min(null!=(i=null==(s=m[0])?void 0:s.snapshots.length)?i:0,null!=(o=null==(r=p[0])?void 0:r.snapshots.length)?o:0),g=[];for(let e=0;e<f;e++){let t=p.map((t,a)=>{var l,n,s,r;return(null!=(s=null==(l=t.snapshots[e])?void 0:l.netWorth)?s:0)-(null!=(r=null==(n=m[a].snapshots[e])?void 0:n.netWorth)?r:0)}).sort((e,t)=>e-t);g.push({month:e,medianA:null!=(u=null==(c=x.netWorthBands[e])?void 0:c.p50)?u:0,medianB:null!=(h=null==(d=v.netWorthBands[e])?void 0:d.p50)?h:0,delta:K(t,50)})}let y=K(p.map((e,t)=>e.finalNetWorth-m[t].finalNetWorth).sort((e,t)=>e-t),50);return{labelA:a,labelB:l,resultA:x,resultB:v,divergence:g,neverSellDelta:v.probabilityNeverSell-x.probabilityNeverSell,medianNetWorthDelta:y,ruinProbabilityDelta:v.ruinProbability-x.ruinProbability,marginCallDelta:v.marginCallFrequency-x.marginCallFrequency}}(eO,e,t,a,eG)):null},[eE,eO,ez,eG]),eX=eU.probabilityNeverSell,eJ=eX>=50?eo:eX>=25?"#FF9500":ec,eQ={btc:t,basis:T,state:$,country:Y,filing:eb,income:W},eZ=(0,i.useMemo)(()=>eU.netWorthBands.map(e=>({m:e.month,base:Math.max(0,e.p10),band:Math.max(0,e.p90-e.p10),p50:Math.max(0,e.p50),p10:Math.max(0,e.p10),p90:Math.max(0,e.p90)})),[eU]),e0=(0,i.useMemo)(()=>new Date().getFullYear(),[]),e1=(0,l.jsxs)("div",{className:"lc-card lc-chart-card",children:[(0,l.jsxs)("div",{className:"svb-chart-head",style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12,marginBottom:8},children:[(0,l.jsxs)("p",{style:{fontSize:12,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--text-secondary)",margin:0},children:["Net worth over ",ew," years"]}),(0,l.jsxs)("span",{style:{fontSize:14,fontWeight:700,color:ed,fontVariantNumeric:"tabular-nums"},children:["Median ",em(eU.medianNetWorthAtEnd)," at year ",ew]})]}),(0,l.jsx)(m.u,{width:"100%",height:230,children:(0,l.jsxs)(p.X,{data:eZ,margin:{top:8,right:6,bottom:0,left:6},children:[(0,l.jsx)("defs",{children:(0,l.jsxs)("linearGradient",{id:"ltsBand",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,l.jsx)("stop",{offset:"0%",stopColor:ed,stopOpacity:.42}),(0,l.jsx)("stop",{offset:"100%",stopColor:ed,stopOpacity:.12})]})}),(0,l.jsx)(x.d,{stroke:"rgba(255,255,255,0.05)",vertical:!1}),(0,l.jsx)(v.W,{dataKey:"m",hide:!0}),(0,l.jsx)(f.h,{hide:!0,domain:[0,"dataMax"]}),(0,l.jsx)(g.m,{content:(0,l.jsx)(e=>{let{active:t,payload:a}=e;if(!t||!(null==a?void 0:a.length))return null;let n=a[0].payload,s=Math.round(n.m/12);return(0,l.jsxs)("div",{className:"lts-tip",children:[(0,l.jsxs)("p",{className:"lts-tip-yr",children:[e0+s,(0,l.jsx)("span",{children:0===s?"now":" \xb7 ".concat(s,"y from now")})]}),(0,l.jsxs)("div",{className:"lts-tip-row",children:[(0,l.jsx)("span",{className:"lts-tip-k",children:"90th pct"}),(0,l.jsx)("span",{className:"lts-tip-v",children:em(n.p90)})]}),(0,l.jsxs)("div",{className:"lts-tip-row hl",children:[(0,l.jsxs)("span",{className:"lts-tip-k",children:[(0,l.jsx)("span",{className:"lts-tip-dot"}),"Median"]}),(0,l.jsx)("span",{className:"lts-tip-v",children:em(n.p50)})]}),(0,l.jsxs)("div",{className:"lts-tip-row",children:[(0,l.jsx)("span",{className:"lts-tip-k",children:"10th pct"}),(0,l.jsx)("span",{className:"lts-tip-v",children:em(n.p10)})]})]})},{}),cursor:{stroke:"rgba(255,255,255,0.25)",strokeDasharray:"3 3"}}),eC.map((e,t)=>{var a;return(0,l.jsx)(y.e,{x:12*e.yearFromNow,stroke:eu,strokeDasharray:"3 3",strokeOpacity:.7,label:{value:"".concat(null!=(a=eg[e.type])?a:"Event"," \xb7 ").concat(em(e.amount)),position:"insideTop",fill:eu,fontSize:9.5,fontWeight:600,offset:6}},t)}),(0,l.jsx)(b.G,{type:"monotone",dataKey:"base",stackId:"b",stroke:"none",fill:"transparent",isAnimationActive:!1}),(0,l.jsx)(b.G,{type:"monotone",dataKey:"band",stackId:"b",stroke:"none",fill:"url(#ltsBand)",isAnimationActive:!1}),(0,l.jsx)(j.N,{type:"monotone",dataKey:"p50",stroke:eh,strokeWidth:7,strokeOpacity:.25,dot:!1,isAnimationActive:!1,legendT
1ype:"none"}),(0,l.jsx)(j.N,{type:"monotone",dataKey:"p50",stroke:eh,strokeWidth:3,dot:!1,isAnimationActive:!1})]})}),(0,l.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:6,fontSize:11,color:"var(--text-muted)"},children:[(0,l.jsxs)("span",{children:[e0," (now)"]}),(0,l.jsx)("span",{children:e0+Math.round(ew/2)}),(0,l.jsx)("span",{children:e0+ew})]}),(0,l.jsxs)("div",{className:"lts-legend",children:[(0,l.jsxs)("span",{className:"lts-legend-item",children:[(0,l.jsx)("span",{className:"lts-legend-line"}),"Median"]}),(0,l.jsxs)("span",{className:"lts-legend-item",children:[(0,l.jsx)("span",{className:"lts-legend-band"}),"10th–90th percentile"]})]}),(0,l.jsxs)("p",{className:"lts-cap",children:["The ",(0,l.jsx)("b",{style:{color:eh},children:"bright line"})," is the median outcome across 1,000 simulated futures — it tracks the Bitcoin price model you pick (currently ","powerlaw"===eA?"the power law":"".concat(eB,"%/yr fixed"),"), with Bitcoin's real month-to-month swings, scaled to its volatility over the last five years, replayed around it; the ",(0,l.jsx)("b",{style:{color:ed},children:"shaded band"})," is the 10th–90th percentile range. ",eC.length>0?"Gold lines mark your life events.":""]})]}),e5=(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("p",{className:"lts-hero-cap",children:["Never need to sell",(0,l.jsx)(M.A,{text:"Share of 1,000 simulated 30-year futures where borrowing against your Bitcoin covers your spending and you never have to liquidate or get liquidated."})]}),(0,l.jsxs)("p",{className:"lts-hero-big",style:{color:eJ},children:[Math.round(eX),"%"]}),(0,l.jsxs)("p",{className:"lts-hero-sub",children:["In ",(0,l.jsxs)("b",{children:[Math.round(eX),"%"]})," of futures you live off your Bitcoin for ",ew," years and ",(0,l.jsx)("b",{children:"never sell a sat"})," — borrowing covers the gaps."]}),(0,l.jsxs)("div",{className:"lts-statgrid",children:[(0,l.jsx)(w.Kk,{label:"Median net worth, yr ".concat(ew),value:em(eU.medianNetWorthAtEnd)}),(0,l.jsx)(w.Kk,{label:"Chance of liquidation",value:Math.round(eU.ruinProbability)+"%"}),(0,l.jsx)(w.Kk,{label:"Avg margin calls",value:eU.marginCallFrequency.toFixed(1)})]})]}),e2=(0,l.jsx)("div",{className:"lc-card lts-hero",children:e5}),e3=(0,l.jsxs)("div",{className:"lc-card lc-inputs-card",children:[(0,l.jsx)("h3",{className:"lc-card-label",children:"Your Bitcoin life"}),(0,l.jsx)(s.A,{prefix:"lts",value:(0,w.xW)(Math.round(eL)),style:{marginBottom:18}}),(0,l.jsxs)("div",{className:"lc-field",children:[(0,l.jsx)("div",{className:"lc-field-top",children:(0,l.jsxs)("span",{className:"lc-field-label",children:["Bitcoin you hold",(0,l.jsx)(M.A,{text:"The Bitcoin you'd live off. We borrow against it instead of selling."})]})}),(0,l.jsxs)("div",{className:"lc-input-row",children:[(0,l.jsx)("span",{className:"lc-input-prefix",children:"₿"}),(0,l.jsx)(w.OA,{formatted:t.toFixed(2),ariaLabel:"Bitcoin you hold",onNumber:a}),(0,l.jsx)("button",{className:"lc-step",onClick:()=>a(Math.max(.1,+(t-.25).toFixed(2))),children:"–"}),(0,l.jsx)("button",{className:"lc-step",onClick:()=>a(+(t+.25).toFixed(2)),children:"+"})]}),(0,l.jsxs)("p",{className:"lc-field-sub",children:["≈ ",(0,w.xW)(Math.round(t*eL))]})]}),(0,l.jsx)(w.oz,{label:"Annual spending",prefix:"$",value:Math.round(S),step:1e4,min:0,onChange:B,sub:"What you live on each year (grows ~3%/yr with inflation)."}),(0,l.jsx)(w.oz,{label:"Annual income",prefix:"$",value:Math.round(W),step:1e4,min:0,onChange:F,sub:"Outside income while you work — 
1covers spending until you retire."}),(0,l.jsx)(w.Kc,{label:"Years until you stop working",value:L,unit:" yrs",min:0,max:50,step:1,onChange:e=>P(e),lo:"now",hi:"50 yrs",tip:"After this, income stops and you live entirely off borrowing against your Bitcoin."})]}),e4=(0,l.jsxs)("div",{className:"lc-card",children:[(0,l.jsx)("h3",{className:"lc-card-label",children:"Fine-tune the model"}),(0,l.jsx)(w.oz,{label:"Cost basis / BTC",prefix:"$",value:Math.round(T),step:1e3,min:0,onChange:E,sub:"What you paid — used to estimate the capital-gains tax you avoid by borrowing."}),(0,l.jsx)(w.Kc,{label:"Income growth",value:D,unit:"%/yr",min:0,max:10,step:.5,onChange:e=>q(e),lo:"0%",hi:"10%",tip:"How fast your working income rises each year."}),(0,l.jsx)(w.Kc,{label:"Restore-to LTV",value:z,unit:"%",min:20,max:70,step:5,onChange:e=>I(e),lo:"20%",hi:"70%",tip:"When a margin call hits, you top up collateral to bring your loan-to-value back down to this level. Lower means bigger top-ups but more breathing room afterward."}),(0,l.jsx)(w.Kc,{label:"Margin-call LTV",value:R,unit:"%",min:50,max:85,step:1,onChange:e=>H(e),lo:"50%",hi:"85%",tip:"If your LTV hits this, you'd add collateral to restore it (a real cost in the sim). Liquidation is at 85%."}),(0,l.jsx)(C.A,{model:eA,onModelChange:eS,linearPct:eB,onLinearPctChange:ek,currentPrice:eL,yearsAhead:ew,label:"Bitcoin price model"}),(0,l.jsx)("p",{className:"lts-cap",style:{marginTop:6,marginBottom:14},children:"How this works: we simulate 1,000 futures by replaying Bitcoin's real month-to-month swings (2011–today), scaled to its volatility over the last five years, around this growth path — the chart's median follows the model you pick; the band is the volatility around it."}),(0,l.jsx)(N.Ay,{international:!0,country:Y,onCountryChange:_,region:$,onRegionChange:ea,filing:eb,onFilingChange:ej,jurisdictionTip:"Where you'd owe capital-gains tax if you sold. Used only to estimate the tax you avoid by borrowing — your sub-national rate is added on top.",filingTip:"Sets your US tax brackets. Trusts hit the top rate far sooner."}),(0,l.jsx)(w.Kc,{label:"Simulation length",value:ew,unit:" yrs",min:5,max:50,step:1,onChange:e=>eN(e),lo:"5 yrs",hi:"50 yrs",tip:"How far into the future to simulate."})]}),e9=(0,l.jsxs)("div",{className:"lc-card",children:[(0,l.jsx)("h3",{className:"lc-card-label",children:"Life events"}),eC.map((e,t)=>(0,l.jsxs)("div",{className:"lts-event",children:[(0,l.jsxs)("div",{className:"lts-event-top",children:[(0,l.jsx)(w.zM,{label:"",value:e.type,onChange:e=>eM(a=>a.map((a,l)=>l===t?{...a,type:e}:a)),options:ef}),(0,l.jsx)("button",{className:"lts-event-del",onClick:()=>eM(e=>e.filter((e,a)=>a!==t)),"aria-label":"Remove event",children:(0,l.jsx)(o.A,{size:16})})]}),(0,l.jsxs)("div",{className:"lts-event-fields",children:[(0,l.jsxs)("label",{className:"lts-event-field",children:[(0,l.jsx)("span",{className:"lts-event-flabel",children:"Years from now"}),(0,l.jsx)("div",{className:"lc-input-row lts-event-box",children:(0,l.jsx)(w.OA,{integer:!0,formatted:String(e.yearFromNow),ariaLabel:"Years from now",onNumber:e=>eM(a=>a.map((a,l)=>l===t?{...a,yearFromNow:e}:a))})})]}),(0,l.jsxs)("label",{className:"lts-event-field",children:[(0,l.jsx)("span",{className:"lts-event-flabel",children:"Amount"}),(0,l.jsxs)("div",{className:"lc-input-row lts-event-box",children:[(0,l.jsx)("span",{className:"lc-input-prefix",children:"$"}),(0,l.jsx)(w.OA,{integer:!0,formatted:e.amount.toLocaleString(),ariaLabel:"Event amount",onNumber:e=>eM(a=>a.map((a,l)=>l===t?{...a,amount:e}:a))})]})]})]})]},t)),(0,l.jsxs)("div",{className:"lts-chips",children:[ey.map(e=>(0,l.jsxs)("button",{className:"lts-chip",onClick:()=>eM(t=>[...t,e.ev]),children:[(0,l.jsx)(c.A,{size:14}),e.label]},e.label)),(0,l.jsxs)("button",{className:"lts-chip",onClick:()=>eM(e=>[...e,{type:"expense",yearFromNow:5,amount:5e4,description:"Custom expense"}]),children:[(0,l.jsx)(c.A,{size:14}),"Custom"]})]})]}),e6=(0,l.jsxs)("div",{className:"lc-card",children:[(0,l.jsx)("h3",{className:"lc-card-label",children:"Living off your Bitcoin (median)"}),(0,l.jsxs)("div",{className:"lts-bbd",children:[(0,l.jsxs)("div",{className:"lts-bbd-row",children:[(0,l.jsx)("span",{children:"Bitcoin held at start"}),(0,l.jsx)("span",{children:(0,w.fq)(t)})]}),(0,l.jsxs)("div",{className:"lts-bbd-row",children:[(0,l.jsxs)("span",{children:["Total borrowed over ",ew," yrs"]}),(0,l.jsx)("span",{children:(0,w.xW)(Math.round(eU.medianTotalBorrowed))})]}),(0,l.jsxs)("div",{className:"lts-bbd-row",children:[(0,l.jsx)("span",{children:"Interest paid"}),(0,l.jsx)("span",{children:(0,w.xW)(Math.round(eU.medianTotalInterestPaid))})]}),(0,l.jsxs)("div",{className:"lts-bbd-row",children:[(0,l.jsx)("span",{children:"Capital-gains tax avoided"}),(0,l.jsx)("span",{className:"g",children:(0,w.xW)(Math.round(eU.medianTaxSaved))})]}),(0,l.jsxs)("div",{className:"lts-bbd-row",children:[(0,l.jsxs)("span",{children:["Net worth at year ",ew]}),(0,l.jsx)("span",{children:(0,w.xW)(Math.round(eU.medianNetWorthAtEnd))})]}),(0,l.jsxs)("p",{className:"lts-bbd-note",children:["In the median future you borrow ",(0,l.jsx)("b",{children:em(eU.medianTotalBorrowed)})," over ",ew," years, pay ",(0,l.jsx)("b",{children:em(eU.medianTotalInterestPaid)})," in interest, avoid an estimated ",(0,l.jsx)("b",{children:em(eU.medianTaxSaved)})," in capital-gains tax, and finish worth ",(0,l.jsx)("b",{children:em(eU.medianNetWorthAtEnd)})," — never having sold a sat."]}),(0,l.jsxs)("a",{className:"lts-handoff",href:(0,et._)("/tools/estate-planner",eQ,"lifetime-simulator"),children:["Passing it on? See the tax-free, stepped-up-basis handoff to your heirs",(0,l.jsx)(d.A,{size:14})]})]})]}),e7=eV&&(0,l.jsxs)("div",{className:"lc-card",children:[(0,l.jsxs)("h3",{className:"lc-card-label",children:["What if…",(0,l.jsx)(M.A,{text:"Re-runs all 1,000 futures under a changed plan and shows how each outcome moves vs. your current one. Green is better."})]}),(0,l.jsx)(w.zM,{label:"",value:ez,onChange:e=>eI(e),options:[["retire","I retire 5 years later"],["spend","I spend 20% less"]]}),(0,l.jsxs)("p",{className:"lts-cap",style:{marginTop:12},children:[(0,l.jsx)("b",{style:{color:"#fff"},children:eV.labelB})," vs. your current ",(0,l.jsx)("b",{style:{color:"#fff"},children:eV.labelA})," — by year ",ew," it ends"," ",(0,l.jsxs)("b",{style:{color:eV.medianNetWorthDelta>=0?eo:ec},children:[eV.medianNetWorthDelta>=0?"+":"",em(eV.medianNetWorthDelta)]})," ",eV.medianNetWorthDelta>=0?"ahead":"behind"," in net worth, with these changes:"]}),(0,l.jsxs)("div",{className:"lts-delta-grid",children:[(0,l.jsxs)("div",{className:"lts-delta",children:[(0,l.jsx)("p",{className:"lts-delta-v",style:{color:ep(eV.neverSellDelta,.5)?"var(--text-muted)":eV.neverSellDelta>0?eo:ec},children:ex(eV.neverSellDelta)}),(0,l.jsx)("p",{className:"lts-delta-l",children:"Never-sell odds"})]}),(0,l.jsxs)("div",{className:"lts-delta",children:[(0,l.jsx)("p",{className:"lts-delta-v",style:{color:ep(eV.medianNetWorthDelta,1)?"var(--text-muted)":eV.medianNetWorthDelta>0?eo:ec},children:ep(eV.medianNetWorthDelta,1)?"≈ same":(eV.medianNetWorthDelta>0?"+":"")+em(eV.medianNetWorthDelta)}),(0,l.jsx)("p",{className:"lts-delta-l",children:"Median net worth"})]}),(0,l.jsxs)("div",{className:"lts-delta",children:[(0,l.jsx)("p",{className:"lts-delta-v",style:{color:ep(eV.ruinProbabilityDelta,.5)?"var(--text-muted)":eV.ruinProbabilityDelta<0?eo:ec},children:ex(eV.ruinProbabilityDelta)}),(0,l.jsx)("p",{className:"lts-delta-l",children:"Liquidation risk"})]}),(0,l.jsxs)("div",{className:"lts-delta",children:[(0,l.jsx)("p",{className:"lts-delta-v",style:{color:ep(eV.marginCallDelta,.05)?"var(--text-muted)":eV.marginCallDelta<0?eo:ec},children:ep(eV.marginCallDelta,.05)?"≈ same":(eV.marginCallDelta>0?"+":"")+eV.marginCallDelta.toFixed(1)}),(0,l.jsx)("p",{className:"lts-delta-l",children:"Margin calls"})]})]}),(0,l.jsxs)("p",{className:"lts-cap",style:{marginTop:12},children:[(0,l.jsx)("b",{style:{color:"var(--text-light)"},children:"Why:"})," ","retire"===ez?"working longer means more years of income covering your spending, so you borrow less — and your Bitcoin compounds longer before you start drawing on it.":"spending less means you borrow less each year, so you carry less debt and interest — and on a tighter plan, a better chance of never being forced to sell."]})]}),e8=(0,l.jsxs)("div",{className:"lc-card",children:[(0,l.jsxs)("h3",{className:"lc-card-label",children:["Your safe yearly spend",(0,l.jsx)(M.A,{text:"Like retirement's 4% rule, but for borrowing: the yearly draw that avoided liquidation in this share of 1,000 simulated ".concat(ew,"-year futures — assuming no other income and no added collateral.")})]}),eR?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("p",{className:"lts-cap",style:{marginTop:0,marginBottom:12},children:["The share of your Bitcoin you could safely draw each year — by how sure you want to be it lasts ",ew," years. The ",(0,l.jsx)("b",{style:{color:"#fff"},children:"%"})," is what stays fixed; the dollar amount moves with Bitcoin's price."]}),(0,l.jsx)("div",{className:"lts-sbr-grid",children:eR.confidenceLevels.map(e=>(0,l.jsxs)("div",{className:"lts-sbr"+(.95===e.level?" hl":""),children:[(0,l.jsxs)("p",{className:"lts-sbr-lvl",children:[Math.round(100*e.level),"% safe"]}),(0,l.jsxs)("p",{className:"lts-sbr-rate",children:[(100*e.rate).toFixed(1),"%",(0,l.jsx)("span",{className:"lts-sbr-rate-of",children:"of your BTC/yr"})]}),(0,l.jsxs)("p",{className:"lts-sbr-amt",children:["≈ ",em(e.annualAmount)," today"]})]},e.level))}),(0,l.jsxs)("p",{className:"lts-cap",children:["At ",(0,l.jsx)("b",{style:{color:"#fff"},children:"95% safe"}),", that's ",(0,l.jsxs)("b",{style:{color:"#fff"},children:[(100*eR.safeBorrowRate).toFixed(1),"% of your Bitcoin's value"]})," a year — about ",(0,l.jsx)("b",{style:{color:"#fff"},children:em(eR.annualBorrowAmount)}
1)," at today's ",em(eL)," price, rising as Bitcoin does — a draw that never hit a liquidation in 95% of ",ew,"-year futures."]})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("p",{className:"lts-cap",style:{marginTop:0,marginBottom:14},children:"Find the most you could safely borrow against your Bitcoin every year without risking liquidation."}),(0,l.jsx)("button",{className:"lts-sbr-btn",onClick:()=>{e_(!0),setTimeout(()=>{try{let e=function(e,t){var a,l,n,s,r;if(!Number.isFinite(e.loanApr)||e.loanApr<0)throw Error("loanApr must be a finite non-negative number, got ".concat(e.loanApr));if(!Number.isFinite(e.marginCallLtv)||e.marginCallLtv<=0)throw Error("marginCallLtv must be a positive finite number, got ".concat(e.marginCallLtv));if(!Number.isFinite(e.numScenarios)||e.numScenarios<=0)throw Error("numScenarios must be a positive finite number, got ".concat(e.numScenarios));if(!Number.isFinite(e.simulationYears)||e.simulationYears<=0)throw Error("simulationYears must be a positive finite number, got ".concat(e.simulationYears));let i=Date.now(),o=[.9,.95,.97,.99],c=e.btcHoldings*e.currentBtcPrice;if(e.btcHoldings<=0||e.currentBtcPrice<=0||e.maxLtv<=0)return{safeBorrowRate:0,annualBorrowAmount:0,confidenceLevels:o.map(e=>({level:e,rate:0,annualAmount:0})),medianTotalBorrowed:0,medianTotalInterestPaid:0,avgMarginCalls:0,breakEvenCagr:0,survivalCurve:[]};let d=[],u=null;for(let t=.001;t<=.1+1e-9;t+=.001){let a=Math.round(1e4*t)/1e4,{survivalPct:l}=U(a,e,i);d.push({rate:a,survivalPct:l})}for(let e=1;e<d.length;e++)d[e].survivalPct>d[e-1].survivalPct&&(d[e].survivalPct=d[e-1].survivalPct);let h=o.map(e=>{let t=100*e,a=0;for(let e of d)e.survivalPct>=t&&(a=e.rate);return{level:e,rate:a,annualAmount:a*c}}),m=null!=(s=null!=(n=null==(a=h.find(t=>t.level===e.confidenceLevel))?void 0:a.rate)?n:null==(l=h.find(e=>.95===e.level))?void 0:l.rate)?s:0;if(m>0){let{outcomes:t}=U(m,e,i);u=t}let p=u?u.map(e=>e.totalBorrowed):[0],x=u?u.map(e=>e.totalInterestPaid):[0],v=u?u.map(e=>e.marginCallCount):[0],f=V(p),g=V(x),y=v.reduce((e,t)=>e+t,0)/v.length,b=function(e,t,a,l){let n=e/Math.max(.01,a/100)*100;return"capitalized"===l?n+t:n}(m,e.loanApr,e.maxLtv,null!=(r=e.interestPayment)?r:"monthly");return{safeBorrowRate:m,annualBorrowAmount:m*c,confidenceLevels:h,medianTotalBorrowed:f,medianTotalInterestPaid:g,avgMarginCalls:y,breakEvenCagr:b,survivalCurve:d}}({btcHoldings:t,loanApr:er,maxLtv:z,marginCallLtv:R,liquidationLtv:ei,simulationYears:ew,numScenarios:500,confidenceLevel:.95,currentBtcPrice:eL,growth:{model:eA,linearPct:eB}});eH(e)}catch(e){}finally{e_(!1)}},50)},disabled:eY,children:eY?"Calculating…":"Calculate my safe rate"})]})]}),te=(0,l.jsxs)(l.Fragment,{children:[e6,e7,e8]}),tt=(0,l.jsxs)("div",{className:"lts-canvas",children:[(0,l.jsx)("div",{className:"lc-tabs",role:"tablist",children:[["now","Now"],["proj","Projection"],["plan","Plan"]].map(e=>{let[t,a]=e;return(0,l.jsx)("button",{role:"tab","aria-selected":eD===t,className:"lc-tab"+(eD===t?" on":""),onClick:()=>eq(t),children:a},t)})}),"now"===eD&&(0,l.jsx)("div",{className:"lc-tabpane",children:e2}),"proj"===eD&&(0,l.jsx)("div",{className:"lc-tabpane",children:e1}),"plan"===eD&&(0,l.jsxs)("div",{className:"lc-tabpane",children:[e4,e9,te]})]});return(0,l.jsx)("div",{className:"lc-root lts-root",children:(0,l.jsxs)("div",{className:"lts-wrap",children:[(0,l.jsx)(Q.A,{current:"lifetime-simulator"}),(0,l.jsxs)("header",{className:"lts-head",children:[(0,l.jsxs)("div",{className:"lts-head-row",children:[(0,l.jsx)("div",{className:"lts-head-ic",children:(0,l.jsx)(u.A,{size:26})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"lts-h1",children:"Lifetime Simulator"}),(0,l.jsx)("p",{className:"lts-eyebrow",children:"Live off your Bitcoin"})]})]}),(0,l.jsx)("p",{className:"lts-sub",children:"Could you borrow against your Bitcoin to cover decades of spending — and never sell? We run 1,000 futures on real Bitcoin volatility to find out."}),(0,l.jsxs)("span",{className:"lts-badge",children:[(0,l.jsx)("span",{className:"dot"}),"Borrowing modeled at ",(0,l.jsxs)("b",{children:[er,"% APR"]}),", liquidation at ",ei,"% LTV"]})]}),(0,l.jsx)(ee.A,{handoff:eK}),(0,l.jsxs)("div",{className:"lts-grid",children:[(0,l.jsxs)("div",{className:"lts-col",children:[e3,eE&&!e&&e4,eE&&!e&&e9]}
1),(0,l.jsx)("div",{className:"lts-col",children:e&&eE?tt:(0,l.jsxs)(l.Fragment,{children:[e2,e1,eE&&!e&&te]})})]}),eP&&!eF&&(0,l.jsx)(en.A,{className:"lts-band",gate:(0,l.jsx)(el,{onUnlock:()=>eT(!0),onClose:()=>eW(!1)}),children:e6}),eP?(0,l.jsx)(es.Z,{onClick:()=>eW(!1)}):(0,l.jsx)(es.z,{unlocked:eF,onOpen:()=>{eW(!0),eq("proj")},title:"See your full 30-year buy-borrow-die plan",desc:(0,l.jsx)(l.Fragment,{children:"Your safe yearly spend, the tax you'd avoid, what your heirs inherit, and life events."})}),(0,l.jsx)(r.A,{prefix:"lts",analyticsSource:"lifetime-simulator",sub:"Start living off your Bitcoin",secondaryHref:(0,et._)("/loan-calculator",eQ,"lifetime-simulator"),secondaryLabel:"Model your loan before you borrow"}),(0,l.jsxs)("p",{className:"lts-legal",children:[(0,l.jsx)(h.A,{size:12,style:{display:"inline",verticalAlign:"-1px",marginRight:4}}),"Illustrative, not financial advice. 1,000 Monte Carlo futures bootstrap historical Bitcoin monthly returns (2011–today), scaled to Bitcoin's volatility over the last five years, around a power-law growth path (or the fixed-%/yr model you choose), borrowing at ",er,"% APR, liquidation at ",ei,"% LTV, spending growing ~3%/yr. Past performance doesn't guarantee future results. Consult a professional."]}),(0,l.jsx)("div",{style:{marginTop:40},children:(0,l.jsx)(Z.A,{current:"lifetime-simulator",position:eQ})})]})})}},76324:(e,t,a)=>{a.d(t,{$x:()=>n,Ym:()=>s});let l=new Date("2009-01-03").getTime();function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5.8,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return 1e-17*Math.pow(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return(e.getTime()-l)/864e5}()+e,t)*Math.pow(2,.7*a)}function s(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20;return e*Math.pow(1+a/100,t)}},93389:(e,t,a)=>{a.d(t,{Es:()=>s,Qt:()=>n,wi:()=>r});var l=a(76324);let n=5;function s(e,t,a){var s,r;if("linear"===e.model)return t*Math.pow(1+(null!=(s=e.linearPct)?s:0)/100,a);let i=null!=(r=e.slope)?r:n,o=(0,l.$x)(0,i),c=(0,l.$x)(365*a,i);return o>0?c/o*t:t}function r(e,t,a){return a<=0||t<=0?0:Math.pow(s(e,t,a)/t,1/a)-1}},94039:(e,t,a)=>{a.d(t,{A:()=>n});var l=a(95155);function n(e){let{prefix:t,value:a,style:n,flash:s=!1}=e;return(0,l.jsxs)("div",{className:"".concat(t,"-pricechip").concat(s?" flash":""),style:n,children:[(0,l.jsxs)("span",{className:"".concat(t,"-pricechip-l"),children:[(0,l.jsx)("span",{className:"".concat(t,"-pricechip-dot")}),"Live Bitcoin price"]}),(0,l.jsx)("span",{className:"".concat(t,"-pricechip-v"),children:a})]})}}}]);

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.