[{"data":1,"prerenderedAt":2004},["ShallowReactive",2],{"sanity-UAhdRKXa40siu1TMKIOk_HFVtuIKF5eCx41ztibAnmw":3,"sanity-qy8RafDCGrNwKdIuCfty6yURKReNA5seRn-wX0OoRVo":409,"sanity-sYhrRh_45FrCs8wyDI-GCZmcLX6tfr17HBA8CiG7Rsg":414},{"data":4},{"bannerText":5,"bannerUpdatedAt":6,"footerAgentDiscovery":5,"menuPrimaryNav":7,"menuPrimaryNavSecond":5,"menuSecondaryNav":112,"metrics":5,"newsletterErrorMessage":300,"newsletterInstructions":301,"newsletterPlaceholder":302,"newsletterSubmitButtonLabel":303,"newsletterSuccessMessage":304,"rightsText":5,"socials":305,"socialsListLabel":404,"swapButton":405},null,"2026-10-22T18:54:55Z",[8,27,40,52,64,76,88,100],{"icon":9,"link":12,"media":18},{"isCustom":10,"raw":11},true,"\u003Csvg width=\"100\" height=\"149\" viewBox=\"0 0 100 149\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Ccircle cx=\"49.9834\" cy=\"98.2666\" r=\"49.9834\" fill=\"#FAFAFA\"\u002F>\n\u003Ccircle cx=\"49.9834\" cy=\"49.9834\" r=\"49.9834\" fill=\"#33FF99\"\u002F>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":13,"openInNewTab":5,"page":14,"title":5,"url":17},"Swap",{"slug":15,"type":16},"swap","page","https:\u002F\u002Fswap.thorchain.org\u002Fswap",{"image":19,"lottie":24,"type":26},{"alt":20,"assetId":21,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"","image-2be7810d802cf6b01bae376ec68083be67c3df8b-249x217-png",217,249,{"url":25},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002F2f04a6f9a8bbc129979c437905f8a4f3fcd36d85.json","lottie",{"icon":28,"link":30,"media":35},{"isCustom":10,"raw":29},"\u003Csvg width=\"141\" height=\"150\" viewBox=\"0 0 141 150\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M66.8085 59.1811C69.0743 57.793 71.9271 57.793 74.1929 59.1811L137.624 98.0414C142.125 100.799 142.125 107.341 137.624 110.099L74.1929 148.959C71.9271 150.347 69.0743 150.347 66.8085 148.959L3.37782 110.099C-1.12402 107.341 -1.12401 100.799 3.37783 98.0414L66.8085 59.1811Z\" fill=\"#00CCFF\"\u002F>\n\u003Cpath d=\"M66.8085 32.8102C69.0743 31.422 71.9271 31.422 74.1929 32.8102L137.624 71.6705C142.125 74.4285 142.125 80.9697 137.624 83.7277L74.1929 122.588C71.9271 123.976 69.0743 123.976 66.8085 122.588L3.37782 83.7277C-1.12402 80.9697 -1.12401 74.4285 3.37783 71.6705L66.8085 32.8102Z\" fill=\"white\"\u002F>\n\u003Cpath d=\"M66.8071 1.0411C69.0729 -0.347034 71.9257 -0.347034 74.1915 1.0411L137.622 39.9014C142.124 42.6594 142.124 49.2006 137.622 51.9586L74.1915 90.8189C71.9257 92.207 69.0729 92.207 66.8071 90.8189L3.37638 51.9586C-1.12546 49.2006 -1.12546 42.6594 3.37638 39.9014L66.8071 1.0411Z\" fill=\"#33FF99\"\u002F>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":31,"openInNewTab":5,"page":32,"title":5,"url":34},"Integrate",{"slug":33,"type":16},"integrate","http:\u002F\u002Fgoogle.fr",{"image":36,"lottie":38,"type":26},{"alt":20,"assetId":37,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-442ea594fc28e849a79d248439f25021504e3ed4-249x217-png",{"url":39},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002Fc699ba1aa0682709d7c6e535d53be7084f6929d9.json",{"icon":41,"link":43,"media":47},{"isCustom":10,"raw":42},"\u003Csvg width=\"143\" height=\"137\" viewBox=\"0 0 143 137\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Ccircle cx=\"12.6266\" cy=\"12.6266\" r=\"12.6266\" transform=\"matrix(-1 -8.74228e-08 -8.74228e-08 1 142.12 110.995)\" fill=\"white\"\u002F>\n\u003Ccircle cx=\"12.6266\" cy=\"12.6266\" r=\"12.6266\" transform=\"matrix(-1 -8.74228e-08 -8.74228e-08 1 25.2534 0)\" fill=\"white\"\u002F>\n\u003Ccircle cx=\"12.6266\" cy=\"12.6266\" r=\"12.6266\" transform=\"matrix(-1 -8.74228e-08 -8.74228e-08 1 25.2534 110.995)\" fill=\"white\"\u002F>\n\u003Ccircle cx=\"12.6266\" cy=\"12.6266\" r=\"12.6266\" transform=\"matrix(-1 -8.74228e-08 -8.74228e-08 1 142.12 0)\" fill=\"white\"\u002F>\n\u003Ccircle cx=\"70.7652\" cy=\"68.419\" r=\"38.4672\" transform=\"rotate(-180 70.7652 68.419)\" fill=\"#00CCFF\"\u002F>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":44,"openInNewTab":5,"page":45,"title":5,"url":34},"Ecosystem",{"slug":46,"type":16},"ecosystem",{"image":48,"lottie":50,"type":26},{"alt":20,"assetId":49,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-2251f76bcba98a54dcec09c6e948c96105491ec5-249x217-png",{"url":51},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002Fbffe987c6ddbee89a1359b0d22c0bf2a91b0b597.json",{"icon":53,"link":55,"media":59},{"isCustom":10,"raw":54},"\u003Csvg width=\"150\" height=\"150\" viewBox=\"0 0 150 150\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M136.836 13.1619C128.078 4.40429 113.375 2.06162 95.5823 6.83743C77.9208 11.5782 58.144 23.1638 40.6539 40.6539C23.1638 58.144 11.5782 77.9208 6.83742 95.5823C2.0616 113.375 4.40428 128.078 13.1619 136.836C21.9195 145.594 36.6232 147.936 54.4155 143.16C72.0771 138.42 91.8538 126.834 109.344 109.344L112.463 112.464C76.5889 148.338 30.7334 160.647 10.0423 139.956C-10.6488 119.264 1.65979 73.4089 37.5343 37.5343C73.4088 1.65977 119.264 -10.6488 139.955 10.0423C160.647 30.7335 148.338 76.5889 112.463 112.464L109.344 109.344C126.834 91.8538 138.42 72.0771 143.16 54.4155C147.936 36.6232 145.594 21.9195 136.836 13.1619Z\" fill=\"url(#paint0_linear_3771_9698)\"\u002F>\n\u003Cpath d=\"M13.1722 13.1638C21.9298 4.40624 36.6335 2.06357 54.4258 6.83938C72.0873 11.5802 91.8641 23.1658 109.354 40.6558C126.844 58.1459 138.43 77.9227 143.171 95.5843C147.946 113.377 145.604 128.08 136.846 136.838C128.089 145.596 113.385 147.938 95.5926 143.162C77.931 138.422 58.1543 126.836 40.6642 109.346L37.5446 112.465C73.4192 148.34 119.275 160.649 139.966 139.957C160.657 119.266 148.348 73.4108 112.474 37.5363C76.5992 1.66172 30.7438 -10.6468 10.0526 10.0443C-10.6386 30.7354 1.67003 76.5909 37.5446 112.465L40.6642 109.346C23.1741 91.8558 11.5885 72.079 6.84771 54.4175C2.07189 36.6252 4.41454 21.9215 13.1722 13.1638Z\" fill=\"url(#paint1_linear_3771_9698)\"\u002F>\n\u003Cpath d=\"M105.739 74.8666C105.739 91.9223 91.913 105.749 74.8573 105.749C57.8015 105.749 43.9751 91.9223 43.9751 74.8666C43.9751 57.8108 57.8015 43.9844 74.8573 43.9844C91.913 43.9844 105.739 57.8108 105.739 74.8666Z\" fill=\"white\"\u002F>\n\u003Cdefs>\n\u003ClinearGradient id=\"paint0_linear_3771_9698\" x1=\"128.772\" y1=\"24.0563\" x2=\"18.396\" y2=\"120.989\" gradientUnits=\"userSpaceOnUse\">\n\u003Cstop stop-color=\"#33FF99\"\u002F>\n\u003Cstop offset=\"1\" stop-color=\"#00CCFF\"\u002F>\n\u003C\u002FlinearGradient>\n\u003ClinearGradient id=\"paint1_linear_3771_9698\" x1=\"128.782\" y1=\"24.0582\" x2=\"18.4062\" y2=\"120.991\" gradientUnits=\"userSpaceOnUse\">\n\u003Cstop stop-color=\"#33FF99\"\u002F>\n\u003Cstop offset=\"1\" stop-color=\"#00CCFF\"\u002F>\n\u003C\u002FlinearGradient>\n\u003C\u002Fdefs>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":56,"openInNewTab":5,"page":57,"title":5},"Community",{"slug":58,"type":16},"community",{"image":60,"lottie":62,"type":26},{"alt":20,"assetId":61,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-836dbd9c989ab6f984060eaaef0abb1dd7068e0a-249x217-png",{"url":63},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002Ff49b9fa081e7bf97fdfcd6f8e85660c34fd33150.json",{"icon":65,"link":67,"media":71},{"isCustom":10,"raw":66},"\u003Csvg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Ccircle cx=\"24\" cy=\"24\" r=\"24\" fill=\"url(#paint0_linear_3843_66150)\"\u002F>\n\u003Cpath d=\"M8.63989 42.3996L33.2353 31.5813L25.4492 23.3346L8.63989 42.3996ZM17.6752 15.1005L25.4613 23.3346L39.3599 5.59961L17.6752 15.1005Z\" fill=\"white\"\u002F>\n\u003Cdefs>\n\u003ClinearGradient id=\"paint0_linear_3843_66150\" x1=\"48\" y1=\"24.0368\" x2=\"-1.71443e-07\" y2=\"24.0368\" gradientUnits=\"userSpaceOnUse\">\n\u003Cstop stop-color=\"#33FF99\"\u002F>\n\u003Cstop offset=\"1\" stop-color=\"#00CCFF\"\u002F>\n\u003C\u002FlinearGradient>\n\u003C\u002Fdefs>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":68,"openInNewTab":5,"page":69,"title":5,"url":34},"$RUNE",{"slug":70,"type":16},"rune",{"image":72,"lottie":74,"type":26},{"alt":20,"assetId":73,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-7d03dcb9e362797128e360b59ec0cc0cb5032643-249x217-png",{"url":75},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002Fd12cfbb5e858bd1fdf6e05856b035b3410af7a5c.json",{"icon":77,"link":79,"media":83},{"isCustom":10,"raw":78},"\u003Csvg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Ccircle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#00CCFF\"\u002F>\n\u003Cpath d=\"M8.63989 42.3996L33.2353 31.5813L25.4492 23.3346L8.63989 42.3996ZM17.6752 15.1005L25.4613 23.3346L39.3599 5.59961L17.6752 15.1005Z\" fill=\"white\"\u002F>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":80,"openInNewTab":5,"page":81,"title":5,"url":34},"$TCY",{"slug":82,"type":16},"tcy",{"image":84,"lottie":86,"type":26},{"alt":20,"assetId":85,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-df576c744b36236856b41bda8a36721818c34d73-249x217-png",{"url":87},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002F5f05576aa4c091df234a605d02cc0d364dda67ae.json",{"icon":89,"link":91,"media":95},{"isCustom":10,"raw":90},"\u003Csvg width=\"171\" height=\"171\" viewBox=\"0 0 171 171\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Crect width=\"171\" height=\"170.045\" rx=\"2\" fill=\"white\"\u002F>\n\u003Crect x=\"14\" y=\"14\" width=\"142.341\" height=\"66.3939\" rx=\"4\" fill=\"#33FF99\"\u002F>\n\u003Crect x=\"14\" y=\"99\" width=\"66.3939\" height=\"9.55307\" rx=\"2\" fill=\"#E0E0E0\"\u002F>\n\u003Crect x=\"14\" y=\"118.106\" width=\"66.3939\" height=\"9.55307\" rx=\"2\" fill=\"#E0E0E0\"\u002F>\n\u003Crect x=\"14\" y=\"136.734\" width=\"66.3939\" height=\"9.55307\" rx=\"2\" fill=\"#E0E0E0\"\u002F>\n\u003Crect x=\"89.9473\" y=\"89.9463\" width=\"66.3939\" height=\"66.3939\" rx=\"4\" fill=\"#E0E0E0\"\u002F>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":92,"openInNewTab":5,"page":93,"title":5,"url":34},"Blog",{"slug":94,"type":16},"blog",{"image":96,"lottie":98,"type":26},{"alt":20,"assetId":97,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-60b273ef3f61fb210391ace13ae24fd54315e903-249x217-png",{"url":99},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002F9f4f2678daa0ced5ddeb857c80aba99cdc2327df.json",{"icon":101,"link":103,"media":107},{"isCustom":10,"raw":102},"\u003Csvg width=\"219\" height=\"150\" viewBox=\"0 0 219 150\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M218.878 75C195.267 116.421 154.167 150 109.439 150C64.7096 150 23.6107 116.421 0 75C23.6107 33.5786 64.7096 0 109.439 0C154.167 0 195.267 33.5786 218.878 75Z\" fill=\"white\"\u002F>\n\u003Ccircle cx=\"109.439\" cy=\"74.9988\" r=\"62.0301\" fill=\"#00CCFF\"\u002F>\n\u003Ccircle cx=\"110.03\" cy=\"74.4075\" r=\"27.1751\" fill=\"black\"\u002F>\n\u003C\u002Fsvg>\n",{"anchor":5,"getParameters":5,"isInternal":10,"label":104,"openInNewTab":5,"page":105,"title":5},"Vision",{"slug":106,"type":16},"vision",{"image":108,"lottie":110,"type":26},{"alt":20,"assetId":109,"caption":5,"crop":5,"height":22,"hotspot":5,"width":23},"image-b942f780208164574bc627717b8ba767769679c8-249x217-png",{"url":111},"https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F355nlzcp\u002Fproduction\u002F10605a7dc834718366393857d9c7dc4b3459fd63.json",[113,132,174,197,222,243,267,282],{"children":114,"label":131},[115,117,119,121,123,125,127,129],{"anchor":5,"getParameters":5,"isInternal":10,"label":13,"openInNewTab":5,"page":116,"title":5},{"slug":15,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":31,"openInNewTab":5,"page":118,"title":5},{"slug":33,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":44,"openInNewTab":5,"page":120,"title":5},{"slug":46,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":56,"openInNewTab":5,"page":122,"title":5},{"slug":58,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":68,"openInNewTab":5,"page":124,"title":5},{"slug":70,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":80,"openInNewTab":5,"page":126,"title":5},{"slug":82,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":92,"openInNewTab":5,"page":128,"title":5},{"slug":94,"type":16},{"anchor":5,"getParameters":5,"isInternal":10,"label":104,"openInNewTab":5,"page":130,"title":5},{"slug":106,"type":16},"Menu",{"children":133,"label":173},[134,138,142,146,150,154,158,162,165,169],{"anchor":5,"getParameters":5,"isInternal":10,"label":135,"openInNewTab":5,"page":136,"title":5},"FAQ",{"slug":137,"type":16},"faq",{"anchor":5,"getParameters":5,"isInternal":10,"label":139,"openInNewTab":5,"page":140,"title":5},"Contributors",{"slug":141,"type":16},"contributors",{"anchor":5,"getParameters":5,"isInternal":10,"label":143,"openInNewTab":5,"page":144,"title":5},"Pro Trader",{"slug":145,"type":16},"pro-trader",{"anchor":5,"getParameters":5,"isInternal":10,"label":147,"openInNewTab":5,"page":148,"title":5},"Node Operator",{"slug":149,"type":16},"node-operator",{"anchor":5,"getParameters":5,"isInternal":10,"label":151,"openInNewTab":5,"page":152,"title":5},"Bond $RUNE",{"slug":153,"type":16},"bond-rune",{"anchor":5,"getParameters":5,"isInternal":155,"label":156,"openInNewTab":5,"title":5,"url":157},false,"Whitepaper","https:\u002F\u002Fdocs.thorchain.org\u002F",{"anchor":5,"getParameters":5,"isInternal":10,"label":159,"openInNewTab":5,"page":160,"title":5,"url":157},"Brand Assets",{"slug":161,"type":16},"brand-assets",{"anchor":5,"getParameters":5,"isInternal":155,"label":163,"openInNewTab":5,"title":5,"url":164},"Audits","https:\u002F\u002Fgithub.com\u002Fthorchain\u002FResources\u002Ftree\u002Fmaster\u002FAudits",{"anchor":5,"getParameters":5,"isInternal":10,"label":166,"openInNewTab":5,"page":167,"title":5},"Privacy Policy",{"slug":168,"type":16},"privacy-policy",{"anchor":5,"getParameters":5,"isInternal":10,"label":170,"openInNewTab":5,"page":171,"title":5},"Terms of Use",{"slug":172,"type":16},"terms-of-use","THORChain",{"children":175,"label":196},[176,180,184,187,190,193],{"anchor":5,"getParameters":5,"isInternal":155,"label":177,"openInNewTab":5,"page":178,"title":5,"url":179},"THORChain Explorer",{"slug":70,"type":16},"https:\u002F\u002Fthorchain.net\u002Fdashboard",{"anchor":5,"getParameters":5,"isInternal":155,"label":181,"openInNewTab":5,"page":182,"title":5,"url":183},"RUNEScan",{"slug":161,"type":16},"https:\u002F\u002Frunescan.io\u002Ffr",{"anchor":5,"getParameters":5,"isInternal":155,"label":185,"openInNewTab":5,"title":5,"url":186},"Viewblock","https:\u002F\u002Fviewblock.io\u002Fthorchain",{"anchor":5,"getParameters":5,"isInternal":155,"label":188,"openInNewTab":5,"title":5,"url":189},"THORNodes","https:\u002F\u002Fthornode.network\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":191,"openInNewTab":5,"title":5,"url":192},"RUNE Tools","https:\u002F\u002Frune.tools\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":194,"openInNewTab":5,"title":5,"url":195},"XScanner","https:\u002F\u002Fxscanner.org\u002F","Explorers",{"children":198,"label":221},[199,203,206,209,212,215,218],{"anchor":5,"getParameters":5,"isInternal":155,"label":200,"openInNewTab":5,"theme":201,"title":5,"url":202},"Blockworks","default","https:\u002F\u002Fblockworks.com\u002Fanalytics\u002Fthorchain",{"anchor":5,"getParameters":5,"isInternal":155,"label":204,"openInNewTab":5,"title":5,"url":205},"Messari","https:\u002F\u002Fmessari.io\u002Fdashboards\u002Fthorchain",{"anchor":5,"getParameters":5,"isInternal":155,"label":207,"openInNewTab":5,"theme":201,"title":5,"url":208},"DefiLlama","https:\u002F\u002Finvestors.defillama.com\u002Fthorchain",{"anchor":5,"getParameters":5,"isInternal":155,"label":210,"openInNewTab":5,"title":5,"url":211},"Dune","https:\u002F\u002Fdune.com\u002Fthorchain\u002Fthorchain-overview",{"anchor":5,"getParameters":5,"isInternal":155,"label":213,"openInNewTab":5,"title":5,"url":214},"Raynalytics","https:\u002F\u002Fraynalytics.net\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":216,"openInNewTab":5,"title":5,"url":217},"THORCharts","https:\u002F\u002Fthorcharts.org\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":219,"openInNewTab":5,"title":5,"url":220},"GrassRoots Crypto","https:\u002F\u002Fwww.youtube.com\u002F@GrassRootsCrypto","Research",{"children":223,"label":242},[224,227,230,233,236,239],{"anchor":5,"getParameters":5,"isInternal":155,"label":225,"openInNewTab":5,"title":5,"url":226},"Rujira","https:\u002F\u002Frujira.network\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":228,"openInNewTab":5,"title":5,"url":229},"Maya Protocol","https:\u002F\u002Fwww.mayaprotocol.com\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":231,"openInNewTab":5,"title":5,"url":232},"Liquify","https:\u002F\u002Fwww.liquify.com\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":234,"openInNewTab":5,"title":5,"url":235},"Berserk Marketing","https:\u002F\u002Fberserkmarketingltd.com\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":237,"openInNewTab":5,"theme":201,"title":5,"url":238},"Unstoppable","https:\u002F\u002Funstoppable.money\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":240,"openInNewTab":5,"title":5,"url":241},"Soda Labs","https:\u002F\u002Fsodalabs.xyz\u002F","Partners",{"children":244,"label":266},[245,248,251,254,257,260,263],{"anchor":5,"getParameters":5,"isInternal":155,"label":246,"openInNewTab":5,"title":5,"url":247},"GitLab","https:\u002F\u002Fgitlab.com\u002Fthorchain",{"anchor":5,"getParameters":5,"isInternal":155,"label":249,"openInNewTab":5,"title":5,"url":250},"Dev Docs","https:\u002F\u002Fdev.thorchain.org\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":252,"openInNewTab":5,"theme":201,"title":5,"url":253},"Agent Toolkit","https:\u002F\u002Fgitlab.com\u002Fboonew\u002Ftcli",{"anchor":5,"getParameters":5,"isInternal":155,"label":255,"openInNewTab":5,"title":5,"url":256},"Ecosystem Guide","https:\u002F\u002Ftcecosystem.guide\u002Findex.html",{"anchor":5,"getParameters":5,"isInternal":155,"label":258,"openInNewTab":5,"title":5,"url":259},"Bug Bounty","https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fblob\u002Fdevelop\u002Fbugbounty.md",{"anchor":5,"getParameters":5,"isInternal":155,"label":261,"openInNewTab":5,"theme":201,"title":5,"url":262},"XChainJS","https:\u002F\u002Fxchainjs.org\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":264,"openInNewTab":5,"theme":201,"title":5,"url":265},"Visual Review","https:\u002F\u002Fmr-5102.thorchain-mr-reviews.pages.dev\u002F","Developers",{"children":268,"label":281},[269,272,275,278],{"anchor":5,"getParameters":5,"isInternal":155,"label":270,"openInNewTab":5,"title":5,"url":271},"THOR InfoBot","https:\u002F\u002Fx.com\u002FTHOR_InfoBot",{"anchor":5,"getParameters":5,"isInternal":155,"label":273,"openInNewTab":5,"title":5,"url":274},"THORChain Infobot","https:\u002F\u002Ft.me\u002Fthor_infobot",{"anchor":5,"getParameters":5,"isInternal":155,"label":276,"openInNewTab":5,"title":5,"url":277},"THORChain Alerts","https:\u002F\u002Ft.me\u002Fthorchain_alert",{"anchor":5,"getParameters":5,"isInternal":155,"label":279,"openInNewTab":5,"title":5,"url":280},"THORChain DEV","https:\u002F\u002Ft.me\u002Fthorchain_dev","Notifications",{"children":283,"label":299},[284,287,290,293,296],{"anchor":5,"getParameters":5,"isInternal":155,"label":285,"openInNewTab":5,"theme":201,"title":5,"url":286},"Midgard","https:\u002F\u002Fgateway.liquify.com\u002Fchain\u002Fthorchain_midgard\u002Fv2\u002Fdoc",{"anchor":5,"getParameters":5,"isInternal":155,"label":288,"openInNewTab":5,"theme":201,"title":5,"url":289},"THORNode","https:\u002F\u002Fgateway.liquify.com\u002Fchain\u002Fthorchain_api\u002Fthorchain\u002Fdoc",{"anchor":5,"getParameters":5,"isInternal":155,"label":291,"openInNewTab":5,"theme":201,"title":5,"url":292},"THORNode - Liquify","https:\u002F\u002Fapiv2.liquify.com\u002Fthor\u002Fapi\u002Fdocs",{"anchor":5,"getParameters":5,"isInternal":155,"label":294,"openInNewTab":5,"theme":201,"title":5,"url":295},"DEX Integration","https:\u002F\u002Fapi-thor.liquify.com\u002Fdocs#\u002F",{"anchor":5,"getParameters":5,"isInternal":155,"label":297,"openInNewTab":5,"theme":201,"title":5,"url":298},"RPC","https:\u002F\u002Fgateway.liquify.com\u002Fchain\u002Fthorchain_rpc","API","Error, try again later","Subscribe to THORChain's Weekly Newsletter","Enter your email","Sign Up","Subscribed",[306,314,322,330,338,346,354,362,369,376,383,390,397],{"_key":307,"icon":308,"link":311},"2eb184d055a2",{"icon":309,"isCustom":10,"raw":310},"x","\u003Csvg width=\"20\" height=\"19\" viewBox=\"0 0 20 19\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M15.8014 0H18.867L12.136 8.06273L20 19H13.8287L8.997 12.3535L3.46551 19H0.399867L7.53082 10.3764L0 0H6.32456L10.6898 6.07159L15.8014 0ZM14.7284 17.107H16.4279L5.43152 1.82288H3.60546L14.7284 17.107Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":312,"url":313},"X (Twitter)","https:\u002F\u002Fx.com\u002Fthorchain",{"_key":315,"icon":316,"link":319},"b4fd5f2c06d5",{"icon":317,"isCustom":10,"raw":318},"telegram","\u003Csvg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M18.6339 0.0653823L0.520771 6.77709C0.509994 6.78106 0.499547 6.78582 0.48952 6.7913C0.34264 6.87098 -0.682396 7.47134 0.762967 8.00961L0.777811 8.01484L5.09085 9.3491C5.12376 9.35934 5.1586 9.36257 5.19295 9.35856C5.22729 9.35456 5.26031 9.34341 5.28969 9.32591L15.9873 2.93477C16.0135 2.9191 16.0428 2.90855 16.0733 2.90373C16.2221 2.88016 16.6506 2.83602 16.3795 3.16557C16.0729 3.53962 8.76598 9.80957 7.95501 10.5049C7.90825 10.5451 7.87932 10.601 7.87415 10.6609L7.52023 14.7007C7.52019 14.7419 7.53015 14.7825 7.54934 14.8193C7.56853 14.8561 7.59642 14.8881 7.63078 14.9128C7.67955 14.9422 7.73689 14.9559 7.79436 14.9517C7.85182 14.9475 7.90636 14.9258 7.94993 14.8896L10.5125 12.6965C10.553 12.6619 10.6046 12.6416 10.6589 12.6389C10.7131 12.6363 10.7666 12.6515 10.8106 12.682L15.2814 15.7904L15.2959 15.7997C15.4041 15.8637 16.5729 16.5149 16.9104 15.0606L19.9964 1.00913C20.0007 0.964615 20.0425 0.475349 19.6773 0.186203C19.2937 -0.116035 18.7507 0.0365798 18.6691 0.0530383C18.657 0.0562485 18.6453 0.0603764 18.6339 0.0653823Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":320,"url":321},"Telegram","https:\u002F\u002Ft.me\u002Fthorchain_org",{"_key":323,"icon":324,"link":327},"e7ab02eb4513",{"icon":325,"isCustom":10,"raw":326},"discord","\u003Csvg width=\"20\" height=\"15\" viewBox=\"0 0 20 15\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M12.8155 0C12.62 0.343329 12.4445 0.698502 12.285 1.06156C10.7693 0.836619 9.22574 0.836619 7.70605 1.06156C7.55055 0.698502 7.37106 0.343329 7.17559 0C5.75169 0.240729 4.36362 0.662984 3.04741 1.25888C0.438864 5.08286 -0.267107 8.80821 0.0838889 12.4822C1.61154 13.5991 3.32263 14.4515 5.14542 14.996C5.55622 14.4515 5.91921 13.8714 6.23033 13.2676C5.63999 13.0505 5.06962 12.7782 4.52319 12.4625C4.66678 12.3599 4.80637 12.2533 4.942 12.1508C8.14484 13.6424 11.8542 13.6424 15.061 12.1508C15.1966 12.2613 15.3362 12.3678 15.4798 12.4625C14.9334 12.7821 14.363 13.0505 13.7687 13.2715C14.0798 13.8753 14.4428 14.4554 14.8536 15C16.6764 14.4554 18.3875 13.6069 19.9152 12.4901C20.33 8.22809 19.2052 4.53434 16.9436 1.26284C15.6314 0.666932 14.2434 0.244672 12.8195 0.00789131L12.8155 0ZM6.67703 10.221C5.69186 10.221 4.87416 9.33702 4.87416 8.24389C4.87416 7.15077 5.65991 6.26282 6.67302 6.26282C7.68613 6.26282 8.49181 7.15468 8.47589 8.24389C8.45992 9.33305 7.68218 10.221 6.67703 10.221ZM13.322 10.221C12.3329 10.221 11.5232 9.33702 11.5232 8.24389C11.5232 7.15077 12.3089 6.26282 13.322 6.26282C14.3351 6.26282 15.1368 7.15468 15.1208 8.24389C15.1049 9.33305 14.3271 10.221 13.322 10.221Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":328,"url":329},"Discord","https:\u002F\u002Fdiscord.com\u002Finvite\u002Fthorchaindevs",{"_key":331,"icon":332,"link":335},"a78ef65b331f",{"icon":333,"isCustom":10,"raw":334},"gitlab","\u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M18.5236 0H1.47639C1.08483 0 0.709301 0.155548 0.432425 0.432425C0.155548 0.709301 0 1.08483 0 1.47639V18.5236C0 18.9152 0.155548 19.2907 0.432425 19.5676C0.709301 19.8445 1.08483 20 1.47639 20H18.5236C18.9152 20 19.2907 19.8445 19.5676 19.5676C19.8445 19.2907 20 18.9152 20 18.5236V1.47639C20 1.08483 19.8445 0.709301 19.5676 0.432425C19.2907 0.155548 18.9152 0 18.5236 0ZM5.96111 17.0375H2.95417V7.48611H5.96111V17.0375ZM4.45556 6.1625C4.11447 6.16058 3.7816 6.05766 3.49895 5.86674C3.21629 5.67582 2.99653 5.40544 2.8674 5.08974C2.73826 4.77404 2.70554 4.42716 2.77336 4.09288C2.84118 3.7586 3.0065 3.4519 3.24846 3.21148C3.49042 2.97107 3.79818 2.80772 4.13289 2.74205C4.4676 2.67638 4.81426 2.71133 5.12913 2.84249C5.44399 2.97365 5.71295 3.19514 5.90205 3.47901C6.09116 3.76288 6.19194 4.09641 6.19167 4.4375C6.19488 4.66586 6.15209 4.89253 6.06584 5.104C5.97959 5.31547 5.85165 5.50742 5.68964 5.66839C5.52763 5.82936 5.33487 5.95607 5.12285 6.04096C4.91083 6.12585 4.68389 6.16718 4.45556 6.1625ZM17.0444 17.0458H14.0389V11.8278C14.0389 10.2889 13.3847 9.81389 12.5403 9.81389C11.6486 9.81389 10.7736 10.4861 10.7736 11.8667V17.0458H7.76667V7.49306H10.6583V8.81667H10.6972C10.9875 8.22917 12.0042 7.225 13.5556 7.225C15.2333 7.225 17.0458 8.22083 17.0458 11.1375L17.0444 17.0458Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":336,"url":337},"LinkedIn","https:\u002F\u002Flinkedin.com\u002Fcompany\u002Fthorchain",{"_key":339,"icon":340,"link":343},"fcd9d1276a23",{"icon":341,"isCustom":10,"raw":342},"youtube","\u003Csvg width=\"20\" height=\"14\" viewBox=\"0 0 20 14\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M19.8008 3.02083C19.8008 3.02083 19.6055 1.64843 19.0039 1.04582C18.2422 0.252708 17.3906 0.24882 17 0.202166C14.2031 -1.12332e-07 10.0039 0 10.0039 0H9.99609C9.99609 0 5.79687 -1.12332e-07 3 0.202166C2.60938 0.24882 1.75781 0.252708 0.996094 1.04582C0.394531 1.64843 0.203125 3.02083 0.203125 3.02083C0.203125 3.02083 0 4.63427 0 6.24382V7.75229C0 9.36184 0.199219 10.9753 0.199219 10.9753C0.199219 10.9753 0.394531 12.3477 0.992187 12.9503C1.75391 13.7434 2.75391 13.7162 3.19922 13.8017C4.80078 13.9533 10 14 10 14C10 14 14.2031 13.9922 17 13.7939C17.3906 13.7473 18.2422 13.7434 19.0039 12.9503C19.6055 12.3477 19.8008 10.9753 19.8008 10.9753C19.8008 10.9753 20 9.36573 20 7.75229V6.24382C20 4.63427 19.8008 3.02083 19.8008 3.02083ZM7.93359 9.58345V3.98889L13.3359 6.79589L7.93359 9.58345Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":344,"url":345},"YouTube","https:\u002F\u002Fwww.youtube.com\u002F@THORChainCommunity",{"_key":347,"icon":348,"link":351},"c6aeacc6ad97",{"icon":349,"isCustom":10,"raw":350},"reddit","\u003Csvg width=\"20\" height=\"17\" viewBox=\"0 0 20 17\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M12.5427 2.48901C12.7594 3.3816 13.5842 4.04654 14.5691 4.04654C15.7189 4.04654 16.6511 3.14067 16.6511 2.02327C16.6511 0.90587 15.7189 0 14.5691 0C13.5637 0 12.7252 0.692445 12.53 1.61349C10.8463 1.78897 9.53148 3.17671 9.53148 4.8585C9.53148 4.86229 9.53148 4.86514 9.53148 4.86893C7.70034 4.94387 6.02831 5.4504 4.70083 6.25003C4.20791 5.87914 3.58907 5.65813 2.91752 5.65813C1.306 5.65813 0 6.9273 0 8.49336C0 9.62973 0.687164 10.6086 1.67984 11.0611C1.77648 14.3526 5.46706 17 10.0068 17C14.5466 17 18.2421 14.3497 18.3338 11.0554C19.3187 10.6001 20 9.62404 20 8.49431C20 6.92825 18.694 5.65908 17.0825 5.65908C16.4139 5.65908 15.798 5.8782 15.306 6.24623C13.9668 5.44091 12.2762 4.93438 10.4265 4.86704C10.4265 4.86419 10.4265 4.86229 10.4265 4.85945C10.4265 3.65478 11.348 2.65501 12.5427 2.49091V2.48901ZM4.5837 10.2928C4.6325 9.26454 5.33529 8.47534 6.15227 8.47534C6.96925 8.47534 7.59395 9.30912 7.54514 10.3374C7.49634 11.3656 6.88629 11.7393 6.06833 11.7393C5.25037 11.7393 4.5349 11.321 4.5837 10.2928ZM13.8624 8.47534C14.6803 8.47534 15.3831 9.26454 15.4309 10.2928C15.4797 11.321 14.7633 11.7393 13.9463 11.7393C13.1293 11.7393 12.5183 11.3665 12.4695 10.3374C12.4207 9.30912 13.0444 8.47534 13.8624 8.47534ZM12.8902 12.6717C13.0434 12.6869 13.141 12.8415 13.0815 12.98C12.5788 14.1477 11.3919 14.9682 10.0068 14.9682C8.62177 14.9682 7.43582 14.1477 6.93216 12.98C6.87262 12.8415 6.97023 12.6869 7.12348 12.6717C8.02147 12.5835 8.99268 12.5352 10.0068 12.5352C11.021 12.5352 11.9912 12.5835 12.8902 12.6717Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":352,"url":353},"Reddit","https:\u002F\u002Fwww.reddit.com\u002Fr\u002FTHORChain\u002F",{"_key":355,"icon":356,"link":359},"337460c1bb1a",{"icon":357,"isCustom":10,"raw":358},"gitbook","\u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M10.0059 1.80113C12.6793 1.80113 12.9959 1.81285 14.0473 1.85974C15.0244 1.90272 15.5521 2.06681 15.9038 2.20356C16.369 2.38328 16.7051 2.60207 17.053 2.9498C17.4047 3.30143 17.6197 3.63352 17.7995 4.09846C17.9363 4.45009 18.1004 4.98144 18.1434 5.95429C18.1903 7.00918 18.2021 7.32565 18.2021 9.99414C18.2021 12.6665 18.1903 12.983 18.1434 14.034C18.1004 15.0107 17.9363 15.5382 17.7995 15.8898C17.6197 16.3548 17.4008 16.6908 17.053 17.0385C16.7012 17.3901 16.369 17.605 15.9038 17.7847C15.5521 17.9215 15.0205 18.0856 14.0473 18.1285C12.992 18.1754 12.6754 18.1871 10.0059 18.1871C7.33242 18.1871 7.01583 18.1754 5.96443 18.1285C4.9873 18.0856 4.45964 17.9215 4.10788 17.7847C3.64276 17.605 3.30662 17.3862 2.95876 17.0385C2.607 16.6869 2.39203 16.3548 2.21223 15.8898C2.07543 15.5382 1.91128 15.0068 1.86828 14.034C1.82138 12.9791 1.80965 12.6626 1.80965 9.99414C1.80965 7.32174 1.82138 7.00527 1.86828 5.95429C1.91128 4.97753 2.07543 4.45009 2.21223 4.09846C2.39203 3.63352 2.6109 3.29752 2.95876 2.9498C3.31053 2.59816 3.64276 2.38328 4.10788 2.20356C4.45964 2.06681 4.99121 1.90272 5.96443 1.85974C7.01583 1.81285 7.33242 1.80113 10.0059 1.80113ZM10.0059 0C7.28943 0 6.94938 0.011721 5.88235 0.0586052C4.81923 0.105489 4.08833 0.277398 3.45515 0.52354C2.79461 0.781403 2.23569 1.12131 1.68067 1.68002C1.12175 2.23481 0.781708 2.79351 0.523744 3.44989C0.277506 4.08674 0.105531 4.81344 0.0586281 5.87615C0.0117256 6.94667 0 7.28658 0 10.002C0 12.7173 0.0117256 13.0572 0.0586281 14.1239C0.105531 15.1866 0.277506 15.9172 0.523744 16.5501C0.781708 17.2104 1.12175 17.7691 1.68067 18.3239C2.23569 18.8787 2.79461 19.2225 3.45124 19.4765C4.08833 19.7226 4.81532 19.8945 5.87844 19.9414C6.94548 19.9883 7.28552 20 10.002 20C12.7184 20 13.0584 19.9883 14.1255 19.9414C15.1886 19.8945 15.9195 19.7226 16.5527 19.4765C17.2093 19.2225 17.7682 18.8787 18.3232 18.3239C18.8782 17.7691 19.2222 17.2104 19.4763 16.554C19.7225 15.9172 19.8945 15.1905 19.9414 14.1278C19.9883 13.0611 20 12.7212 20 10.0059C20 7.29049 19.9883 6.95058 19.9414 5.88396C19.8945 4.82125 19.7225 4.09064 19.4763 3.45771C19.23 2.79351 18.89 2.23481 18.3311 1.68002C17.776 1.12522 17.2171 0.781403 16.5605 0.527447C15.9234 0.281305 15.1964 0.109396 14.1333 0.0625122C13.0623 0.011721 12.7223 0 10.0059 0Z\" fill=\"#FAFAFA\"\u002F>\n\u003Cpath d=\"M10.0035 4.864C7.16593 4.864 4.8638 7.16523 4.8638 10.0017C4.8638 12.8382 7.16593 15.1394 10.0035 15.1394C12.8411 15.1394 15.1433 12.8382 15.1433 10.0017C15.1433 7.16523 12.8411 4.864 10.0035 4.864ZM10.0035 13.3344C8.16261 13.3344 6.66955 11.8419 6.66955 10.0017C6.66955 8.16152 8.16261 6.66904 10.0035 6.66904C11.8445 6.66904 13.3375 8.16152 13.3375 10.0017C13.3375 11.8419 11.8445 13.3344 10.0035 13.3344Z\" fill=\"#FAFAFA\"\u002F>\n\u003Cpath d=\"M16.5407 4.66338C16.5407 5.32757 16.0013 5.86283 15.3407 5.86283C14.6763 5.86283 14.1408 5.32367 14.1408 4.66338C14.1408 3.99919 14.6802 3.46392 15.3407 3.46392C16.0013 3.46392 16.5407 4.00309 16.5407 4.66338Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":360,"url":361},"Instagram","https:\u002F\u002Fwww.instagram.com\u002Fthorchain",{"_key":363,"icon":364,"link":366},"0471bb3eca4205722df8ca6d27567665",{"icon":357,"isCustom":10,"raw":365},"\u003Csvg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M19.9996 10.0367C19.9996 4.49365 15.5225 0 9.9998 0C4.47711 0 0 4.49365 0 10.0367C0 14.7436 3.22874 18.6932 7.58425 19.778V13.104H5.52229V10.0367H7.58425V8.7151C7.58425 5.29899 9.12462 3.7156 12.4662 3.7156C13.0997 3.7156 14.1929 3.84046 14.6401 3.96491V6.74509C14.4041 6.7202 13.9941 6.70775 13.4849 6.70775C11.8454 6.70775 11.2118 7.33123 11.2118 8.95196V10.0367H14.4781L13.9169 13.104H11.2118V20C16.1633 19.3998 20 15.1683 20 10.0367H19.9996Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":367,"url":368},"Facebook","https:\u002F\u002Fwww.facebook.com\u002FTHORChain\u002F",{"_key":370,"icon":371,"link":373},"aa62a8f1e626",{"isCustom":10,"raw":372},"\u003Csvg width=\"20\" height=\"23\" viewBox=\"0 0 20 23\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M14.8236 8.25794C16.2825 9.31189 18.0697 9.93201 20 9.93201V6.17812C19.6347 6.1782 19.2703 6.1397 18.9129 6.06318V9.01802C16.9828 9.01802 15.1958 8.3979 13.7366 7.34403V15.0046C13.7366 18.8368 10.6626 21.9432 6.87093 21.9432C5.45616 21.9432 4.14119 21.511 3.04884 20.7696C4.29558 22.0579 6.03424 22.8571 7.95777 22.8571C11.7497 22.8571 14.8238 19.7507 14.8238 15.9184L14.8236 8.25794ZM16.1647 4.47073C15.4191 3.64754 14.9296 2.58372 14.8236 1.40761V0.924784H13.7935C14.0528 2.41961 14.9372 3.6967 16.1647 4.47073ZM5.44709 17.8289C5.03053 17.2769 4.80542 16.6017 4.80643 15.9074C4.80643 14.1547 6.21243 12.7336 7.94706 12.7336C8.27034 12.7335 8.59168 12.7835 8.89975 12.8823V9.04452C8.53972 8.99465 8.17636 8.97348 7.81315 8.98125V11.9684C7.50484 11.8696 7.18335 11.8194 6.85999 11.8197C5.12536 11.8197 3.71943 13.2407 3.71943 14.9936C3.71943 16.2331 4.4222 17.3062 5.44709 17.8289Z\" fill=\"#FAFAFA\"\u002F>\n\u003Cpath d=\"M13.728 7.34395C15.1873 8.39782 16.9742 9.01794 18.9043 9.01794V6.0631C17.827 5.83117 16.8732 5.26217 16.1561 4.47073C14.9286 3.69662 14.0442 2.41953 13.7849 0.924784H11.079V15.9182C11.0728 17.6661 9.66924 19.0815 7.93833 19.0815C6.91834 19.0815 6.01217 18.5901 5.43828 17.8289C4.41347 17.3062 3.7107 16.233 3.7107 14.9937C3.7107 13.2409 5.11663 11.8198 6.85126 11.8198C7.18361 11.8198 7.50394 11.8721 7.80442 11.9685V8.98132C4.07934 9.0591 1.08348 12.1352 1.08348 15.9183C1.08348 17.8068 1.82952 19.5188 3.04035 20.7697C4.13269 21.511 5.44766 21.9433 6.86243 21.9433C10.6542 21.9433 13.7281 18.8368 13.7281 15.0046L13.728 7.34395Z\" fill=\"#FAFAFA\"\u002F>\n\u003Cpath d=\"M18.9079 6.05215V5.25318C17.9363 5.25467 16.9839 4.9797 16.1596 4.4597C16.8893 5.26706 17.8501 5.82375 18.9079 6.05215ZM13.7884 0.913832C13.7637 0.770975 13.7447 0.627176 13.7315 0.482829V0H9.99534V14.9936C9.98937 16.7413 8.58584 18.1566 6.85478 18.1566C6.34656 18.1566 5.86673 18.0347 5.4418 17.818C6.01569 18.5791 6.92185 19.0704 7.94185 19.0704C9.6726 19.0704 11.0764 17.6553 11.0825 15.9073V0.913832H13.7884ZM7.80809 8.97037V8.11981C7.4959 8.07669 7.18116 8.05505 6.86602 8.05521C3.07395 8.05513 0 11.1617 0 14.9936C0 17.396 1.20812 19.5132 3.04394 20.7586C1.83311 19.5078 1.08707 17.7957 1.08707 15.9073C1.08707 12.1242 4.08286 9.04815 7.80809 8.97037Z\" fill=\"#FAFAFA\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":374,"url":375},"TikTok","https:\u002F\u002Fwww.tiktok.com\u002F@thorchaincontact",{"_key":377,"icon":378,"link":380},"1a3ef15ea167",{"isCustom":10,"raw":379},"\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"3.84 32.0 376.768 448.0\">\n  \u003C!-- Font Awesome Free 6.5.1 - https:\u002F\u002Ffontawesome.com\u002Flicense\u002Ffree -->\n  \u003Cpath fill=\"#ffffff\" d=\"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":381,"url":382},"Apple","https:\u002F\u002Fpodcasts.apple.com\u002Fus\u002Fpodcast\u002Fthorchain-weekly-live\u002Fid1719319894",{"_key":384,"icon":385,"link":387},"13eff6c10247",{"isCustom":10,"raw":386},"\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 167.5 167.5\">\n  \u003C!-- Spotify icon - circle with sound waves -->\n  \u003Cpath fill=\"#ffffff\" d=\"M83.7 0C37.5 0 0 37.5 0 83.7c0 46.3 37.5 83.7 83.7 83.7 46.3 0 83.7-37.5 83.7-83.7S130 0 83.7 0zM122 120.8c-1.4 2.5-4.6 3.2-7 1.7-19.8-12-44.5-14.7-73.7-8-2.8.5-5.6-1.2-6.2-4-.2-2.8 1.5-5.6 4-6.2 32-7.3 59.6-4.2 81.6 9.3 2.6 1.5 3.4 4.7 1.8 7.2zM132.5 98c-2 3-6 4-9 2.2-22.5-14-56.8-18-83.4-9.8-3.2 1-7-1-8-4.3s1-7 4.6-8c30.4-9 68.2-4.5 94 11 3 2 4 6 2 9zm1-23.8c-27-16-71.6-17.5-97.4-9.7-4 1.3-8.2-1-9.5-5.2-1.3-4 1-8.5 5.2-9.8 29.6-9 78.8-7.2 109.8 11.2 3.7 2.2 5 7 2.7 10.7-2 3.8-7 5-10.6 2.8z\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":388,"url":389},"Spotify","https:\u002F\u002Fopen.spotify.com\u002Fshow\u002F1uMxtHcV3PCvB9gf3aanjl",{"_key":391,"icon":392,"link":394},"7bc02d3469b4",{"isCustom":10,"raw":393},"\u003Csvg width=\"512\" height=\"512\" viewBox=\"27.648 27.648 456.704 456.704\" fill=\"none\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\">\n\u003Cpath d=\"M332 484H237C237.091 428.549 215.073 375.348 175.82 336.181C136.61 296.99 83.4372 274.982 28 275.001V180.001C108.645 179.915 186.005 211.946 242.985 269.016C300.081 325.977 332.117 403.349 332 484Z\" fill=\"#ffffff\"\u002F>\n\u003Cpath d=\"M160.998 417.976C160.77 449.654 138.227 476.773 107.124 482.785C76.021 488.798 44.9948 472.034 32.9773 442.723C20.9598 413.412 31.2881 379.693 57.6599 362.141C84.0317 344.589 119.124 348.078 141.524 370.478C154.111 383.066 161.126 400.175 160.998 417.976Z\" fill=\"#ffffff\"\u002F>\n\u003Cpath d=\"M483.999 484H389.298C389.423 388.232 351.491 296.365 283.9 228.736C216.462 160.965 124.902 122.918 29.4476 123.001H28V28.0004H29.4476C150.03 27.8503 265.7 75.9205 350.851 161.571C436.265 246.97 484.188 363.024 483.999 484Z\" fill=\"#ffffff\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":395,"url":396},"RSS.com","https:\u002F\u002Frss.com\u002Fpodcasts\u002Fthorchain\u002F",{"_key":398,"icon":399,"link":401},"1f7497591604",{"isCustom":10,"raw":400},"\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" id=\"bitcointalk_org_icon_white\" width=\"501\" height=\"500\" viewBox=\"446.88 155.04 293.07 292.69\">\n\u003Cpath d=\"M578.1 156.09C597.46 153.73 617.53 155.96 636.02 161.74C696.29 180.57 735.79 231.79 739.58 294.84C740.66 312.78 738.26 331.52 731.86 348.32C727.62 359.44 723.42 370.43 716.81 380.48C704.27 399.54 687.89 414.58 668.75 426.75C652.53 437.05 633.12 443.42 614.15 446.16C558.59 454.2 501.66 428.18 470.89 381.54C458.9 363.38 451.94 342.52 448.82 321.18C447.06 309.11 446.15 296.34 448.12 284.17C452.93 254.55 463.69 226.73 484.03 204.09C493.33 193.74 504.28 185.55 515.61 177.65C533.79 164.97 556.35 158.75 578.1 156.09Z\" fill=\"#000000\" fill-rule=\"evenodd\" stroke=\"#000000\" stroke-width=\"0.25\" stroke-linejoin=\"round\"\u002F>\n\u003Cpath d=\"M578.1 156.09C597.46 153.73 617.53 155.96 636.02 161.74C696.29 180.57 735.79 231.79 739.58 294.84C740.66 312.78 738.26 331.52 731.86 348.32C727.62 359.44 723.42 370.43 716.81 380.48C704.27 399.54 687.89 414.58 668.75 426.75C652.53 437.05 633.12 443.42 614.15 446.16C558.59 454.2 501.66 428.18 470.89 381.54C458.9 363.38 451.94 342.52 448.82 321.18C447.06 309.11 446.15 296.34 448.12 284.17C452.93 254.55 463.69 226.73 484.03 204.09C493.33 193.74 504.28 185.55 515.61 177.65C533.79 164.97 556.35 158.75 578.1 156.09ZM583.1 168.69C560.92 171.27 539.15 177.37 520.54 190.12C467.29 226.61 446.19 289.52 470.03 350.42C474.48 361.78 480.13 373.37 488.12 382.82C506.98 405.08 523.55 416.67 550.79 427.12C567.12 433.39 585.69 435.34 603.12 434.06C621.52 432.7 639.47 427.38 655.69 418.74C701.72 394.23 730.29 344.06 726.57 291.71C722.44 233.66 678.44 183.63 621.88 171.46C609.26 168.74 596.02 167.19 583.1 168.69ZM589.11 196.57C602.74 195.88 617.47 197.86 630.15 202.94C662.51 215.91 687.7 242.6 695.8 277.01C710.53 339.59 665.07 402.32 600.68 405.96C585.28 406.83 568.09 405.3 553.99 398.6C527.17 385.87 508.14 369.79 496.37 341.71C491.81 330.84 489.09 318.8 488.73 307.04C486.89 247.51 529.2 199.61 589.11 196.57ZM582.23 215.1C577.83 214.38 571.62 213.83 567.65 215.94C567.65 224.18 567.65 232.42 567.65 240.67C556.64 240.67 545.62 240.67 534.6 240.67C534.6 245.73 534.6 250.8 534.6 255.87C539.61 257.81 551.06 254.85 554.1 259.55C556.38 263.09 555.1 274.57 555.09 279.08C555.06 293.96 555.07 308.83 555.08 323.7C555.08 328.2 556.28 337.88 554.23 341.65C551.03 347.5 541.7 343.39 536.7 345.51C535.89 348.78 535.14 358.01 536.7 360.92C543.15 361.99 550.33 361.61 556.9 361.46C560.29 361.38 563.98 360.65 567.01 362.2C569.41 370.28 565.05 380.37 568.68 388.01C573.3 388.01 577.92 388.01 582.54 388.01C584.4 381.03 581.27 367.05 583.84 361.92C587.48 360.66 591.61 360.98 595.14 362.43C595.14 370.69 595.14 378.95 595.14 387.21C599.56 388.69 605.15 388.53 609.71 387.69C612.77 379.94 608.95 370.41 610.8 362.43C614.12 360.27 619.18 361.18 623.14 360.77C630.01 360.08 636.61 358.52 642.79 355.31C656.8 348.03 663.95 325.36 657.24 311.3C654.54 305.66 648.59 300.67 643.28 297.55C641.57 296.55 639.92 296.46 638.42 295.08C639.11 292.08 640.8 292.43 642.92 290.6C645.49 288.39 648.17 284.14 649.37 280.98C655.67 264.38 644.4 248.74 628.36 244.29C623.03 242.81 614.78 242.79 610.46 239.8C610.46 231.7 610.46 223.6 610.46 215.5C605.94 214.15 600.64 214.25 596.04 215.1C592.82 221.61 596.39 232.47 594.79 239.78C591.35 241.21 587.42 241.11 583.84 240.12C581.47 232.37 585.64 222.45 582.23 215.1ZM583.84 290.58C582.5 287.49 583.18 284.12 583.18 280.77C583.2 273.77 581.7 264.85 583.84 258.24C586.88 257.08 590.66 257.77 593.95 257.77C604.73 257.78 620.64 260.07 620.49 274.03C620.4 281.87 615.22 289.49 607.23 290.95C603.5 291.63 599.41 291.12 595.63 291.12C591.85 291.12 587.38 291.8 583.84 290.58ZM583.84 342.53C582.48 339.87 583.18 336.78 583.19 333.81C583.19 328.07 581.85 312.01 584.08 307.71C587.85 306.53 592.43 307.23 596.47 307.23C608.37 307.22 628.53 307.05 628.32 323.7C628.1 341.6 611.21 343.19 597.31 343.23C593.03 343.24 587.84 344.05 583.84 342.53Z\" fill=\"#ffffff\" fill-rule=\"evenodd\" stroke=\"#ffffff\" stroke-width=\"0.25\" stroke-linejoin=\"round\"\u002F>\n\u003C\u002Fsvg>\n",{"isInternal":155,"label":402,"theme":201,"url":403},"Bitcoin Forum","https:\u002F\u002Fbitcointalk.org\u002Findex.php?topic=5597073","Socials",{"anchor":5,"getParameters":5,"isInternal":155,"label":406,"openInNewTab":155,"theme":407,"title":5,"url":408},"Launch App","important","https:\u002F\u002Fswap.thorchain.org\u002F",{"data":410},{"favicon":411},{"alt":20,"assetId":412,"caption":5,"crop":5,"height":413,"hotspot":5,"width":413},"image-c973725813bf6fcd1c3a0a37adf3252677529ace-512x512-png",512,{"data":415,"sourceMap":-1},{"author":416,"date":422,"globalSeo":423,"image":437,"readingTimeLabelTemplate":442,"related":443,"seo":632,"seoImage":640,"slices":641,"tags":2001,"title":2003},{"avatar":417,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"THORChain logo","image-b4749092773d8c5a7fb87c546187705551578dbc-300x300-svg",300,"thorchain","2026-10-25",{"description":424,"noFollow":155,"noIndex":155,"ogImage":425,"ogLocale":5,"ogSiteName":173,"ogTitle":424,"ogType":431,"structuredContent":5,"title":173,"titleTemplate":432,"twitterCard":433,"twitterCreator":5,"twitterDescription":434,"twitterImage":435,"twitterSite":436,"twitterTitle":424},"The World's Leading Bitcoin DEX",{"alt":426,"height":427,"type":428,"url":429,"width":430},"THORChain - The World's Leading Bitcoin DEX",630,"image\u002Fpng","https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002F355nlzcp\u002Fproduction\u002Fd7b83200f512f7d535d5ac7bc7fcb38be7a63ce9-1200x630.png",1200,"website","%s | THORChain","summary_large_image","Cross-chain liquidity protocol supporting BTC, ETH, Monero and more.",{"alt":5,"height":427,"type":428,"url":429,"width":430},"@THORChain",{"alt":438,"assetId":439,"caption":5,"crop":5,"height":440,"hotspot":5,"width":441},"THORChain Thumbnail","image-902d2d76e3758226a5edf3e63947ca70949de5d6-3840x2160-png",2160,3840,"{{minute}} min read",{"items":444,"title":631},[445,458,469,480,491,502,519,531,544,557,570,583,595,608,618],{"author":446,"date":448,"image":449,"score":452,"slug":453,"tags":454,"title":457},{"avatar":447,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-10-21",{"alt":450,"assetId":451,"caption":5,"crop":5,"height":440,"hotspot":5,"width":441},"THORChain Protocol Upgrade v3.21 thumbnail: the THORChain lightning logo above a glowing progress bar, with \"Protocol Upgrade\" in white and \"v3.21\" in teal on a black gradient background.","image-4fe83d6214451688a3036791dcba523749a77d9b-3840x2160-png",1,"thorchain-protocol-upgrade-v3-21",[455],{"name":456,"slug":456},"Report","THORChain Protocol Upgrade v3.21",{"author":459,"date":461,"image":462,"score":452,"slug":465,"tags":466,"title":468},{"avatar":460,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-10-06",{"alt":463,"assetId":464,"caption":5,"crop":5,"height":440,"hotspot":5,"width":441},"State of Network - September 2026 thumbnail. ","image-693b2a0313abadb61ec930ab2b4c0c059cf03189-3840x2160-png","state-of-the-network-september-2026",[467],{"name":456,"slug":456},"State of the Network - September 2026",{"author":470,"date":472,"image":473,"score":452,"slug":476,"tags":477,"title":479},{"avatar":471,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-09-04",{"alt":474,"assetId":475,"caption":5,"crop":5,"height":440,"hotspot":5,"width":441},"State of the Network August 2026 report thumbnail covering THORChain swap volume, fees, active wallets, bonds, Protocol Owned Liquidity, and the affiliate leaderboard.","image-237bb5106877fc239619c519c650c4c7e1045ff9-3840x2160-png","state-of-the-network-august-2026",[478],{"name":456,"slug":456},"State of the Network - August 2026",{"author":481,"date":483,"image":484,"score":452,"slug":487,"tags":488,"title":490},{"avatar":482,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-08-26",{"alt":485,"assetId":486,"caption":5,"crop":5,"height":440,"hotspot":5,"width":441},"THORChain State of the Network July 2026 thumbnail covering the first full month of post-restart volume, fees, yield, dynamic fee pilot data and user acquisition.","image-8d5a055f4de29dc8843b66708b452503c3898ae7-3840x2160-png","state-of-the-network-july",[489],{"name":456,"slug":456},"State of the Network - July",{"author":492,"date":494,"image":495,"score":452,"slug":498,"tags":499,"title":501},{"avatar":493,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-08-24",{"alt":496,"assetId":497,"caption":5,"crop":5,"height":440,"hotspot":5,"width":441},"THORChain v3.20 protocol upgrade article thumbnail covering Monero and Zcash integration progress, Solana and BNB trading resumption, the Stable Reserve and Protocol Owned Liquidity activation.","image-0bf8e5ea066cfeca81e5dcf3202bc0f4caa956b0-3840x2160-png","thorchain-protocol-upgrade-v3-20",[500],{"name":456,"slug":456},"THORChain Protocol Upgrade v3.20",{"author":503,"date":509,"image":510,"score":452,"slug":515,"tags":516,"title":518},{"avatar":504,"name":240,"slug":508},{"alt":505,"assetId":506,"caption":5,"crop":5,"height":507,"hotspot":5,"width":507},"Soda Labs logo","image-3255b11255becd1b9e52a7e6e5733f10e388c383-225x225-png",225,"sodalabs","2026-08-06",{"alt":511,"assetId":512,"caption":5,"crop":5,"height":513,"hotspot":5,"width":514},"A technical deep dive into the May 2026 THORChain exploit, explaining how the vulnerability was executed and how it was mitigated.","image-c7b11fad99b879ce58de6a53cff7da5ba2ef2958-1530x861-png",861,1530,"thorchain-exploit-report-3",[517],{"name":456,"slug":456},"THORChain Exploit Report #3",{"author":520,"date":522,"image":523,"score":452,"slug":528,"tags":529,"title":524},{"avatar":521,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-07-29",{"alt":524,"assetId":525,"caption":5,"crop":5,"height":526,"hotspot":5,"width":527},"ADR031 - The Path Forward With Rujira","image-72f7ae024fb584ab5e01db761bdeaa528eaf7576-2346x1319-png",1319,2346,"adr031-the-path-forward-with-rujira",[530],{"name":456,"slug":456},{"author":532,"date":534,"image":535,"score":452,"slug":540,"tags":541,"title":543},{"avatar":533,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-07-24",{"alt":536,"assetId":537,"caption":5,"crop":5,"height":538,"hotspot":5,"width":539},"THORChain ADR-029 article thumbnail explaining the REVSHARE mechanism, how the protocol pays affiliates from its own swap revenue and what that means for partner onboarding and quote competitiveness.","image-a0762d880d74806cc01b60faf20e4aa46c8bf8ac-2517x1416-png",1416,2517,"adr-029-affiliate-revenue-share",[542],{"name":456,"slug":456},"ADR-029 Affiliate Revenue Share",{"author":545,"date":547,"image":548,"score":452,"slug":553,"tags":554,"title":556},{"avatar":546,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-07-17",{"alt":549,"assetId":550,"caption":5,"crop":5,"height":551,"hotspot":5,"width":552},"THORChain Q2 2026 report thumbnail. ","image-95b7501fde59a1fb8f1cfe12a5f2e6a011fa1673-1280x720-jpg",720,1280,"thorchain-quarterly-report-q2-2026",[555],{"name":456,"slug":456},"THORChain Quarterly Report - Q2 2026",{"author":558,"date":560,"image":561,"score":452,"slug":566,"tags":567,"title":569},{"avatar":559,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-07-09",{"alt":562,"assetId":563,"caption":5,"crop":5,"height":564,"hotspot":5,"width":565},"THORChain ADR-026 Dynamic Fee Model article thumbnail.","image-6373132979902388cabae3ed843a5d822f4ecec3-2547x1433-png",1433,2547,"adr026-dynamic-fee-model",[568],{"name":456,"slug":456},"ADR026 - Dynamic Fee Model",{"author":571,"date":573,"image":574,"score":452,"slug":579,"tags":580,"title":582},{"avatar":572,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-07-03",{"alt":575,"assetId":576,"caption":5,"crop":5,"height":577,"hotspot":5,"width":578},"THORChain Exploit Report #2 Thumbnail","image-c1bdebd47becbbbd191382753a3fad63ecd1e324-2829x1591-png",1591,2829,"thorchain-exploit-report-2",[581],{"name":456,"slug":456},"THORChain Exploit Report #2",{"author":584,"date":586,"image":587,"score":452,"slug":591,"tags":592,"title":594},{"avatar":585,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-07-01",{"alt":20,"assetId":588,"caption":5,"crop":5,"height":589,"hotspot":5,"width":590},"image-c56821eea88d4ff053291047a6eea641ab89295c-1324x745-jpg",745,1324,"state-of-the-network-june",[593],{"name":456,"slug":456},"State of the Network - June",{"author":596,"date":598,"image":599,"score":452,"slug":604,"tags":605,"title":607},{"avatar":597,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-06-09",{"alt":600,"assetId":601,"caption":5,"crop":5,"height":602,"hotspot":5,"width":603},"THORChain v3.19.0 protocol upgrade article thumbnail covering Monero support, affiliate revenue share, DASH InstantSend and the TSS security patches behind the network restart.","image-c0036def0421674d04f39ce62c2e2dd16d1e4fa0-1260x709-jpg",709,1260,"protocol-upgrade-v3-19-0",[606],{"name":456,"slug":456},"Protocol Upgrade - V3.19.0",{"author":609,"date":611,"image":612,"score":452,"slug":614,"tags":615,"title":617},{"avatar":610,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-06-01",{"alt":20,"assetId":613,"caption":5,"crop":5,"height":589,"hotspot":5,"width":590},"image-294da32058dae3e3ec7005b920366319d0e7a335-1324x745-jpg","state-of-the-network-may",[616],{"name":456,"slug":456},"State of the Network - May",{"author":619,"date":621,"image":622,"score":452,"slug":627,"tags":628,"title":630},{"avatar":620,"name":173,"slug":421},{"alt":418,"assetId":419,"caption":5,"crop":5,"height":420,"hotspot":5,"width":420},"2026-05-20",{"alt":623,"assetId":624,"caption":5,"crop":5,"height":625,"hotspot":5,"width":626},"THORChain May 15, 2026 Exploit Report #1","image-8d6f6da022a0bd8d56572e36b553afaf5ef6c150-1472x828-png",828,1472,"thorchain-exploit-report-1",[629],{"name":456,"slug":456},"THORChain Exploit Report #1","Related articles",{"description":633,"externalCanonicalUrl":5,"noFollow":155,"noIndex":155,"ogImage":634,"ogLocale":636,"ogSiteName":5,"ogTitle":5,"ogType":637,"structuredContent":5,"title":638,"titleTemplate":5,"twitterCard":433,"twitterCreator":436,"twitterDescription":5,"twitterImage":639,"twitterSite":436,"twitterTitle":5},"THORNode's CI now runs three times as many jobs a day and turns a merge request green in 24 minutes, down from 97. See what changed and how it was measured.",{"alt":438,"height":440,"type":428,"url":635,"width":441},"https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002F355nlzcp\u002Fproduction\u002F902d2d76e3758226a5edf3e63947ca70949de5d6-3840x2160.png","en_US","article","THORNode CI Rebuild: 3x More Tests, 4x Faster | THORChain",{"alt":438,"height":440,"type":428,"url":635,"width":441},{"alt":438,"height":440,"type":428,"url":635,"width":441},[642,1980],{"_key":643,"_type":644,"backgroundColor":5,"disabled":155,"sliceId":5,"text":645,"withMargins":10},"db759a2238a5","wysiwygSlice",[646,657,665,880,889,897,904,912,920,925,933,941,1146,1154,1162,1170,1179,1200,1208,1227,1235,1254,1262,1293,1301,1331,1339,1369,1377,1420,1428,1469,1477,1502,1525,1548,1571,1579,1587,1608,1631,1654,1677,1710,1733,1756,1779,1800,1849,1872,1904,1912,1920,1928,1936,1944,1952,1960],{"_key":647,"_type":648,"children":649,"markDefs":655,"style":656},"c6a6880120cf","block",[650],{"_key":651,"_type":652,"marks":653,"text":654},"13de8a8e0786","span",[],"Over the last month, the THORNode team rebuilt its continuous integration (CI), the automated checks that run on every proposed code change before it can be merged. Every merge request (MR) now runs more checks, on more machines, and gets an answer in about 24 minutes instead of an hour and a half. Here is what changed, measured from 38,401 GitLab CI jobs.",[],"normal",{"_key":658,"_type":648,"children":659,"markDefs":664,"style":656},"f3265105fd1a",[660],{"_key":661,"_type":652,"marks":662,"text":663},"a321924eef94",[],"\"Before\" covers September 7 to 20, before most of the CI work landed. \"Now\" covers October 12 to 21, after the main changes were merged.",[],{"_type":666,"headerRows":452,"markDefs":5,"rows":667},"table",[668,711,754,796,838],{"cells":669},[670,681,691,701],{"value":671},[672],{"_key":673,"_type":648,"children":674,"markDefs":680,"style":656},"e3b44ef4007d",[675],{"_key":676,"_type":652,"marks":677,"text":679},"8664bfed7643",[678],"strong","Metric",[],{"value":682},[683],{"_key":684,"_type":648,"children":685,"markDefs":690,"style":656},"fb144bb4134d",[686],{"_key":687,"_type":652,"marks":688,"text":689},"1ece8856a0b2",[678],"Before",[],{"value":692},[693],{"_key":694,"_type":648,"children":695,"markDefs":700,"style":656},"192a261456ce",[696],{"_key":697,"_type":652,"marks":698,"text":699},"21f14588a2cb",[678],"Now",[],{"value":702},[703],{"_key":704,"_type":648,"children":705,"markDefs":710,"style":656},"78cef359bd8a",[706],{"_key":707,"_type":652,"marks":708,"text":709},"9013861d4904",[678],"Change",[],{"cells":712},[713,723,734,744],{"value":714},[715],{"_key":716,"_type":648,"children":717,"markDefs":722,"style":656},"13e01bf31f48",[718],{"_key":719,"_type":652,"marks":720,"text":721},"8c0c9ea356b5",[],"Time to a green pipeline (median)",[],{"value":724},[725],{"_key":726,"_type":648,"children":727,"markDefs":733,"style":656},"4039c4e858e6",[728],{"_key":729,"_type":652,"marks":730,"text":732},"374a2ed6fc71",[731],"strike-through","97 min",[],{"value":735},[736],{"_key":737,"_type":648,"children":738,"markDefs":743,"style":656},"f7df5ac89dfe",[739],{"_key":740,"_type":652,"marks":741,"text":742},"bf63a3378393",[678],"24 min",[],{"value":745},[746],{"_key":747,"_type":648,"children":748,"markDefs":753,"style":656},"c46f4ff5c453",[749],{"_key":750,"_type":652,"marks":751,"text":752},"c8de3a3af076",[],"4.1x faster",[],{"cells":755},[756,766,776,786],{"value":757},[758],{"_key":759,"_type":648,"children":760,"markDefs":765,"style":656},"e71baeb7adaf",[761],{"_key":762,"_type":652,"marks":763,"text":764},"9dcc84c261db",[],"CI jobs run per day",[],{"value":767},[768],{"_key":769,"_type":648,"children":770,"markDefs":775,"style":656},"7f66b0795395",[771],{"_key":772,"_type":652,"marks":773,"text":774},"d92238cf3f19",[731],"306",[],{"value":777},[778],{"_key":779,"_type":648,"children":780,"markDefs":785,"style":656},"a4c2ee856c23",[781],{"_key":782,"_type":652,"marks":783,"text":784},"0a21e5c5fc9f",[678],"933",[],{"value":787},[788],{"_key":789,"_type":648,"children":790,"markDefs":795,"style":656},"f0779682d6ae",[791],{"_key":792,"_type":652,"marks":793,"text":794},"bc0fd8e42269",[],"3.0x more",[],{"cells":797},[798,808,818,828],{"value":799},[800],{"_key":801,"_type":648,"children":802,"markDefs":807,"style":656},"bfadd84891d3",[803],{"_key":804,"_type":652,"marks":805,"text":806},"1c3ac271a41f",[],"Pipelines green on the first try",[],{"value":809},[810],{"_key":811,"_type":648,"children":812,"markDefs":817,"style":656},"103d24c68f4f",[813],{"_key":814,"_type":652,"marks":815,"text":816},"4598883440fe",[731],"23%",[],{"value":819},[820],{"_key":821,"_type":648,"children":822,"markDefs":827,"style":656},"1eb887fd4708",[823],{"_key":824,"_type":652,"marks":825,"text":826},"085af2d76e70",[678],"50%",[],{"value":829},[830],{"_key":831,"_type":648,"children":832,"markDefs":837,"style":656},"1446ee24dda3",[833],{"_key":834,"_type":652,"marks":835,"text":836},"85d7fcf7e230",[],"2.2x more often",[],{"cells":839},[840,850,860,870],{"value":841},[842],{"_key":843,"_type":648,"children":844,"markDefs":849,"style":656},"a3e0bda93092",[845],{"_key":846,"_type":652,"marks":847,"text":848},"05706af0e3a9",[],"Pipelines that hit any failure",[],{"value":851},[852],{"_key":853,"_type":648,"children":854,"markDefs":859,"style":656},"47ba1176ad5a",[855],{"_key":856,"_type":652,"marks":857,"text":858},"3e1b08dd9fdf",[731],"71%",[],{"value":861},[862],{"_key":863,"_type":648,"children":864,"markDefs":869,"style":656},"bef426871b6a",[865],{"_key":866,"_type":652,"marks":867,"text":868},"533c5b14d3b1",[678],"42%",[],{"value":871},[872],{"_key":873,"_type":648,"children":874,"markDefs":879,"style":656},"21f8a95fa1b8",[875],{"_key":876,"_type":652,"marks":877,"text":878},"5821a76c7a80",[],"29 points fewer",[],{"_key":881,"_type":648,"children":882,"markDefs":887,"style":888},"6eaec1dbfb7c",[883],{"_key":884,"_type":652,"marks":885,"text":886},"34f8e2452b5c",[],"More Work, Less Waiting",[],"h2",{"_key":890,"_type":648,"children":891,"markDefs":896,"style":656},"1b38a2b4d5cb",[892],{"_key":893,"_type":652,"marks":894,"text":895},"0238c1ba8472",[],"CI now runs three times as many jobs per day, and each pipeline runs 19 jobs where it used to run 11. Pipelines still finish faster than they did over the summer. In early September, the new bond-yield feature added a second validator churn (a rotation of the active node set) to the network simulation, which pushed pipelines past 90 minutes. That extra coverage is still in place.",[],{"_type":898,"alt":899,"assetId":900,"caption":901,"crop":5,"height":902,"hotspot":5,"markDefs":5,"width":903},"image","CI jobs per day chart and Time for a green pipeline chart","image-5576f0bff76e5a73b524bdf8b5ed5c140f78fe8c-2118x706-png","https:\u002F\u002Fclaude.ai\u002Fartifact\u002FNTKhSNijWtnMwMWfchJqLN",706,2118,{"_key":905,"_type":648,"children":906,"markDefs":911,"style":888},"b05e4746e35d",[907],{"_key":908,"_type":652,"marks":909,"text":910},"b7a2ef233e21",[],"Every Stage Got Faster",[],{"_key":913,"_type":648,"children":914,"markDefs":919,"style":656},"2eeaf4cc339b",[915],{"_key":916,"_type":652,"marks":917,"text":918},"44da397d9cf2",[],"Every job in the pipeline now runs faster than it did in September. The heaviest one is the network simulation, which spins up THORChain together with 16 real L1 chains and runs swaps, churns, and refunds end to end. It now finishes in 16 minutes, and it starts five minutes into the pipeline instead of 21.",[],{"_type":898,"alt":921,"assetId":922,"caption":901,"crop":5,"height":923,"hotspot":5,"markDefs":5,"width":924},"every stage got faster chart","image-2e416a8895552f5624ce1bd05231e10aac8fe2ee-2062x600-png",600,2062,{"_key":926,"_type":648,"children":927,"markDefs":932,"style":888},"32a2f8b35986",[928],{"_key":929,"_type":652,"marks":930,"text":931},"a5541e543e43",[],"Reliable Enough to Trust",[],{"_key":934,"_type":648,"children":935,"markDefs":940,"style":656},"beb40b592b7a",[936],{"_key":937,"_type":652,"marks":938,"text":939},"c0fae83f4197",[],"A flaky CI teaches developers to hit retry without reading the failure. The team removed most of the infrastructure noise, so a red pipeline now usually points to a real problem in the code.",[],{"_type":666,"headerRows":452,"markDefs":5,"rows":942},[943,982,1020,1062,1104],{"cells":944},[945,954,963,972],{"value":946},[947],{"_key":948,"_type":648,"children":949,"markDefs":953,"style":656},"70ef1ec30ebb",[950],{"_key":951,"_type":652,"marks":952,"text":679},"35a11d7dded4",[678],[],{"value":955},[956],{"_key":957,"_type":648,"children":958,"markDefs":962,"style":656},"36d29d2d74c8",[959],{"_key":960,"_type":652,"marks":961,"text":689},"6e3c8d1c09f2",[678],[],{"value":964},[965],{"_key":966,"_type":648,"children":967,"markDefs":971,"style":656},"cd15274d4362",[968],{"_key":969,"_type":652,"marks":970,"text":699},"cfa3ab5bfdec",[678],[],{"value":973},[974],{"_key":975,"_type":648,"children":976,"markDefs":981,"style":656},"828e56643030",[977],{"_key":978,"_type":652,"marks":979,"text":980},"2117e44bc47a",[678],"Note",[],{"cells":983},[984,993,1002,1011],{"value":985},[986],{"_key":987,"_type":648,"children":988,"markDefs":992,"style":656},"6fe30974e845",[989],{"_key":990,"_type":652,"marks":991,"text":806},"d49103ee6f88",[],[],{"value":994},[995],{"_key":996,"_type":648,"children":997,"markDefs":1001,"style":656},"a4fd72a11b98",[998],{"_key":999,"_type":652,"marks":1000,"text":816},"b6adb7729465",[731],[],{"value":1003},[1004],{"_key":1005,"_type":648,"children":1006,"markDefs":1010,"style":656},"85fed4870088",[1007],{"_key":1008,"_type":652,"marks":1009,"text":826},"68c1bba16f89",[678],[],{"value":1012},[1013],{"_key":1014,"_type":648,"children":1015,"markDefs":1019,"style":656},"bccc40d8e9f2",[1016],{"_key":1017,"_type":652,"marks":1018,"text":20},"8a004adfe31e",[],[],{"cells":1021},[1022,1032,1042,1052],{"value":1023},[1024],{"_key":1025,"_type":648,"children":1026,"markDefs":1031,"style":656},"e033e913e355",[1027],{"_key":1028,"_type":652,"marks":1029,"text":1030},"10f7ef9b30fb",[],"Simulation runs that fail",[],{"value":1033},[1034],{"_key":1035,"_type":648,"children":1036,"markDefs":1041,"style":656},"af85c21918a8",[1037],{"_key":1038,"_type":652,"marks":1039,"text":1040},"38a175edf3ae",[731],"67%",[],{"value":1043},[1044],{"_key":1045,"_type":648,"children":1046,"markDefs":1051,"style":656},"3a1f942a10a7",[1047],{"_key":1048,"_type":652,"marks":1049,"text":1050},"2b2090da579b",[678],"24%",[],{"value":1053},[1054],{"_key":1055,"_type":648,"children":1056,"markDefs":1061,"style":656},"cedd36707d1e",[1057],{"_key":1058,"_type":652,"marks":1059,"text":1060},"21690f7d0ae6",[],"Share of runs that finished. Some of the 24% are real bugs the simulation caught.",[],{"cells":1063},[1064,1074,1084,1094],{"value":1065},[1066],{"_key":1067,"_type":648,"children":1068,"markDefs":1073,"style":656},"968ecaee7b5c",[1069],{"_key":1070,"_type":652,"marks":1071,"text":1072},"140a50a1472a",[],"Slowest 10% of green pipelines",[],{"value":1075},[1076],{"_key":1077,"_type":648,"children":1078,"markDefs":1083,"style":656},"66713fdce399",[1079],{"_key":1080,"_type":652,"marks":1081,"text":1082},"c6cbd441b10a",[731],"7.3h",[],{"value":1085},[1086],{"_key":1087,"_type":648,"children":1088,"markDefs":1093,"style":656},"9d008df077ba",[1089],{"_key":1090,"_type":652,"marks":1091,"text":1092},"95ba1141257f",[678],"50min",[],{"value":1095},[1096],{"_key":1097,"_type":648,"children":1098,"markDefs":1103,"style":656},"2406ffed33ac",[1099],{"_key":1100,"_type":652,"marks":1101,"text":1102},"684dc8609a6c",[],"Time to green, including retries. Every one of the slowest pipelines before had needed a retry.",[],{"cells":1105},[1106,1116,1126,1136],{"value":1107},[1108],{"_key":1109,"_type":648,"children":1110,"markDefs":1115,"style":656},"c362127b42ab",[1111],{"_key":1112,"_type":652,"marks":1113,"text":1114},"4ab0d6b33336",[],"Runner time per green pipeline",[],{"value":1117},[1118],{"_key":1119,"_type":648,"children":1120,"markDefs":1125,"style":656},"0e719650dd2e",[1121],{"_key":1122,"_type":652,"marks":1123,"text":1124},"1fa533e1bd10",[731],"139min",[],{"value":1127},[1128],{"_key":1129,"_type":648,"children":1130,"markDefs":1135,"style":656},"547660e98837",[1131],{"_key":1132,"_type":652,"marks":1133,"text":1134},"852b8ec047e7",[678],"59min",[],{"value":1137},[1138],{"_key":1139,"_type":648,"children":1140,"markDefs":1145,"style":656},"5b311790f969",[1141],{"_key":1142,"_type":652,"marks":1143,"text":1144},"c4867d2eb9d5",[],"Each passing pipeline now uses less than half the machine time.",[],{"_key":1147,"_type":648,"children":1148,"markDefs":1153,"style":888},"b10dfdc08dac",[1149],{"_key":1150,"_type":652,"marks":1151,"text":1152},"5d6ea30d2536",[],"New Kinds of Tests",[],{"_key":1155,"_type":648,"children":1156,"markDefs":1161,"style":656},"73b3f092d33f",[1157],{"_key":1158,"_type":652,"marks":1159,"text":1160},"ac2cc65a7bb6",[],"The time saved went into new tests. Ordinary tests check that the code does what its author expected. The new ones attack it with random input, break it on purpose, replay it on separate nodes, restart it mid-flight, and check THORNode and Bifrost (the component that watches and signs on external chains) against each other.",[],{"_key":1163,"_type":648,"children":1164,"markDefs":1169,"style":656},"d7cfc152eb40",[1165],{"_key":1166,"_type":652,"marks":1167,"text":1168},"3b623135b671",[],"Over the month, the codebase gained 1,088 Go test functions (from 5,796 to 6,884), about 60,000 lines of Go test code in 208 new test files, five new test jobs on merge requests, and seven new regression suites (from 185 to 192).",[],{"_key":1171,"_type":648,"children":1172,"markDefs":1177,"style":1178},"3e58d2671cc7",[1173],{"_key":1174,"_type":652,"marks":1175,"text":1176},"8bc60a883b21",[],"Fuzz Testing, on Every MR",[],"h3",{"_key":1180,"_type":648,"children":1181,"markDefs":1195,"style":656},"bd6ec8dea4a9",[1182,1186,1191],{"_key":1183,"_type":652,"marks":1184,"text":1185},"e0f8ade9d2de",[],"A fuzzer generates thousands of malformed, random, and edge-case inputs and feeds them to the code that parses untrusted data. It looks for crashes and for inputs that get through when they should be rejected. The inputs it collects are kept and replayed on later runs. The repository's first five fuzz targets cover the memo parser, the address parser, the FROST evidence decoder, FROST signed payloads, and the Solana RPC version. They have already found two decoder bugs, both fixed in the same change. See ",{"_key":1187,"_type":652,"marks":1188,"text":1190},"bd7be59ce6bb",[1189],"06722f5bd5e4","!5190",{"_key":1192,"_type":652,"marks":1193,"text":1194},"48ce4bfa81a6",[],".",[1196],{"_key":1189,"_type":1197,"link":1198},"custom-link",{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1199},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5190",{"_key":1201,"_type":648,"children":1202,"markDefs":1207,"style":1178},"55a341e98d13",[1203],{"_key":1204,"_type":652,"marks":1205,"text":1206},"2675247377a3",[],"Mutation Testing, When Security Code Changes",[],{"_key":1209,"_type":648,"children":1210,"markDefs":1223,"style":656},"0e5b50830367",[1211,1215,1220],{"_key":1212,"_type":652,"marks":1213,"text":1214},"85f669f8cb83",[],"Mutation testing tests the tests. CI plants a known bug in security-critical code, such as letting a quorum pass with one signer too few, and runs the test suite against it. If the tests still pass, they would miss that bug in real life, and the job fails. Five curated mutants run on merge requests: the two-thirds supermajority quorum boundary, signing halt boundaries, an attestation signature bypass, attestation replay, and the direction of a safe subtraction. Two more run in a deeper scheduled pass. Source files are never modified, as the bugs are applied through Go build overlays. See ",{"_key":1216,"_type":652,"marks":1217,"text":1219},"f6ff60429940",[1218],"afeadd16dae6","!5185",{"_key":1221,"_type":652,"marks":1222,"text":1194},"d82c2d573b27",[],[1224],{"_key":1218,"_type":1197,"link":1225},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1226},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5185",{"_key":1228,"_type":648,"children":1229,"markDefs":1234,"style":1178},"8e73a845a458",[1230],{"_key":1231,"_type":652,"marks":1232,"text":1233},"b0e9881a7a2e",[],"Consensus Determinism, on Every MR",[],{"_key":1236,"_type":648,"children":1237,"markDefs":1250,"style":656},"39563125aaf8",[1238,1242,1247],{"_key":1239,"_type":652,"marks":1240,"text":1241},"3e85617df350",[],"Every node has to compute exactly the same state from the same blocks, or the chain halts. Five tests in a dedicated job replay the same blocks on separate node instances and compare the results, prove that the check catches a divergence, restart and export mid-chain, and run the store migration from version 18 to 19. See ",{"_key":1243,"_type":652,"marks":1244,"text":1246},"f2c6b6498a8c",[1245],"1b3160e1bfe9","!5186",{"_key":1248,"_type":652,"marks":1249,"text":1194},"35ecb916638e",[],[1251],{"_key":1245,"_type":1197,"link":1252},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1253},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5186",{"_key":1255,"_type":648,"children":1256,"markDefs":1261,"style":1178},"156315deea92",[1257],{"_key":1258,"_type":652,"marks":1259,"text":1260},"d3caad17f595",[],"Adversarial Quorum Tests, on Every MR",[],{"_key":1263,"_type":648,"children":1264,"markDefs":1286,"style":656},"4c888351c319",[1265,1269,1274,1278,1283],{"_key":1266,"_type":652,"marks":1267,"text":1268},"0924835c957a",[],"Validators sign and vote on what they observed on other chains. These tests change one field at a time in a signed payload (chain, amount, address, memo, height, and more) and check that the signature no longer verifies. They also check that votes one short of the threshold, duplicate signers, and reordered signers never pass, and who owns the quorum cache. See ",{"_key":1270,"_type":652,"marks":1271,"text":1273},"99680d3c7934",[1272],"87787fe3e7db","!5188",{"_key":1275,"_type":652,"marks":1276,"text":1277},"3d13858117a2",[]," and ",{"_key":1279,"_type":652,"marks":1280,"text":1282},"a194f2a19502",[1281],"62cbb95ff413","!5182",{"_key":1284,"_type":652,"marks":1285,"text":1194},"b88367bcf89c",[],[1287,1290],{"_key":1272,"_type":1197,"link":1288},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1289},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5188",{"_key":1281,"_type":1197,"link":1291},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1292},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5182",{"_key":1294,"_type":648,"children":1295,"markDefs":1300,"style":1178},"f8f5b6a5060e",[1296],{"_key":1297,"_type":652,"marks":1298,"text":1299},"f1d598eb350e",[],"Crash and Restart Recovery, on Every MR",[],{"_key":1302,"_type":648,"children":1303,"markDefs":1324,"style":656},"ba8c5c425c8c",[1304,1308,1313,1316,1321],{"_key":1305,"_type":652,"marks":1306,"text":1307},"ff0491e5f19f",[],"Nodes restart, sometimes in the middle of signing. These tests inject crashes and retries into the Bifrost signer and observer, including during vault retirement, and check that both recover their saved state and broadcast each transaction only once. They also cover state-sync timeouts. See ",{"_key":1309,"_type":652,"marks":1310,"text":1312},"5c3e65225cb6",[1311],"994bc3c11679","!5189",{"_key":1314,"_type":652,"marks":1315,"text":1277},"3231be803578",[],{"_key":1317,"_type":652,"marks":1318,"text":1320},"e31740ff49be",[1319],"a84fd5bca733","!5233",{"_key":1322,"_type":652,"marks":1323,"text":1194},"a8248a07f68c",[],[1325,1328],{"_key":1311,"_type":1197,"link":1326},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1327},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5189",{"_key":1319,"_type":1197,"link":1329},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1330},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5233",{"_key":1332,"_type":648,"children":1333,"markDefs":1338,"style":1178},"c7d31d5aaa58",[1334],{"_key":1335,"_type":652,"marks":1336,"text":1337},"503ad33c00dd",[],"THORNode and Bifrost Contract Tests, on Every MR",[],{"_key":1340,"_type":648,"children":1341,"markDefs":1362,"style":656},"57af18861395",[1342,1346,1351,1354,1359],{"_key":1343,"_type":652,"marks":1344,"text":1345},"fa40dcd4b800",[],"Many past chain bugs sat in the gap between THORNode and Bifrost, where each side's tests mocked the other. These tests check the real bytes and units that pass between the two, including keysign byte parity and gas units, and run the EVM client against the real V6 router contract on an in-process chain. See ",{"_key":1347,"_type":652,"marks":1348,"text":1350},"338a78153df8",[1349],"21483565cc07","!5239",{"_key":1352,"_type":652,"marks":1353,"text":1277},"b560540c5573",[],{"_key":1355,"_type":652,"marks":1356,"text":1358},"9cff5e6511d7",[1357],"646d13315a99","!5240",{"_key":1360,"_type":652,"marks":1361,"text":1194},"4b724297578e",[],[1363,1366],{"_key":1349,"_type":1197,"link":1364},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1365},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5239",{"_key":1357,"_type":1197,"link":1367},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1368},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5240",{"_key":1370,"_type":648,"children":1371,"markDefs":1376,"style":1178},"f026fd0558ed",[1372],{"_key":1373,"_type":652,"marks":1374,"text":1375},"6984d4722fd9",[],"Stricter Simulation, on Every MR",[],{"_key":1378,"_type":648,"children":1379,"markDefs":1410,"style":656},"f3edf4026405",[1380,1384,1389,1393,1398,1402,1407],{"_key":1381,"_type":652,"marks":1382,"text":1383},"5c8bf34407f6",[],"The full network simulation now fails when it cannot check its invariants, instead of passing quietly. Its own unit tests run in CI, Monero has new regression coverage, and a separate job runs the mainnet-only Monero checks. See ",{"_key":1385,"_type":652,"marks":1386,"text":1388},"b0e7d0ea83da",[1387],"e333462d717a","!5184",{"_key":1390,"_type":652,"marks":1391,"text":1392},"95f5851029b2",[],", ",{"_key":1394,"_type":652,"marks":1395,"text":1397},"7264e82e1a0a",[1396],"a55dc8752645","!5183",{"_key":1399,"_type":652,"marks":1400,"text":1401},"6f4d297d7b14",[],", and ",{"_key":1403,"_type":652,"marks":1404,"text":1406},"ddaf37f1078b",[1405],"c29bf910b43d","!5150",{"_key":1408,"_type":652,"marks":1409,"text":1194},"34e767953a34",[],[1411,1414,1417],{"_key":1387,"_type":1197,"link":1412},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1413},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5184",{"_key":1396,"_type":1197,"link":1415},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1416},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5183",{"_key":1405,"_type":1197,"link":1418},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1419},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5150",{"_key":1421,"_type":648,"children":1422,"markDefs":1427,"style":1178},"f5241b170f15",[1423],{"_key":1424,"_type":652,"marks":1425,"text":1426},"9d96c0a5a90d",[],"Gates That Can Say No, on Every MR",[],{"_key":1429,"_type":648,"children":1430,"markDefs":1459,"style":656},"09661b54eb28",[1431,1435,1440,1443,1448,1451,1456],{"_key":1432,"_type":652,"marks":1433,"text":1434},"3c211fe7ca4c",[],"Known Go vulnerabilities now block a merge (govulncheck), starting from a cleared baseline. Four existing checks that could never fail, because of how they were wired, now report problems. Mainnet-only code paths get their own static analysis pass. See ",{"_key":1436,"_type":652,"marks":1437,"text":1439},"fe4c3927577c",[1438],"deeda97acd0d","!5137",{"_key":1441,"_type":652,"marks":1442,"text":1392},"577e6c8c3d0a",[],{"_key":1444,"_type":652,"marks":1445,"text":1447},"07baadec209e",[1446],"3773e07153fc","!5087",{"_key":1449,"_type":652,"marks":1450,"text":1401},"6158d79be7b0",[],{"_key":1452,"_type":652,"marks":1453,"text":1455},"cb691956e003",[1454],"d9585dd61777","!5205",{"_key":1457,"_type":652,"marks":1458,"text":1194},"16a1ed6bea6d",[],[1460,1463,1466],{"_key":1438,"_type":1197,"link":1461},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1462},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5137",{"_key":1446,"_type":1197,"link":1464},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1465},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5087",{"_key":1454,"_type":1197,"link":1467},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1468},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5205",{"_key":1470,"_type":648,"children":1471,"markDefs":1476,"style":1178},"b1538d9b23e6",[1472],{"_key":1473,"_type":652,"marks":1474,"text":1475},"bc824a20ed83",[],"In Review",[],{"_key":1478,"_type":648,"children":1479,"level":452,"listItem":1497,"markDefs":1498,"style":656},"17fb527c65c7",[1480,1484,1488,1493],{"_key":1481,"_type":652,"marks":1482,"text":1483},"73eed2a7dca8",[678],"Accounting conservation campaigns",{"_key":1485,"_type":652,"marks":1486,"text":1487},"acee1af933bd",[],": seeded random runs that check no value is created or lost across pools and vaults (",{"_key":1489,"_type":652,"marks":1490,"text":1492},"7f3d409537b2",[1491],"2f018b975888","!5187",{"_key":1494,"_type":652,"marks":1495,"text":1496},"1e57da1ddcf1",[],").","bullet",[1499],{"_key":1491,"_type":1197,"link":1500},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1501},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5187",{"_key":1503,"_type":648,"children":1504,"level":452,"listItem":1497,"markDefs":1521,"style":656},"fca2b5027dc1",[1505,1509,1513,1518],{"_key":1506,"_type":652,"marks":1507,"text":1508},"bf38f5190241",[678],"More mutation coverage",{"_key":1510,"_type":652,"marks":1511,"text":1512},"3059f0600a2d",[],", with assertion checks (",{"_key":1514,"_type":652,"marks":1515,"text":1517},"95dd26b1dab2",[1516],"bc79feb624f4","!5191",{"_key":1519,"_type":652,"marks":1520,"text":1496},"039ac3eac85f",[],[1522],{"_key":1516,"_type":1197,"link":1523},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1524},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5191",{"_key":1526,"_type":648,"children":1527,"level":452,"listItem":1497,"markDefs":1544,"style":656},"fb8b5f9397ef",[1528,1532,1536,1541],{"_key":1529,"_type":652,"marks":1530,"text":1531},"d16953fd4a45",[678],"A test-integrity guard",{"_key":1533,"_type":652,"marks":1534,"text":1535},"c9ca2b596a81",[]," that blocks changes editing a test to agree with a bug (",{"_key":1537,"_type":652,"marks":1538,"text":1540},"1bdcdf4d33f3",[1539],"89fb2ec809cc","!5242",{"_key":1542,"_type":652,"marks":1543,"text":1496},"f77c23b296d1",[],[1545],{"_key":1539,"_type":1197,"link":1546},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1547},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5242",{"_key":1549,"_type":648,"children":1550,"level":452,"listItem":1497,"markDefs":1567,"style":656},"ca74904bc084",[1551,1555,1559,1564],{"_key":1552,"_type":652,"marks":1553,"text":1554},"3399d7306326",[678],"80% unit test coverage",{"_key":1556,"_type":652,"marks":1557,"text":1558},"13513bae1cd1",[]," for every file and package (",{"_key":1560,"_type":652,"marks":1561,"text":1563},"822938cd1510",[1562],"5906d5d4e1f8","!5179",{"_key":1565,"_type":652,"marks":1566,"text":1496},"ea3d040b4e55",[],[1568],{"_key":1562,"_type":1197,"link":1569},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1570},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5179",{"_key":1572,"_type":648,"children":1573,"markDefs":1578,"style":888},"5a05274b10f4",[1574],{"_key":1575,"_type":652,"marks":1576,"text":1577},"d5bb3324d17e",[],"What Changed",[],{"_key":1580,"_type":648,"children":1581,"markDefs":1586,"style":656},"d995adb8509e",[1582],{"_key":1583,"_type":652,"marks":1584,"text":1585},"69f7c4d3e248",[],"The main merge requests behind these numbers, all merged to the develop branch between September 16 and October 20:",[],{"_key":1588,"_type":648,"children":1589,"level":452,"listItem":1497,"markDefs":1605,"style":656},"660f78e0c5f3",[1590,1594,1597,1601],{"_key":1591,"_type":652,"marks":1592,"text":1447},"aa7dcb2618ec",[1593],"293606ba634a",{"_key":1595,"_type":652,"marks":1596,"text":1392},"7322dc9b0d00",[],{"_key":1598,"_type":652,"marks":1599,"text":1600},"5fb77c2c8426",[678],"checks that can fail",{"_key":1602,"_type":652,"marks":1603,"text":1604},"c636895f82f2",[],": four CI checks that always passed now report problems.",[1606],{"_key":1593,"_type":1197,"link":1607},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1465},{"_key":1609,"_type":648,"children":1610,"level":452,"listItem":1497,"markDefs":1627,"style":656},"f56406f518a6",[1611,1616,1619,1623],{"_key":1612,"_type":652,"marks":1613,"text":1615},"e7dc3eb4b901",[1614],"de468a176f8a","!5142",{"_key":1617,"_type":652,"marks":1618,"text":1392},"a2b4a571ed9b",[],{"_key":1620,"_type":652,"marks":1621,"text":1622},"5cae4322ff28",[678],"less infrastructure noise",{"_key":1624,"_type":652,"marks":1625,"text":1626},"4fbe874214a8",[],": retries for network and registry failures, image mirrors, and a prebuilt tools image.",[1628],{"_key":1614,"_type":1197,"link":1629},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1630},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5142",{"_key":1632,"_type":648,"children":1633,"level":452,"listItem":1497,"markDefs":1650,"style":656},"3c0f1237c454",[1634,1639,1642,1646],{"_key":1635,"_type":652,"marks":1636,"text":1638},"4cfc5279dc1d",[1637],"8009eca5e37b","!5147",{"_key":1640,"_type":652,"marks":1641,"text":1392},"f48b1df17ec9",[],{"_key":1643,"_type":652,"marks":1644,"text":1645},"6aa8442ebc73",[678],"pipeline graph",{"_key":1647,"_type":652,"marks":1648,"text":1649},"120a10438444",[],": jobs start as soon as their inputs are ready instead of waiting stage by stage, plus shallow clones, faster proto checks, and faster simulated churn.",[1651],{"_key":1637,"_type":1197,"link":1652},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1653},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5147",{"_key":1655,"_type":648,"children":1656,"level":452,"listItem":1497,"markDefs":1673,"style":656},"1a0abbeaee56",[1657,1662,1665,1669],{"_key":1658,"_type":652,"marks":1659,"text":1661},"04675e638548",[1660],"713c0aff3834","!5151",{"_key":1663,"_type":652,"marks":1664,"text":1392},"3c3fe771ddd0",[],{"_key":1666,"_type":652,"marks":1667,"text":1668},"3870cab1e7f1",[678],"right-sized runners",{"_key":1670,"_type":652,"marks":1671,"text":1672},"830531b34415",[],": short jobs run on small slots, which keeps the large ones free for the simulation.",[1674],{"_key":1660,"_type":1197,"link":1675},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1676},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5151",{"_key":1678,"_type":648,"children":1679,"level":452,"listItem":1497,"markDefs":1704,"style":656},"e7352f03b038",[1680,1685,1688,1692,1696,1700],{"_key":1681,"_type":652,"marks":1682,"text":1684},"f859b82f64de",[1683],"bc4ea5883bf2","!5166",{"_key":1686,"_type":652,"marks":1687,"text":1392},"39a09ddd4a22",[],{"_key":1689,"_type":652,"marks":1690,"text":1691},"84e1eeab4be5",[678],"regression tests on demand",{"_key":1693,"_type":652,"marks":1694,"text":1695},"170801204bfe",[],": blocks are created when a test needs one instead of on a timer. Together with the native runner from ",{"_key":1697,"_type":652,"marks":1698,"text":1638},"bdcb79d7070b",[1699],"0e8b38cad839",{"_key":1701,"_type":652,"marks":1702,"text":1703},"b7c45b1fbae7",[],", regression tests went from 25 minutes to six.",[1705,1708],{"_key":1683,"_type":1197,"link":1706},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1707},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5166",{"_key":1699,"_type":1197,"link":1709},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1653},{"_key":1711,"_type":648,"children":1712,"level":452,"listItem":1497,"markDefs":1729,"style":656},"ed9882c93b5b",[1713,1718,1721,1725],{"_key":1714,"_type":652,"marks":1715,"text":1717},"98bcfe5dc765",[1716],"4a823675b4b4","!5167",{"_key":1719,"_type":652,"marks":1720,"text":1392},"f57e2fbd820c",[],{"_key":1722,"_type":652,"marks":1723,"text":1724},"4f30ece8e83b",[678],"simulation in half the time",{"_key":1726,"_type":652,"marks":1727,"text":1728},"9915fc43a607",[],": shorter intervals, parallel setup and funding, and eight suites at once.",[1730],{"_key":1716,"_type":1197,"link":1731},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1732},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5167",{"_key":1734,"_type":648,"children":1735,"level":452,"listItem":1497,"markDefs":1752,"style":656},"2799c35b0fe5",[1736,1741,1744,1748],{"_key":1737,"_type":652,"marks":1738,"text":1740},"d6d6ba2f2a7f",[1739],"482e9cccc3e6","!5173",{"_key":1742,"_type":652,"marks":1743,"text":1392},"6b16607ed703",[],{"_key":1745,"_type":652,"marks":1746,"text":1747},"55721e26fefb",[678],"fast lint and unit tests",{"_key":1749,"_type":652,"marks":1750,"text":1751},"ebb110b3cde5",[],": one linter pass over the whole module, fixes for sleep-bound tests, and cached test results.",[1753],{"_key":1739,"_type":1197,"link":1754},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1755},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5173",{"_key":1757,"_type":648,"children":1758,"level":452,"listItem":1497,"markDefs":1775,"style":656},"b280f29ea5c1",[1759,1764,1767,1771],{"_key":1760,"_type":652,"marks":1761,"text":1763},"e1a9dc9ee723",[1762],"bae6c14b9b98","!5139",{"_key":1765,"_type":652,"marks":1766,"text":1392},"ec136df8afdf",[],{"_key":1768,"_type":652,"marks":1769,"text":1770},"2e7df889f38c",[678],"no wasted runs",{"_key":1772,"_type":652,"marks":1773,"text":1774},"2f16ba7ba027",[],": a new push cancels the pipeline it replaces.",[1776],{"_key":1762,"_type":1197,"link":1777},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1778},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5139",{"_key":1780,"_type":648,"children":1781,"level":452,"listItem":1497,"markDefs":1797,"style":656},"b0e0dd7326c2",[1782,1786,1789,1793],{"_key":1783,"_type":652,"marks":1784,"text":1439},"96ad1bfeb5bb",[1785],"b25dac7c168c",{"_key":1787,"_type":652,"marks":1788,"text":1392},"8fd1bd2d227b",[],{"_key":1790,"_type":652,"marks":1791,"text":1792},"614fe76b9d8e",[678],"vulnerability gate",{"_key":1794,"_type":652,"marks":1795,"text":1796},"7fd917b19fcb",[],": govulncheck is now blocking.",[1798],{"_key":1785,"_type":1197,"link":1799},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1462},{"_key":1801,"_type":648,"children":1802,"level":452,"listItem":1497,"markDefs":1840,"style":656},"7142318b4727",[1803,1807,1811,1815,1818,1822,1825,1829,1832,1836],{"_key":1804,"_type":652,"marks":1805,"text":1282},"87284146d64a",[1806],"dcf54ac4e1fd",{"_key":1808,"_type":652,"marks":1809,"text":1810},"5e5d8012ca22",[]," to ",{"_key":1812,"_type":652,"marks":1813,"text":1246},"c133a4e9880c",[1814],"34126a306942",{"_key":1816,"_type":652,"marks":1817,"text":1277},"2659b5ebc481",[],{"_key":1819,"_type":652,"marks":1820,"text":1273},"b10ac76bdfdd",[1821],"21d41513623e",{"_key":1823,"_type":652,"marks":1824,"text":1810},"b4d3b26e7577",[],{"_key":1826,"_type":652,"marks":1827,"text":1190},"26278a19ed09",[1828],"8fb11ae20c94",{"_key":1830,"_type":652,"marks":1831,"text":1392},"138a71e818e5",[],{"_key":1833,"_type":652,"marks":1834,"text":1835},"1e77b90a718f",[678],"test-quality series",{"_key":1837,"_type":652,"marks":1838,"text":1839},"a6df59e0a60e",[],": fuzzing, mutation testing, consensus replay, adversarial quorum payloads, signer and observer recovery, and fail-closed invariants.",[1841,1843,1845,1847],{"_key":1806,"_type":1197,"link":1842},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1292},{"_key":1814,"_type":1197,"link":1844},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1253},{"_key":1821,"_type":1197,"link":1846},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1289},{"_key":1828,"_type":1197,"link":1848},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1199},{"_key":1850,"_type":648,"children":1851,"level":452,"listItem":1497,"markDefs":1868,"style":656},"eabfe9acb6f1",[1852,1857,1860,1864],{"_key":1853,"_type":652,"marks":1854,"text":1856},"334807be6a96",[1855],"d458d4a3bd95","!5197",{"_key":1858,"_type":652,"marks":1859,"text":1392},"cc716834dde5",[],{"_key":1861,"_type":652,"marks":1862,"text":1863},"4ee090433b1a",[678],"flaky-test sweep",{"_key":1865,"_type":652,"marks":1866,"text":1867},"5d789f4361a4",[],": a review of the week's CI failures found and fixed the flaky tests behind them. It is set up to run weekly.",[1869],{"_key":1855,"_type":1197,"link":1870},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1871},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5197",{"_key":1873,"_type":648,"children":1874,"level":452,"listItem":1497,"markDefs":1898,"style":656},"3bc7337f05c5",[1875,1880,1883,1887,1890,1894],{"_key":1876,"_type":652,"marks":1877,"text":1879},"379377e91a5e",[1878],"c32f642adb7a","!5238",{"_key":1881,"_type":652,"marks":1882,"text":1810},"af7339a10880",[],{"_key":1884,"_type":652,"marks":1885,"text":1358},"d559249269aa",[1886],"9a7b82027a6a",{"_key":1888,"_type":652,"marks":1889,"text":1392},"10d32cc64556",[],{"_key":1891,"_type":652,"marks":1892,"text":1893},"7c06985efd7f",[678],"contract tests",{"_key":1895,"_type":652,"marks":1896,"text":1897},"33a60c75a778",[],": THORNode and Bifrost checked against each other, and the EVM client against the real router.",[1899,1902],{"_key":1878,"_type":1197,"link":1900},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1901},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode\u002F-\u002Fmerge_requests\u002F5238",{"_key":1886,"_type":1197,"link":1903},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1368},{"_key":1905,"_type":648,"children":1906,"markDefs":1911,"style":888},"83cbd6813035",[1907],{"_key":1908,"_type":652,"marks":1909,"text":1910},"16a8bb63ee23",[],"How It Was Measured",[],{"_key":1913,"_type":648,"children":1914,"level":452,"listItem":1497,"markDefs":1919,"style":656},"12b0f57441e7",[1915],{"_key":1916,"_type":652,"marks":1917,"text":1918},"f8fb97f60fd4",[],"The data covers every job in the thornode GitLab project from July 20 to October 21, 2026: 38,401 jobs in 2,586 pipelines, pulled from the GitLab API with retried jobs included.",[],{"_key":1921,"_type":648,"children":1922,"level":452,"listItem":1497,"markDefs":1927,"style":656},"4099fc5bf790",[1923],{"_key":1924,"_type":652,"marks":1925,"text":1926},"264e55eec28c",[],"\"Before\" is September 7 to 20, before most of the CI work landed. \"Now\" is October 12 to 21, after the main changes were merged.",[],{"_key":1929,"_type":648,"children":1930,"level":452,"listItem":1497,"markDefs":1935,"style":656},"68e1aa94d7a5",[1931],{"_key":1932,"_type":652,"marks":1933,"text":1934},"d73046e1c554",[],"A pipeline is green when the final attempt of every required job passed. This matches GitLab's own pipeline status for all 873 pipelines in the two windows. Pipeline time runs from creation to the last job finishing, so it includes queueing and retries. Only pipelines that run the full network simulation are counted.",[],{"_key":1937,"_type":648,"children":1938,"level":452,"listItem":1497,"markDefs":1943,"style":656},"4d5f973f1e47",[1939],{"_key":1940,"_type":652,"marks":1941,"text":1942},"70587102f439",[],"Job counts include jobs that started on a runner. Skipped jobs and jobs canceled before they started are left out. Over the month, that is 7,387 jobs from August 21 to September 20 and 22,841 from September 21 to October 21.",[],{"_key":1945,"_type":648,"children":1946,"level":452,"listItem":1497,"markDefs":1951,"style":656},"9de18e4badc6",[1947],{"_key":1948,"_type":652,"marks":1949,"text":1950},"8721fc7c38e9",[],"\"Pipelines that hit any failure\" counts a pipeline once if any required job attempt failed, whatever the cause. Per-job failure rates are not shown, because automatic cancellation now stops many jobs before they can fail.",[],{"_key":1953,"_type":648,"children":1954,"level":452,"listItem":1497,"markDefs":1959,"style":656},"7dc4ca7cbd50",[1955],{"_key":1956,"_type":652,"marks":1957,"text":1958},"bd7ec9935203",[],"Part of the gain comes from new hardware: three self-hosted runner machines joined between September 29 and October 4. Splitting jobs by size is what lets the pipeline use them well.",[],{"_key":1961,"_type":648,"children":1962,"markDefs":1976,"style":656},"2824db522e9c",[1963,1967,1972],{"_key":1964,"_type":652,"marks":1965,"text":1966},"fd4ea91ee410",[],"Source: ",{"_key":1968,"_type":652,"marks":1969,"text":1971},"2ec346cfb583",[1970],"c5f82c98dfdd","gitlab.com\u002Fthorchain\u002Fthornode",{"_key":1973,"_type":652,"marks":1974,"text":1975},"ea11a2997fa5",[]," CI, data pulled October 21, 2026.",[1977],{"_key":1970,"_type":1197,"link":1978},{"anchor":5,"getParameters":5,"isInternal":155,"openInNewTab":5,"title":5,"url":1979},"https:\u002F\u002Fgitlab.com\u002Fthorchain\u002Fthornode",{"_key":1981,"_type":1982,"backgroundColor":5,"buttons":1983,"disabled":155,"linkCards":5,"media":1986,"sliceId":5,"text":1990,"title":1991},"99d1b8cb0c53","heroSlice",[1984],{"anchor":5,"getParameters":5,"isInternal":155,"label":1985,"openInNewTab":5,"theme":407,"title":5,"url":408},"Swap Now",{"image":1987,"type":898},{"alt":20,"assetId":1988,"caption":5,"crop":5,"height":1989,"hotspot":5,"width":1989},"image-de03568132b33de541197dd8a121e7ae69e060b9-1000x1000-svg",1000,"No sign up required.\nEasy to use.",[1992],{"_key":1993,"_type":648,"children":1994,"markDefs":2000,"style":656},"9b9f5300a491",[1995],{"_key":1996,"_type":652,"marks":1997,"text":1999},"570460bff9df",[1998],"black","Try the World’s Leading Bitcoin DEX",[],[2002],{"name":456,"slug":456},"Three Times the Testing, Four Times Faster: THORNode CI, One Month Later",1793003797082]