Upload files to "blog"
run a willexecutor article
This commit is contained in:
304
blog/run-a-will-executor.html
Normal file
304
blog/run-a-will-executor.html
Normal file
@@ -0,0 +1,304 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="nojs">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Run a Will-Executor: Earn Bitcoin Fees by Powering Decentralized Inheritance — Bitcoin After Life</title>
|
||||
<meta name="description" content="Every BAL inheritance transaction carries a fee for the server that broadcasts it — paid in Bitcoin, only on success. Why running a Will-Executor is a long-term, Bitcoin-native earning opportunity.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:site_name" content="Bitcoin After Life">
|
||||
<meta property="og:title" content="Run a Will-Executor: Earn Bitcoin Fees by Powering Decentralized Inheritance — Bitcoin After Life">
|
||||
<meta property="og:description" content="Every BAL inheritance transaction carries a fee for the server that broadcasts it — paid in Bitcoin, only on success. Why running a Will-Executor is a long-term, Bitcoin-native earning opportunity.">
|
||||
<meta property="og:url" content="https://bitcoin-after.life/blog/run-a-will-executor.html">
|
||||
<meta property="og:image" content="https://bitcoin-after.life/pitura/og-default.png">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@BitcoinAfterLif">
|
||||
<meta name="twitter:title" content="Run a Will-Executor: Earn Bitcoin Fees by Powering Decentralized Inheritance — Bitcoin After Life">
|
||||
<meta name="twitter:description" content="Every BAL inheritance transaction carries a fee for the server that broadcasts it — paid in Bitcoin, only on success. Why running a Will-Executor is a long-term, Bitcoin-native earning opportunity.">
|
||||
<meta name="twitter:image" content="https://bitcoin-after.life/pitura/og-default.png">
|
||||
<meta name="theme-color" content="#2d6cdf">
|
||||
<link rel="canonical" href="https://bitcoin-after.life/blog/run-a-will-executor.html">
|
||||
<link rel="icon" type="image/x-icon" href="/pitura/ico/Logo_nero.ico">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/pitura/ico/favicon-32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/pitura/ico/favicon-16.png">
|
||||
<script>
|
||||
/* Runs before first paint: removes the `nojs` class set on <html>, so the
|
||||
mobile menu button is only shown when it can actually work. */
|
||||
document.documentElement.classList.remove('nojs');
|
||||
</script>
|
||||
<style>
|
||||
:root{
|
||||
--maxw:1120px;
|
||||
--radius:10px;
|
||||
--bg:#eef1f4;
|
||||
--panel:#ffffff;
|
||||
--ink:#1a2027;
|
||||
--muted:#5b6672;
|
||||
--line:#dfe4ea;
|
||||
--line-strong:#cbd2da;
|
||||
--accent:#2d6cdf;
|
||||
--accent-soft:#e6eefc;
|
||||
--display:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
|
||||
--body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
|
||||
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
|
||||
--shadow:0 1px 2px rgba(20,30,50,.05);
|
||||
--shadow-lg:0 6px 20px rgba(20,30,50,.08);
|
||||
}
|
||||
*{box-sizing:border-box}
|
||||
html{scroll-behavior:smooth}
|
||||
html,body{margin:0}
|
||||
body{background:var(--bg);color:var(--ink);font-family:var(--body);
|
||||
line-height:1.55;-webkit-font-smoothing:antialiased}
|
||||
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
|
||||
a{color:var(--accent);text-decoration:none}
|
||||
a:hover{text-decoration:underline}
|
||||
|
||||
/* ---------- Top bar (shared with home and manifesto) ---------- */
|
||||
.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);
|
||||
backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--line)}
|
||||
.topbar .wrap{display:flex;align-items:center;gap:18px;height:60px}
|
||||
.topbar .logo{display:flex;align-items:center;gap:10px;font-family:var(--display);
|
||||
font-weight:600;color:var(--ink)}
|
||||
.topbar .logo img{width:30px;height:30px;display:block}
|
||||
.topbar .logo span{font-size:15px;letter-spacing:-.01em}
|
||||
.topbar nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
|
||||
.topbar nav a{color:var(--muted);font-size:13px;padding:7px 11px;border-radius:7px}
|
||||
.topbar nav a:hover{color:var(--ink);background:var(--accent-soft);text-decoration:none}
|
||||
.topbar nav a.active{color:var(--accent);font-weight:600;border:1px solid #cfe0fb;
|
||||
background:var(--accent-soft)}
|
||||
.topbar .x{color:var(--ink);font-weight:600}
|
||||
|
||||
.navtoggle{
|
||||
display:none;margin-left:auto;width:44px;height:44px;flex:none;
|
||||
align-items:center;justify-content:center;
|
||||
background:var(--panel);border:1px solid var(--line-strong);border-radius:9px;
|
||||
color:var(--ink);cursor:pointer;padding:0;
|
||||
}
|
||||
.navtoggle:hover{border-color:var(--accent);color:var(--accent)}
|
||||
.navtoggle .bars{display:block;width:18px;height:2px;background:currentColor;position:relative}
|
||||
.navtoggle .bars::before,.navtoggle .bars::after{
|
||||
content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
|
||||
.navtoggle .bars::before{top:-6px}
|
||||
.navtoggle .bars::after{top:6px}
|
||||
.navtoggle[aria-expanded="true"] .bars{background:transparent}
|
||||
.navtoggle[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
|
||||
.navtoggle[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
|
||||
|
||||
/* ---------- Footer (shared) ---------- */
|
||||
footer{border-top:1px solid var(--line);margin-top:56px;padding:34px 0 40px;
|
||||
color:var(--muted);font-size:14px;background:var(--panel)}
|
||||
footer .sig{font-family:var(--display);font-weight:600;color:var(--ink);font-size:16px}
|
||||
footer .links{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}
|
||||
footer .built{font-size:13px;color:var(--muted);margin-top:8px}
|
||||
|
||||
@media (max-width:900px){
|
||||
.navtoggle{display:inline-flex}
|
||||
.topbar nav{
|
||||
position:absolute;top:100%;left:0;right:0;
|
||||
margin-left:0;display:none;flex-direction:column;gap:2px;flex-wrap:nowrap;
|
||||
background:var(--panel);border-bottom:1px solid var(--line);
|
||||
box-shadow:var(--shadow-lg);padding:10px 20px 16px;
|
||||
}
|
||||
.topbar nav.open{display:flex}
|
||||
.topbar nav a{font-size:15.5px;padding:0 12px;min-height:44px;
|
||||
display:flex;align-items:center;border-radius:8px}
|
||||
}
|
||||
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
|
||||
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
|
||||
|
||||
/*
|
||||
Without JavaScript the panel cannot be toggled, so the links are shown
|
||||
inline. On narrow screens they wrap under the logo and the bar is allowed
|
||||
to grow, instead of being clipped by the fixed 60px height.
|
||||
*/
|
||||
.nojs .navtoggle{display:none}
|
||||
.nojs .topbar nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;
|
||||
box-shadow:none;border-bottom:0;padding:0;margin-left:auto;background:transparent}
|
||||
@media (max-width:900px){
|
||||
.nojs .topbar .wrap{height:auto;min-height:56px;flex-wrap:wrap;padding-bottom:8px;gap:10px}
|
||||
.nojs .topbar nav{margin-left:0;width:100%;gap:4px 6px}
|
||||
.nojs .topbar nav a{font-size:14.5px;min-height:40px;padding:0 10px;
|
||||
display:flex;align-items:center;border:1px solid var(--line);border-radius:8px}
|
||||
}
|
||||
|
||||
.post-head{padding:44px 0 30px;border-bottom:1px solid var(--line);
|
||||
background:radial-gradient(820px 280px at 50% -40%,var(--accent-soft),transparent 70%)}
|
||||
.post-head .wrap{max-width:760px}
|
||||
.post-head .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;
|
||||
text-transform:uppercase;color:var(--accent);display:block;margin-bottom:14px}
|
||||
.post-head h1{font-family:var(--display);font-weight:600;font-size:40px;
|
||||
letter-spacing:-.02em;line-height:1.12;margin:0 0 14px}
|
||||
.post-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;
|
||||
font-size:13px;color:var(--muted)}
|
||||
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
|
||||
|
||||
.article{max-width:760px;margin:0 auto;padding:34px 20px 8px}
|
||||
.article p{font-size:17px;line-height:1.8;color:#36404b;margin:0 0 20px}
|
||||
.article p strong{color:var(--ink);font-weight:600}
|
||||
.article h2{font-family:var(--display);font-weight:600;font-size:25px;
|
||||
letter-spacing:-.01em;margin:38px 0 14px;padding-bottom:10px;
|
||||
border-bottom:1px solid var(--line-strong)}
|
||||
.article ol{padding-left:22px;margin:0 0 20px}
|
||||
.article li{font-size:17px;line-height:1.8;color:#36404b;margin-bottom:14px}
|
||||
.article li strong{color:var(--ink);font-weight:600}
|
||||
.article figure{margin:30px 0}
|
||||
.article figure img{width:100%;height:auto;display:block;border-radius:var(--radius);
|
||||
border:1px solid var(--line);box-shadow:var(--shadow)}
|
||||
.article hr{border:0;border-top:1px solid var(--line-strong);margin:34px 0 22px}
|
||||
.article .disclaimer{font-size:14px;color:var(--muted);font-style:italic;line-height:1.7}
|
||||
.back{max-width:760px;margin:26px auto 0;padding:0 20px 8px}
|
||||
.back a{font-size:14px;font-weight:600}
|
||||
|
||||
@media (max-width:700px){
|
||||
.post-head{padding:30px 0 24px}
|
||||
.post-head h1{font-size:29px}
|
||||
.article{padding:28px 18px 8px}
|
||||
.article h2{font-size:22px;margin-top:32px}
|
||||
.article figure{margin:24px -18px}
|
||||
.article figure img{border-radius:0;border-left:0;border-right:0}
|
||||
}
|
||||
@media (max-width:400px){
|
||||
.post-head h1{font-size:25px}
|
||||
.wrap{padding:0 15px}
|
||||
.article{padding:24px 16px 8px}
|
||||
.article figure{margin:22px -16px}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="topbar">
|
||||
<div class="wrap">
|
||||
<a class="logo" href="../index.html"><img src="../pitura/logo/Logo_nero.svg" alt="Bitcoin After Life logo"><span translate="no">Bitcoin After Life</span></a>
|
||||
<button class="navtoggle" id="navToggle" type="button"
|
||||
aria-expanded="false" aria-controls="mainNav" aria-label="Open menu">
|
||||
<span class="bars"></span>
|
||||
</button>
|
||||
<nav id="mainNav">
|
||||
<a href="../index.html#features">Features</a>
|
||||
<a href="../index.html#how">How it works</a>
|
||||
<a href="../index.html#plugin">Plugin</a>
|
||||
<a href="../index.html#faq">FAQ</a>
|
||||
<a class="active" href="../blog.html">Blog</a>
|
||||
<a href="../manifesto.html">Manifesto</a>
|
||||
<a class="x" href="https://x.com/BitcoinAfterLif" title="@BitcoinAfterLif on X">@X</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<main>
|
||||
<header class="post-head">
|
||||
<div class="wrap">
|
||||
<span class="eyebrow">Blog</span>
|
||||
<h1>Run a Will-Executor: Earn Bitcoin Fees by Powering Decentralized Inheritance</h1>
|
||||
<div class="post-meta">
|
||||
<time datetime="2026-08-30">30 August 2026</time>
|
||||
<span class="dot"></span>
|
||||
<span translate="no">Bitcoin After Life</span>
|
||||
<span class="dot"></span>
|
||||
<span>5 min read</span>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<article class="article">
|
||||
<figure>
|
||||
<img src="img/run-a-will-executor-cover.webp" width="1600" height="900" loading="lazy" alt="An isometric server node connected to a Bitcoin block chain, representing a Will-Executor">
|
||||
</figure>
|
||||
|
||||
<p>Every protocol has a heartbeat. In <span translate="no">Bitcoin After Life</span>, that heartbeat is the <strong>Will-Executor</strong> network: independent servers around the world that store signed, time-locked inheritance transactions and broadcast them when their delivery date arrives. Without executors, there is no protocol. And here's the part most people miss: <strong>anyone can run one — and get paid in Bitcoin for doing it.</strong></p>
|
||||
<p>This article explains what running a Will-Executor actually involves, how the economics work, and why we believe it is one of the most interesting long-term, Bitcoin-native earning opportunities nobody is talking about yet.</p>
|
||||
|
||||
<h2>What a Will-Executor actually does</h2>
|
||||
<p>Strip away the name and a Will-Executor is a beautifully simple service. It:</p>
|
||||
<ol>
|
||||
<li><strong>Receives</strong> fully signed, time-locked inheritance transactions from BAL plugin users.</li>
|
||||
<li><strong>Stores</strong> them safely — sometimes for years.</li>
|
||||
<li><strong>Broadcasts</strong> each transaction to the Bitcoin network on its delivery date.</li>
|
||||
</ol>
|
||||
<p>That's all. The server cannot modify the transactions (they are already signed), cannot execute them early (Bitcoin's consensus rules reject them before the locktime), and cannot see anything beyond what the transaction itself reveals. It is infrastructure, not a fiduciary.</p>
|
||||
<p>Technically, the requirements are modest. You don't need a datacenter or specialized hardware — the <a href="https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server" target="_blank" rel="noopener">BAL server</a> is open source, and a reliable, always-on machine with modest resources is enough to start. Once running, you can list your server on the public <a href="https://welist.bitcoin-after.life/" target="_blank" rel="noopener">WeList directory</a>, where plugin users discover and select executors for their wills.</p>
|
||||
|
||||
<h2>The economics: paid on success, in Bitcoin, forever</h2>
|
||||
<p>The incentive design is deliberately simple and entirely on-chain:</p>
|
||||
<ul style="padding-left:22px">
|
||||
<li>Every inheritance transaction created by the BAL plugin includes a <strong>fee output for the Will-Executor</strong>.</li>
|
||||
<li>That fee is paid <strong>only when the transaction is broadcast and confirms</strong> on the blockchain. No execution, no payment. The incentive to store carefully and broadcast punctually is built into the money itself.</li>
|
||||
<li>If several executors hold the same inheritance, <strong>the first to broadcast it wins the fee</strong>. This race is a feature: it makes every executor eager to be online, honest, and fast on delivery day.</li>
|
||||
<li>Fees are denominated in <strong>Bitcoin</strong> — not in a token, not in points, not in a promise. As Bitcoin's value grows over the years between a will's creation and its execution, the real-world value of every stored will grows with it.</li>
|
||||
</ul>
|
||||
<p>That last point deserves emphasis. A Will-Executor accumulates a portfolio of future-dated, Bitcoin-denominated claims. Each one is a small, probabilistic, long-duration asset — closer to holding a book of very patient options than to running a conventional service. The protocol is designed for inheritances that may execute ten, twenty, thirty years from now. The executor business is a bet on longevity: the protocol's, and your server's.</p>
|
||||
|
||||
<h2>Why the network needs you</h2>
|
||||
<p>Decentralized inheritance has a bootstrapping problem that is the mirror image of Bitcoin's own early days: the system is only as strong as its redundancy.</p>
|
||||
<p>The BAL plugin creates one transaction per selected Will-Executor precisely because <strong>only one of them needs to survive until the delivery date</strong>. Redundancy is the guarantee. But that guarantee gets stronger with every independent operator who joins:</p>
|
||||
<ul style="padding-left:22px">
|
||||
<li><strong>More executors = more resilience.</strong> Geographic, jurisdictional, and operational diversity means no single outage, seizure, or bankruptcy can break the chain of inheritance.</li>
|
||||
<li><strong>More executors = more credibility.</strong> Users choosing servers from the WeList want to see a living, competitive directory, not a monoculture.</li>
|
||||
<li><strong>More executors = earlier fees.</strong> A larger network attracts more users, and more users mean more wills stored — the fee pipeline starts flowing sooner for everyone.</li>
|
||||
</ul>
|
||||
<p>If you believed in running a Bitcoin node when it was "useless," or mining when it was a hobby, this will feel familiar: critical infrastructure, run by volunteers-turned-stakeholders, rewarded later than expected and more than expected.</p>
|
||||
|
||||
<h2>Getting started</h2>
|
||||
<ol>
|
||||
<li>Read <a href="https://bitcoin-after.life/docs/will-executors/what-they-are.html" target="_blank" rel="noopener">What Will-Executors are</a> in the manual for the full mental model.</li>
|
||||
<li>Follow <a href="https://bitcoin-after.life/docs/will-executors/running-a-server.html" target="_blank" rel="noopener">Running a Will-Executor</a> for the setup walkthrough — the code is MIT-licensed and open for audit.</li>
|
||||
<li>Add your server to the <a href="https://welist.bitcoin-after.life/" target="_blank" rel="noopener">WeList</a> so users can find and select you.</li>
|
||||
<li>Stay online, stay honest, and let time — and the timelocks — do the rest.</li>
|
||||
</ol>
|
||||
|
||||
<h2>The long game</h2>
|
||||
<p>Bitcoin turned "being your own bank" from a slogan into software. <span translate="no">Bitcoin After Life</span> is doing the same for "leaving something behind." But protocols don't run themselves: behind every inheritance that arrives exactly on schedule, decades after it was written, there will be a server that kept its promise — and collected its fee.</p>
|
||||
<p>That server could be yours.</p>
|
||||
|
||||
<p><em>Bitcoin After Life is open source and Bitcoin-only. Explore the code on <a href="https://bitcoin-after.life/gitea/bitcoinafterlife" target="_blank" rel="noopener">Gitea</a>, browse the executor directory at <a href="https://welist.bitcoin-after.life/" target="_blank" rel="noopener">welist.bitcoin-after.life</a>, and read the full documentation at <a href="https://bitcoin-after.life/docs/" target="_blank" rel="noopener">bitcoin-after.life/docs</a>.</em></p>
|
||||
</article>
|
||||
|
||||
<div class="back">
|
||||
<a href="../blog.html">← Back to the blog</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div class="wrap">
|
||||
<div class="sig">Svātantrya</div>
|
||||
<div>Signed — <span translate="no">Bitcoin After Life</span> Protocol</div>
|
||||
<div class="links">
|
||||
<a href="https://bitcoin-after.life">bitcoin-after.life</a>
|
||||
<a href="mailto:info@bitcoin-after.life">info@bitcoin-after.life</a>
|
||||
<a href="https://x.com/BitcoinAfterLif">@BitcoinAfterLif</a>
|
||||
<a href="https://bitcoin-after.life/pgp">PGP Key</a>
|
||||
<a href="https://bitcoin-after.life/gitea/bitcoinafterlife">Source Code</a>
|
||||
</div>
|
||||
<div class="built">Built with ₿itcoin. No FIAT was used in the making of this protocol.</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
/* Mobile menu toggle -- identical behaviour across all pages. */
|
||||
(function () {
|
||||
const toggle = document.getElementById('navToggle');
|
||||
const nav = document.getElementById('mainNav');
|
||||
if (!toggle || !nav) return;
|
||||
|
||||
function setOpen(open) {
|
||||
nav.classList.toggle('open', open);
|
||||
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||||
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
|
||||
}
|
||||
|
||||
toggle.addEventListener('click', function () {
|
||||
setOpen(!nav.classList.contains('open'));
|
||||
});
|
||||
nav.addEventListener('click', function (e) {
|
||||
if (e.target.tagName === 'A') setOpen(false);
|
||||
});
|
||||
document.addEventListener('keydown', function (e) {
|
||||
if (e.key === 'Escape') setOpen(false);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user