[{"data":1,"prerenderedAt":879},["ShallowReactive",2],{"post-\u002Fposts\u002Fhow-to-self-host-your-nip-05-identity":3,"post-author-garywoodfine":494,"post-aside-video-none":6,"\u002Fposts\u002Fhow-to-self-host-your-nip-05-identity-surround":503,"navigation":512,"content-section-services":560,"content-section-products":563,"content-section-company":566,"legal-link":568,"authors":584,"author-garywoodfine":613,"post-aside-related-candidates":614},{"id":4,"title":5,"aside":6,"author":7,"body":8,"category":469,"date":470,"description":471,"extension":472,"featureImage":473,"meta":475,"navigation":477,"path":478,"seo":479,"sitemap":480,"slug":6,"stem":486,"subtitle":487,"summary":488,"tags":489,"updated":6,"video":6,"__hash__":493},"posts\u002Fposts\u002Fhow-to-self-host-your-nip-05-identity.md","How to self-host your NIP-05 identity",null,"garywoodfine",{"type":9,"value":10,"toc":453},"minimark",[11,15,18,23,31,34,39,55,58,132,139,143,148,151,154,158,161,165,168,172,175,181,197,200,204,210,239,242,246,253,255,363,367,370,395,398,402,409,412,416,419,422,426,449],[12,13,14],"p",{},"Self-hosting your NIP-05 identity means using a domain you control to publish the mapping between a human-readable identifier and your Nostr public key. Instead of borrowing an identity from a third-party NIP-05 provider, you host the verification data yourself at a well-known URL.",[12,16,17],{},"That matters because NIP-05 is not your actual Nostr identity. Your real identity is still your public and private key pair. NIP-05 is a convenience and verification layer on top, a readable pointer that helps humans recognise and trust the account they are looking at.",[19,20,22],"h2",{"id":21},"what-nip-05-is","What NIP-05 is",[12,24,25,26,30],{},"NIP-05, \"Mapping Nostr keys to DNS-based internet identifiers\", lets a Nostr client verify that an identifier like ",[27,28,29],"code",{},"name@example.com"," is associated with a specific public key.",[12,32,33],{},"The client does that by requesting a JSON file from:",[12,35,36],{},[27,37,38],{},"https:\u002F\u002Fexample.com\u002F.well-known\u002Fnostr.json",[12,40,41,42,45,46,50,51,54],{},"That file contains a ",[27,43,44],{},"names"," object mapping the local part of the identifier to a public key in ",[47,48,49],"strong",{},"hex format",", not ",[27,52,53],{},"npub"," format.",[12,56,57],{},"Example:",[59,60,65],"pre",{"className":61,"code":62,"language":63,"meta":64,"style":64},"language-json shiki shiki-themes material-theme-lighter monokai monokai monokai","{\n  \"names\": {\n    \"bob\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\n  }\n}\n","json","",[27,66,67,76,95,120,126],{"__ignoreMap":64},[68,69,72],"span",{"class":70,"line":71},"line",1,[68,73,75],{"class":74},"s8B1f","{\n",[68,77,79,83,86,89,92],{"class":70,"line":78},2,[68,80,82],{"class":81},"siAel","  \"",[68,84,44],{"class":85},"sI02Y",[68,87,88],{"class":81},"\"",[68,90,91],{"class":74},":",[68,93,94],{"class":74}," {\n",[68,96,98,101,105,107,109,113,117],{"class":70,"line":97},3,[68,99,100],{"class":81},"    \"",[68,102,104],{"class":103},"soY9U","bob",[68,106,88],{"class":81},[68,108,91],{"class":74},[68,110,112],{"class":111},"slCjU"," \"",[68,114,116],{"class":115},"sy4__","0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",[68,118,119],{"class":111},"\"\n",[68,121,123],{"class":70,"line":122},4,[68,124,125],{"class":74},"  }\n",[68,127,129],{"class":70,"line":128},5,[68,130,131],{"class":74},"}\n",[12,133,134,135,138],{},"If the account claiming ",[27,136,137],{},"bob@example.com"," matches that public key, a compatible client can show the identifier as verified.",[19,140,142],{"id":141},"why-self-hosting-nip-05-is-useful","Why self-hosting NIP-05 is useful",[144,145,147],"h3",{"id":146},"_1-better-ownership","1. Better ownership",[12,149,150],{},"If you depend on a third-party provider, your NIP-05 identity exists at their discretion. If they shut down, change their rules, or remove your mapping, your readable identifier disappears.",[12,152,153],{},"If you host it on your own domain, you control the mapping.",[144,155,157],{"id":156},"_2-better-long-term-stability","2. Better long-term stability",[12,159,160],{},"A personal domain is usually more durable than someone else’s hosted username system. If you want a long-lived identity tied to your own brand, project, or name, self-hosting is the cleaner move.",[144,162,164],{"id":163},"_3-fewer-trust-assumptions","3. Fewer trust assumptions",[12,166,167],{},"You are not asking users to trust another provider to keep your identity mapping accurate. They only need to trust that you control the domain you publish from.",[19,169,171],{"id":170},"what-self-hosting-does-not-do","What self-hosting does not do",[12,173,174],{},"It is worth being precise here.",[12,176,177,178,91],{},"Self-hosting NIP-05 does ",[47,179,180],{},"not",[182,183,184,188,191,194],"ul",{},[185,186,187],"li",{},"replace your Nostr keys",[185,189,190],{},"protect your private key automatically",[185,192,193],{},"make you censorship-proof by itself",[185,195,196],{},"guarantee every client will display your identifier the same way",[12,198,199],{},"It simply proves that your domain publishes a mapping to your public key.",[19,201,203],{"id":202},"how-nip-05-verification-works","How NIP-05 verification works",[12,205,206,207,209],{},"When a client sees ",[27,208,137],{},", it typically:",[211,212,213,222,227,236],"ol",{},[185,214,215,216,218,219],{},"splits the identifier into ",[27,217,104],{}," and ",[27,220,221],{},"example.com",[185,223,224,225],{},"fetches ",[27,226,38],{},[185,228,229,230,232,233,235],{},"looks for ",[27,231,104],{}," inside the ",[27,234,44],{}," object",[185,237,238],{},"checks whether the returned hex public key matches the account claiming that identity",[12,240,241],{},"If it matches, the client can display the NIP-05 identifier as verified.",[19,243,245],{"id":244},"optional-relay-hints","Optional relay hints",[12,247,248,249,252],{},"NIP-05 can also include a ",[27,250,251],{},"relays"," object with relay hints for a given public key. That can help some clients discover where they might fetch data for that user, but it should be treated as a hint rather than a hard guarantee.",[12,254,57],{},[59,256,258],{"className":61,"code":257,"language":63,"meta":64,"style":64},"{\n  \"names\": {\n    \"bob\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\n  },\n  \"relays\": {\n    \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\": [\n      \"wss:\u002F\u002Frelay1.example.com\",\n      \"wss:\u002F\u002Frelay2.example.com\"\n    ]\n  }\n}\n",[27,259,260,264,276,292,297,309,323,337,347,353,358],{"__ignoreMap":64},[68,261,262],{"class":70,"line":71},[68,263,75],{"class":74},[68,265,266,268,270,272,274],{"class":70,"line":78},[68,267,82],{"class":81},[68,269,44],{"class":85},[68,271,88],{"class":81},[68,273,91],{"class":74},[68,275,94],{"class":74},[68,277,278,280,282,284,286,288,290],{"class":70,"line":97},[68,279,100],{"class":81},[68,281,104],{"class":103},[68,283,88],{"class":81},[68,285,91],{"class":74},[68,287,112],{"class":111},[68,289,116],{"class":115},[68,291,119],{"class":111},[68,293,294],{"class":70,"line":122},[68,295,296],{"class":74},"  },\n",[68,298,299,301,303,305,307],{"class":70,"line":128},[68,300,82],{"class":81},[68,302,251],{"class":85},[68,304,88],{"class":81},[68,306,91],{"class":74},[68,308,94],{"class":74},[68,310,312,314,316,318,320],{"class":70,"line":311},6,[68,313,100],{"class":81},[68,315,116],{"class":103},[68,317,88],{"class":81},[68,319,91],{"class":74},[68,321,322],{"class":74}," [\n",[68,324,326,329,332,334],{"class":70,"line":325},7,[68,327,328],{"class":111},"      \"",[68,330,331],{"class":115},"wss:\u002F\u002Frelay1.example.com",[68,333,88],{"class":111},[68,335,336],{"class":74},",\n",[68,338,340,342,345],{"class":70,"line":339},8,[68,341,328],{"class":111},[68,343,344],{"class":115},"wss:\u002F\u002Frelay2.example.com",[68,346,119],{"class":111},[68,348,350],{"class":70,"line":349},9,[68,351,352],{"class":74},"    ]\n",[68,354,356],{"class":70,"line":355},10,[68,357,125],{"class":74},[68,359,361],{"class":70,"line":360},11,[68,362,131],{"class":74},[19,364,366],{"id":365},"practical-steps-to-self-host-it","Practical steps to self-host it",[12,368,369],{},"At a basic level, you need to:",[211,371,372,375,382,389,392],{},[185,373,374],{},"control a domain",[185,376,377,378,381],{},"create a ",[27,379,380],{},".well-known"," directory on a web server for that domain",[185,383,384,385,388],{},"publish a valid ",[27,386,387],{},"nostr.json"," file",[185,390,391],{},"map your chosen local name to your public key in hex",[185,393,394],{},"verify from a Nostr client that the identifier resolves correctly",[12,396,397],{},"That is the core of it. No heavyweight infrastructure is required. Static hosting is often enough.",[19,399,401],{"id":400},"why-this-matters-for-credibility","Why this matters for credibility",[12,403,404,405,408],{},"A self-hosted NIP-05 like ",[27,406,407],{},"you@yourdomain.com"," is often stronger than a random hosted alias because it ties your Nostr identity to a domain you already control. For personal sites, products, businesses, or public projects, that is useful.",[12,410,411],{},"It is not perfect proof of character, obviously. But it is decent proof of domain control.",[19,413,415],{"id":414},"conclusion","Conclusion",[12,417,418],{},"NIP-05 is not the foundation of Nostr identity, your keys are. But it is a useful layer for making that identity readable, portable, and easier to trust.",[12,420,421],{},"If you already own a domain, self-hosting your NIP-05 is usually the better option. It removes dependence on a third party, gives you tighter control over your public identity, and fits the broader self-sovereign model that makes Nostr interesting in the first place.",[144,423,425],{"id":424},"references","References",[182,427,428,437,443],{},[185,429,430],{},[431,432,436],"a",{"href":433,"rel":434},"https:\u002F\u002Fgithub.com\u002Fnostr-protocol\u002Fnips\u002Fblob\u002Fmaster\u002F05.md",[435],"nofollow","NIP-05: Mapping Nostr keys to DNS-based internet identifiers",[185,438,439],{},[431,440,442],{"href":441},"\u002Fposts\u002Fwhat-is-nostr","What is Nostr?",[185,444,445],{},[431,446,448],{"href":447},"\u002Fposts\u002Fhow-to-manage-keys-for-nostr","How to manage keys for Nostr",[450,451,452],"style",{},"html pre.shiki code .s8B1f, html code.shiki .s8B1f{--shiki-light:#39ADB5;--shiki-default:#F8F8F2;--shiki-dark:#F8F8F2;--shiki-sepia:#F8F8F2}html pre.shiki code .siAel, html code.shiki .siAel{--shiki-light:#39ADB5;--shiki-light-font-style:inherit;--shiki-default:#66D9EF;--shiki-default-font-style:italic;--shiki-dark:#66D9EF;--shiki-dark-font-style:italic;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sI02Y, html code.shiki .sI02Y{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#66D9EF;--shiki-default-font-style:italic;--shiki-dark:#66D9EF;--shiki-dark-font-style:italic;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .soY9U, html code.shiki .soY9U{--shiki-light:#E2931D;--shiki-light-font-style:inherit;--shiki-default:#66D9EF;--shiki-default-font-style:italic;--shiki-dark:#66D9EF;--shiki-dark-font-style:italic;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .slCjU, html code.shiki .slCjU{--shiki-light:#39ADB5;--shiki-default:#CFCFC2;--shiki-dark:#CFCFC2;--shiki-sepia:#CFCFC2}html pre.shiki code .sy4__, html code.shiki .sy4__{--shiki-light:#91B859;--shiki-default:#CFCFC2;--shiki-dark:#CFCFC2;--shiki-sepia:#CFCFC2}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":64,"searchDepth":78,"depth":78,"links":454},[455,456,461,462,463,464,465,466],{"id":21,"depth":78,"text":22},{"id":141,"depth":78,"text":142,"children":457},[458,459,460],{"id":146,"depth":97,"text":147},{"id":156,"depth":97,"text":157},{"id":163,"depth":97,"text":164},{"id":170,"depth":78,"text":171},{"id":202,"depth":78,"text":203},{"id":244,"depth":78,"text":245},{"id":365,"depth":78,"text":366},{"id":400,"depth":78,"text":401},{"id":414,"depth":78,"text":415,"children":467},[468],{"id":424,"depth":97,"text":425},"nostr","2025-12-15","Learn how NIP-05 maps a human-readable identifier like name@domain.com to your Nostr public key using a nostr.json file on your own domain.","md",{"url":474,"title":5},"v1690313893\u002Fnostr-logo_hwrql1",{"publishDateTime":476},"2025-12-15:17:30",true,"\u002Fposts\u002Fhow-to-self-host-your-nip-05-identity",{"title":5,"description":471},{"loc":478,"lastmod":470,"changefreq":481,"priority":482,"images":483},"monthly",0.8,[484],{"loc":485},"https:\u002F\u002Fres.cloudinary.com\u002Fthreenine-co-uk\u002Fimage\u002Fupload\u002Ff_jpg,w_1200\u002Fv1690313893\u002Fnostr-logo_hwrql1","posts\u002Fhow-to-self-host-your-nip-05-identity","How NIP-05 verification works and why hosting it on your own domain matters","NIP-05 gives Nostr users a human-readable identifier. Self-hosting it means your domain, not a third-party service, controls that mapping.",[469,490,491,492],"nip-05","privacy","self-hosting","0oprWrEsQ0x9qCn1uyurplRx3vL-B9wwvL41LQW9t6Y",{"name":495,"to":496,"avatar":497,"sameAs":498},"Gary Woodfine","https:\u002F\u002Fgarywoodfine.com","garywoodfine_tlccjw",[499,500,501,502],"https:\u002F\u002Fgithub.com\u002Fgarywoodfine","https:\u002F\u002Fwww.youtube.com\u002F@Threenineio","https:\u002F\u002Fnjump.me\u002Fnpub1a3jz7w9laar2k77dkkh2rhxunr9zpja5emrl5yrxetamt29swqyqmmt32y","nostr:npub1a3jz7w9laar2k77dkkh2rhxunr9zpja5emrl5yrxetamt29swqyqmmt32y",[504,507],{"title":448,"path":447,"stem":505,"description":506,"children":-1},"posts\u002Fhow-to-manage-keys-for-nostr","Learn how to manage Nostr keys safely, including backups, signers, multi-key strategies, recovery planning, and the mistakes most likely to burn your identity.",{"title":508,"path":509,"stem":510,"description":511,"children":-1},"Nostr Relays, Privacy, and Security","\u002Fposts\u002Fnostr-relays-privacy-and-security","posts\u002Fnostr-relays-privacy-and-security","Understand the privacy and security trade-offs of Nostr relays, including what relay operators can observe, what they cannot do, and how to use relays more safely.",{"id":513,"extension":514,"items":515,"meta":557,"stem":558,"__hash__":559},"navigation\u002Fnavigation.yaml","yaml",[516,529,542,550],{"label":517,"children":518},"products",[519,524],{"label":520,"icon":521,"description":522,"to":523},"Diogel","material-symbols:preview","Keep your Nostr identity in your hands, in your browser, on your phone or on your own server.","\u002Fproducts\u002Fdiogel",{"label":525,"icon":526,"description":527,"to":528},"Nostrfi","i-lucide-radio-tower","Nostr relay, storage and backend-service infrastructure for builders and operators.","\u002Fproducts\u002Fnostrfi",{"label":530,"children":531},"services",[532,537],{"label":533,"description":534,"icon":535,"to":536},"Nostr product development","Focused engineering support for teams building Nostr-native products, tools and protocol-aware user experiences.","game-icons:ostrich","\u002Fservices\u002Fnostr-product-development",{"label":538,"description":539,"icon":540,"to":541},"Bitcoin product development","Engineering for Bitcoin payments, wallet-connected flows and products where users hold their own keys.","bx:bxl-bitcoin","\u002Fservices\u002Fbitcoin-product-development",{"label":543,"children":544},"company",[545],{"label":546,"icon":547,"description":548,"to":549},"About","i-lucide-file-text","What we believe, what we build and how we work.","\u002Fcompany\u002Fabout",{"label":551,"children":552},"resources",[553],{"label":554,"icon":547,"description":555,"to":556},"Blog","Practical Bitcoin, Nostr and product engineering guides.","https:\u002F\u002Fthreenine.blog",{},"navigation","n-Xc9COCwoCHJiMCeBNLauHtuhxcGol-wu9S2og3Rqs",[561,562],{"label":533,"description":534,"icon":535,"to":536},{"label":538,"description":539,"icon":540,"to":541},[564,565],{"label":520,"icon":521,"description":522,"to":523},{"label":525,"icon":526,"description":527,"to":528},[567],{"label":546,"icon":547,"description":548,"to":549},[569,572,575,578,581],{"path":570,"title":571},"\u002Flegals\u002Fcookie-policy","Cookie Policy",{"path":573,"title":574},"\u002Flegals\u002Fcopyright","Copyright",{"path":576,"title":577},"\u002Flegals\u002Fcustomer-support","Customer Support",{"path":579,"title":580},"\u002Flegals\u002Fprivacy-policy","Privacy Policy",{"path":582,"title":583},"\u002Flegals\u002Fterms-of-service","Terms of Service",{"id":585,"title":495,"avatar":497,"body":586,"description":590,"extension":472,"meta":605,"name":495,"navigation":477,"path":606,"role":607,"sameAs":608,"seo":609,"stem":610,"summary":611,"to":496,"username":7,"__hash__":612},"authors\u002Fauthors\u002FGary Woodfine.md",{"type":9,"value":587,"toc":603},[588,591,594,597,600],[12,589,590],{},"Polyglot software engineer with extensive experience in software engineering, with a passion to build great scalable software to solve complex business problems. A track record in developing high-performance backend systems, optimizing architecture, and ensuring continuous availability of critical APIs.",[12,592,593],{},"I'm an independent software developer, vendor, architect, consultant, blogger, Bitcoin & Nostr Enthusiast. I've provided software development expertise and helped augment software development skills and teams for a number of startups, product companies, corporate IT shops, and consulting firms.",[12,595,596],{},"I started out in the software world back in 1995, building websites with HoTMetaL Pro & ASP and moved on to building web apps with .NET when it released in Beta in 2001, since then, I've shipped systems in just about every industry.",[12,598,599],{},"Along my journey, I have also shipped various platforms & products in a number of other programming languages or software development frameworks that have had their moments in the sun, but somehow I have always made way back to C# & .Net.",[12,601,602],{},"Over the years, I've strived to improve how I and my teams deliver value to the clients, customers, and end-users. That has led me down the path of exploring Agile, Domain-Driven Design, REST, messaging, distributed systems, and anything else I thought could help.",{"title":64,"searchDepth":78,"depth":78,"links":604},[],{},"\u002Fauthors\u002Fgary-woodfine","Managing Director",[499,500,501,502],{"title":495,"description":590},"authors\u002FGary Woodfine","independent software developer, vendor, architect, consultant, blogger, Bitcoin & Nostr Enthusiast. I've provided software development expertise and helped augment software development skills and teams for a number of startups, product companies, corporate IT shops, and consulting firms.","30ZWJ-6T2g8S0kLLgUhZWA7_QFUOpa5CElif7tAhsLo",{"title":495,"name":495,"role":607,"summary":611,"avatar":497,"username":7,"to":496},[615,624,635,640,647,654,665,674,677,680,686,693,703,712,718,724,729,734,743,749,756,762,766,771,776,781,786,791,794,799,806,815,821,826,834,839,845,850,855,859,865,870,874],{"path":616,"title":617,"date":618,"tags":619,"category":469,"featureImage":623},"\u002Fposts\u002Fwhat-is-a-nostr-client","What is a Nostr client?","2026-10-26",[469,620,491,621,622],"nostr-client","keys","getting-started",{"url":474,"title":617},{"path":625,"title":626,"date":627,"tags":628,"category":469,"featureImage":633},"\u002Fposts\u002Fhow-to-choose-nostr-relays","How to Choose Nostr Relays","2026-04-11",[469,629,491,630,631,632],"relay","security","nostr-relays","censorship-resistance",{"url":474,"title":634},"How to choose nostr relays",{"path":509,"title":508,"date":627,"tags":636,"category":469,"featureImage":639},[469,629,491,630,637,638],"key-management","nostr-relay",{"url":474,"title":508},{"path":641,"title":642,"date":627,"tags":643,"category":469,"featureImage":645},"\u002Fposts\u002Fwhat-is-a-nostr-relay","What is a Nostr Relay?",[469,629,491,632,644,638],"decentralization",{"url":474,"title":646}," What is a Nostr Relay?",{"path":648,"title":649,"date":650,"tags":651,"category":469,"featureImage":653},"\u002Fposts\u002Fwhy-nostr-keys-better-privacy","Why Nostr keys and identity are better for privacy","2026-04-06",[469,491,652,630],"identity",{"url":474,"title":649},{"path":655,"title":656,"date":657,"tags":658,"category":469,"featureImage":664},"\u002Fposts\u002Fbest-nostr-browser-extensions-2026","Best Nostr Browser Extensions (2026): Complete Comparison","2026-03-24",[469,659,660,630,661,662,663],"browser-extension","nip-07","comparison","porwr","diogel",{"url":474,"title":656},{"path":666,"title":667,"date":657,"tags":668,"category":469,"featureImage":671},"\u002Fposts\u002Fhow-to-get-started-with-porwr","Getting Started with Nostr: Porwr Setup Guide (2026)",[669,491,469,662,663,670,660,659],"social","cryptography",{"url":672,"title":673},"v1690313893\u002Fblog\u002Fdiogel-product-header_x3az6t","Porwr Browser Extension",{"path":447,"title":448,"date":470,"tags":675,"category":469,"featureImage":676},[469,621,491,630],{"url":474,"title":448},{"path":478,"title":5,"date":470,"tags":678,"category":469,"featureImage":679},[469,490,491,492],{"url":474,"title":5},{"path":681,"title":682,"date":683,"tags":6,"category":491,"featureImage":684},"\u002Fposts\u002Fwhy-privacy-is-a-fundamental-human-right","Why privacy is a fundamental human right","2025-12-09",{"url":685,"title":682},"v1690313893\u002Fprivacy-header_exiblo",{"path":687,"title":688,"date":689,"tags":6,"category":690,"featureImage":691},"\u002Fposts\u002Fhow-government-monetary-policy-erodes-the-value-of-money","How government monetary policy erodes the value of money","2025-12-01","bitcoin",{"url":692,"title":688},"v1719908027\u002Fbitcoin_szcm1m",{"path":694,"title":695,"date":696,"tags":697,"category":690,"featureImage":701},"\u002Fposts\u002Fbitaxe-touch-genesis-batch","Bitaxe Touch Genesis Batch","2025-07-23",[698,699,700],"bitaxe","mining","solo",{"url":702,"title":695},"v1690313878\u002Fbitaxe-touch_c6qrjd",{"path":704,"title":705,"date":706,"tags":707,"category":690,"featureImage":711},"\u002Fposts\u002Fbitcoin-is-not-a-ponzi-scheme","Bitcoin is not a Ponzi Scheme","2025-07-22",[708,709,710],"ponzi","economics","investment",{"url":692,"title":705},{"path":713,"title":714,"date":706,"tags":715,"category":690,"featureImage":717},"\u002Fposts\u002Fgetting-started-with-public-pool-mining","Getting started with Public Pool Mining",[699,700,716],"lottery",{"url":692,"title":714},{"path":719,"title":720,"date":721,"tags":722,"category":690,"featureImage":723},"\u002Fposts\u002Fgetting-started-with-solo-mining","Getting started with solo mining","2025-07-19",[698,699,700,716],{"url":692,"title":720},{"path":725,"title":726,"date":721,"tags":727,"category":690,"featureImage":728},"\u002Fposts\u002Fwhat-is-bitcoin-mining","What is Bitcoin mining",[699,690],{"url":692,"title":726},{"path":730,"title":731,"date":721,"tags":732,"category":690,"featureImage":733},"\u002Fposts\u002Fwhat-is-solo-mining","What is solo mining",[700],{"url":692,"title":731},{"path":735,"title":736,"date":737,"tags":738,"category":690,"featureImage":741},"\u002Fposts\u002Fhow-to-run-a-bitcoin-node","How to run a Bitcoin Node with Umbrel Home","2025-07-14",[739,740],"node","umbrel",{"url":692,"title":742},"How to run a Bitcoin node",{"path":744,"title":745,"date":746,"tags":747,"category":469,"featureImage":748},"\u002Fposts\u002Fhow-to-get-started-with-nostr","How to get started with Nostr","2024-10-09",[469,622,491,621],{"url":474,"title":745},{"path":750,"title":751,"date":752,"tags":6,"category":753,"featureImage":754},"\u002Fposts\u002Fhow-to-use-layouts-and-pages-in-nuxt","How to use layouts and pages in Nuxt","2024-10-08","development",{"url":755,"title":751},"v1690313878\u002Fnuxt-header_tbc9cp",{"path":757,"title":758,"date":759,"tags":6,"category":753,"featureImage":760},"\u002Fposts\u002Fhow-to-add-tailwindcss-to-nuxt","How to add tailwindcss to nuxt","2024-10-07",{"url":755,"title":761},"Getting started with Nuxt",{"path":763,"title":761,"date":764,"tags":6,"category":753,"featureImage":765},"\u002Fposts\u002Fgetting-started-with-nuxt","2024-10-06",{"url":755,"title":761},{"path":767,"title":768,"date":764,"tags":6,"category":753,"featureImage":769},"\u002Fposts\u002Fhow-to-store-terraform_state-in-digital-ocean-space","How to store Terraform state in DigitalOcean Spaces",{"url":770,"title":768},"v1690313893\u002Fterraform-header_ixmkgg",{"path":772,"title":773,"date":774,"tags":6,"category":753,"featureImage":775},"\u002Fposts\u002Fhow-to-use-terraform-with-digitalocean","How to use Terraform with DigitalOcean","2024-10-05",{"url":770,"title":773},{"path":777,"title":778,"date":779,"tags":6,"category":491,"featureImage":780},"\u002Fposts\u002Fhow-to-add-fathom-analytics-to-nuxt","How to add Fathom Analytics to Nuxt","2024-07-01",{"url":755,"title":778},{"path":782,"title":783,"date":779,"tags":6,"category":491,"featureImage":784},"\u002Fposts\u002Fimportance-of-privacy-in-web-analytics","The Importance of Privacy in Web Analytics",{"url":785,"title":783},"v1690313893\u002Fanalytics_nlew9f",{"path":787,"title":788,"date":779,"tags":789,"category":469,"featureImage":790},"\u002Fposts\u002Fwhat-is-a-nip-07-signer","What is a NIP-07 signer?",[469,660,659,630],{"url":474,"title":788},{"path":441,"title":442,"date":779,"tags":792,"category":469,"featureImage":793},[469,251,491,644],{"url":474,"title":442},{"path":795,"title":796,"date":779,"tags":6,"category":491,"featureImage":797},"\u002Fposts\u002Fwhy-choose-privacy-focused-analytics","Why choose privacy focused Analytics",{"url":798,"title":796},"v1690313893\u002Fblog\u002Ffathom-header_y7s0x2",{"path":800,"title":801,"date":802,"tags":6,"category":753,"featureImage":803},"\u002Fposts\u002Fwhat-is-api-integration","What is API Integration?","2024-06-04",{"url":804,"title":805},"v1719908247\u002Fapi_f3f1mh","What is API integration?",{"path":807,"title":808,"date":809,"tags":810,"category":690,"featureImage":812},"\u002Fposts\u002Fhow-blockchain-uses-cryptography","How Blockchain uses Cryptography","2024-05-18",[811,670],"blockchain",{"url":813,"title":814},"v1690313893\u002Fblockchain_tfrcrd","What is blockchain?",{"path":816,"title":817,"date":818,"tags":6,"category":753,"featureImage":819},"\u002Fposts\u002Fhow-to-create-a-websocket-server-in-dotnet","How to create a WebSocket server in dotnet","2024-05-15",{"url":820,"title":817},"v1719908486\u002Fwebsockets_pjqtld",{"path":822,"title":823,"date":818,"tags":824,"category":690,"featureImage":825},"\u002Fposts\u002Fwhat-is-blockchain","What is Blockchain",[811,690],{"url":813,"title":814},{"path":827,"title":828,"date":829,"tags":830,"category":690,"featureImage":832},"\u002Fposts\u002Fintroduction-to-public-and-private-key-cryptography","Public Key Cryptography Explained: A Beginner's Guide","2024-05-12",[831,690,469],"encryption",{"url":813,"title":833},"Introduction to public and private key cryptography",{"path":835,"title":836,"date":829,"tags":837,"category":690,"featureImage":838},"\u002Fposts\u002Fwhat-is-bitcoin","What is Bitcoin?",[811,690],{"url":692,"title":836},{"path":840,"title":841,"date":842,"tags":6,"category":753,"featureImage":843},"\u002Fposts\u002Fwhat-are-web-sockets","What are Web Sockets","2023-09-06",{"url":820,"title":844},"What are Websockets",{"path":846,"title":847,"date":848,"tags":6,"category":753,"featureImage":849},"\u002Fposts\u002Fwhat-is-api-first","What is API First?","2023-07-13",{"url":804,"title":847},{"path":851,"title":852,"date":853,"tags":6,"category":753,"featureImage":854},"\u002Fposts\u002Fapi-gateway-pattern","API Gateway Pattern","2023-06-10",{"url":804,"title":852},{"path":856,"title":857,"date":853,"tags":6,"category":753,"featureImage":858},"\u002Fposts\u002Fbackend-for-frontend-design-pattern","Backend for Frontend Design Pattern",{"url":804,"title":857},{"path":860,"title":861,"date":862,"tags":6,"category":753,"featureImage":863},"\u002Fposts\u002Fguide-api-development","An introductory guide to API Development","2023-06-05",{"url":804,"title":864},"API Development",{"path":866,"title":867,"date":862,"tags":6,"category":753,"featureImage":868},"\u002Fposts\u002Fwhat-is-a-rest-api","What is a REST API?",{"url":804,"title":869},"What is an API?",{"path":871,"title":869,"date":872,"tags":6,"category":753,"featureImage":873},"\u002Fposts\u002Fwhat-is-an-api","2023-06-01",{"url":804,"title":869},{"path":875,"title":876,"date":872,"tags":6,"category":753,"featureImage":877},"\u002Fposts\u002Fwhat-is-api-development","What is API Development ?",{"url":804,"title":878},"What is API development?",1793132667043]