Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
236 lines (224 loc) · 23.2 KB
/
Copy pathindex.html
File metadata and controls
236 lines (224 loc) · 23.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Smit Blockchain Operations - BKIND Cardano Stake Pool. The trustworthy Cardano stake pool active since July 2020.">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; font-src 'self'; img-src 'self' data:; upgrade-insecure-requests; object-src 'none'; form-action 'none'; base-uri 'none';">
<title>Smit Blockchain Operations - BKIND Cardano Stake Pool</title>
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="votes.css">
<link rel="stylesheet" href="pools.css">
<link rel="stylesheet" href="delegate.css">
<link rel="stylesheet" href="dreps.css">
</head>
<body>
<div class="top-banner">
<a href="https://cardanoscan.io/drep/drep1ytc6867ae0xmkekvmex79r9akyy28eu8nu03jf3xu9fle6c82l4eq?tab=meta" target="_blank" rel="noopener noreferrer">BKIND is a registered DRep — view on Cardanoscan</a>
</div>
<main class="hero">
<div class="hero-background"></div>
<div class="hero-overlay"></div>
<header class="header">
<a href="/" class="logo-link" aria-label="Smit Blockchain Operations Home">
<img src="images/logo.png" alt="SBO Logo" class="logo">
</a>
<button id="menuToggle" class="menu-toggle" aria-haspopup="true" aria-controls="headerActions" aria-expanded="false" aria-label="Open menu">
<span class="menu-toggle-bar"></span>
<span class="menu-toggle-bar"></span>
<span class="menu-toggle-bar"></span>
</button>
<div class="header-actions" id="headerActions">
<button id="delegateBtn" class="delegate-btn" aria-haspopup="dialog" aria-controls="delegateModal" aria-label="Delegate your stake or your vote">Delegate</button>
<button id="votesBtn" class="votes-btn" aria-haspopup="dialog" aria-controls="votesModal" aria-label="View BKIND governance votes">Votes</button>
<a id="toolsBtn" class="tools-btn" href="https://github.com/GS1973/Cardano-Tools" target="_blank" rel="noopener noreferrer" aria-label="Cardano Tools on GitHub (opens in a new tab)">Tools</a>
<button id="poolsBtn" class="votes-btn" aria-haspopup="dialog" aria-controls="poolsModal" aria-label="Live pools under the saturation point">Pools</button>
<button id="drepsBtn" class="votes-btn" aria-haspopup="dialog" aria-controls="drepsModal" aria-label="Active DReps: who speaks for your ADA">DReps</button>
<button id="aboutBtn" class="about-btn" aria-haspopup="dialog" aria-controls="aboutModal" aria-label="About Smit Blockchain Operations">About</button>
<button id="contactBtn" class="contact-btn" aria-haspopup="dialog" aria-controls="contactModal" aria-label="Contact Smit Blockchain Operations">Contact</button>
</div>
</header>
<div class="hero-content">
<h1 class="hero-title">Smit Blockchain Operations</h1>
<p class="hero-subtitle">The trustworthy Cardano Stake Pool</p>
<p class="hero-info">Active since 29th of July 2020</p>
<p class="hero-ticker">Ticker: <strong>BKIND</strong></p>
</div>
</main>
<section class="motto-section">
<p>DECENTRALIZE AND HARMONIZE</p>
</section>
<footer class="footer">
<p>This website does NOT use any cookies.</p>
<a href="/terms" class="footer-link">Disclaimer</a>
</footer>
<div id="delegateModal" class="modal-overlay" hidden>
<div class="modal" role="dialog" aria-modal="true" aria-labelledby="modalTitle" aria-describedby="modalBody">
<button id="modalClose" class="modal-close" aria-label="Close">×</button>
<h2 id="modalTitle" class="modal-title">Delegate</h2>
<div id="modalBody" class="modal-body">
<p>Delegate your stake to BKIND or to another pool below the saturation point at <code>k</code> = 1000. Give your vote to BKIND or to another DRep. Stake and vote are two separate delegations: each is its own transaction.</p>
<div class="delegate-choice">
<button type="button" id="delegateWalletBtn" class="delegate-go">Delegate stake to BKIND</button>
<button type="button" id="delegateToPools" class="delegate-go">Choose another pool</button>
<button type="button" id="delegateVoteBtn" class="delegate-go">Give your vote to BKIND</button>
<button type="button" id="delegateToDreps" class="delegate-go">Choose another DRep</button>
</div>
<p class="delegate-fine">Your wallet shows the transaction before you sign it. Delegating does not move your ADA: you pay only the transaction fee, and a refundable deposit the first time your wallet delegates.</p>
</div>
</div>
</div>
<div id="votesModal" class="modal-overlay" hidden>
<div class="modal modal-votes" role="dialog" aria-modal="true" aria-labelledby="votesTitle">
<div class="votes-header">
<h2 id="votesTitle" class="modal-title">Governance Votes</h2>
<button id="votesClose" class="modal-close" aria-label="Close">×</button>
</div>
<p class="votes-intro">Every vote BKIND has cast on-chain, as stake pool and as DRep. Click a vote to read the rationale behind it.</p>
<div id="votesList" class="votes-list"></div>
</div>
</div>
<div id="poolsModal" class="modal-overlay" hidden>
<div class="modal modal-votes modal-pools" role="dialog" aria-modal="true" aria-labelledby="poolsTitle">
<div class="votes-header">
<h2 id="poolsTitle" class="modal-title">Live Pools under the Saturation Point</h2>
<button id="poolsClose" class="modal-close" aria-label="Close">×</button>
</div>
<div class="pools-body">
<p>If <code>k</code> (the protocol parameter <code>stakePoolTargetNum</code>) goes from 500 to 1000, a stake pool saturates at <strong id="poolsSaturation">about 38.9 million</strong> ADA. Above that point the rewards per ADA go down. The pools below are alive, make themselves known to the public, have less stake than that and are the only pool of their owner.</p>
<p>We are strongly in favor of decentralization. That is why we support raising <code>k</code> to 1000, and why this list starts from the saturation point at <code>k</code> = 1000. The pools that need more delegation the most are at the top: the list starts with the smallest pools.</p>
<p class="pools-meta" id="poolsMeta">Loading the list…</p>
<h3>How the list is made</h3>
<p>Every day, from the Cardano chain, a pool is listed when it:</p>
<ul class="pools-rules">
<li>Has stake in the current epoch and is not retired.</li>
<li>Makes itself known to the public: it has a name, a ticker and a homepage (a web address) in its registered metadata.</li>
<li>Answers on at least one of its registered relays. A block is not asked: a pool that is waiting for stake cannot make one.</li>
<li>Meets the pledge it declared: its owners hold at least that much stake in the pool this epoch. A pool that does not meet its pledge earns no rewards in that epoch, and neither do its delegators.</li>
<li>Has less stake than the saturation point at <code>k</code> = 1000: the ADA outside the reserves, divided by 1000.</li>
<li>Is not run by an exchange or by one of the founding entities of Cardano (IOG, EMURGO, Cardano Foundation).</li>
<li>Is the only pool of its owner. An owner with two or more pools takes the place of another operator, so none of its pools is listed. When the owner is back to one pool, that pool can be listed again.</li>
</ul>
<p>Pools of exchanges and of the founding entities are left out on purpose: this list is meant to spread stake over independent pool operators. The seven EMURGO pools that were handed over in September 2026 (now MURA1 to MURA7) stay off the list, because there is no transparency about the takeover. All of these are recognized by pool ID, so a pool that changes its name stays off the list.</p>
<p>Two pools are of one owner when they share an owner key or a reward account, when they belong to the same exchange or founding entity, or when two of these agree: the same name without its number, the same ticker without its digits, the same own website. These are the criteria of our Decentralization Monitor. The same relays or the same hosting do not count: they say who runs a pool, not whose it is.</p>
<p>A relay that does not answer from here is not proof that a pool is down: some pools only accept known peers. Still, a pool whose relays do not answer is not on this list: keeping its relays reachable is the responsibility of the pool operator.</p>
<p>A pool's name, ticker and homepage are its own registered metadata. They are read from the address the pool recorded on the chain, and used only when what is found there matches the hash the pool recorded with it. A pool without a homepage, or whose metadata cannot be read or no longer matches that hash, is not on this list: keeping its metadata in order is the responsibility of the pool operator too. A name is chosen by the pool itself. It is not proof of who is behind it.</p>
<p>Under the name of a pool, the list shows the governance roles the pool declares in its registered metadata, in the way the proposed CIP Disclosure of Governance Roles reads them: a DRep the pool says is its own, a seat on the Constitutional Committee, and whether the DRep declares the pool in return (reciprocal). The Cardano Constitution asks anyone who holds several governance roles to disclose this. Only a declaration counts. A shared name or website, a delegation or a vote is not a declaration and is not shown as one. No roles declared means that none is declared, not that there is no overlap. Metadata that cannot be read leaves the roles unknown.</p>
<p>The list is made by Smit Blockchain Operations, operator of pool BKIND, which is on it by the same rules as every other pool.</p>
<h3>The pools</h3>
<p class="pools-note">Click a heading to sort. Click a ticker or a name to open the pool on Cardanoscan in a new window to view the pool’s details. Click Delegate to delegate to the pool with your wallet.</p>
<div class="pools-tools">
<input type="search" id="poolsFilter" placeholder="Search ticker or name" aria-label="Search ticker or name">
<a href="pools.csv" class="pools-csv" download>Download CSV</a>
</div>
<div class="pools-scroll">
<table class="pools-table">
<thead>
<tr>
<th data-key="ticker">Ticker</th>
<th data-key="name">Name</th>
<th data-key="stake_ada" class="num">Stake (ADA)</th>
<th data-key="blocks_2026" class="num">Blocks 2026</th>
<th data-key="blocks_last_10_epochs" class="num">Blocks, last 10 epochs</th>
<th class="pools-nosort"><span class="visually-hidden">Delegate</span></th>
</tr>
</thead>
<tbody id="poolsRows"></tbody>
</table>
</div>
</div>
</div>
</div>
<div id="drepsModal" class="modal-overlay" hidden>
<div class="modal modal-votes modal-pools" role="dialog" aria-modal="true" aria-labelledby="drepsTitle">
<div class="votes-header">
<h2 id="drepsTitle" class="modal-title">Who speaks for your ADA?</h2>
<button id="drepsClose" class="modal-close" aria-label="Close">×</button>
</div>
<div class="pools-body">
<p>Who decides about Cardano? Until recently, mainly the companies that founded it. Since early 2025 that is the people who hold ADA: together they decide how the network changes and how the money in its treasury is spent. Cardano's constitution says the community governs itself, in a process that is open, transparent and protected from undue influence.</p>
<p>You take part through a representative, a DRep. Your DRep votes on your behalf, with the weight of your ADA. You choose who that is and you can switch at any time. Delegating does not move your ADA: you pay only the transaction fee.</p>
<p>Your voice only counts if your DRep votes the way you would. A DRep represents you, not themselves. So choose someone whose views you share, check how they vote and why, and switch when they no longer speak for you.</p>
<p>Why does it matter who holds the vote? Because power that sits with a few can be used by a few. A small group can be pressured, bought, or simply share the same interests, and then it decides for everyone: about the treasury, the rules, even the constitution itself. Spread over many independent voices, that power is hard to capture. Decentralization is not only about who runs the network, but also about who decides over it.</p>
<p>Today very few hold that power.</p>
<ul class="pools-rules dreps-figures">
<li>Of <span data-fig="circulating">37.5 billion</span> ADA in circulation, <span data-fig="voting">5.2 billion</span> (<span data-fig="voting_pct">13.9%</span>) takes part in the vote.</li>
<li><span data-fig="no_drep">21.6 billion</span> ADA (<span data-fig="no_drep_pct">57.6%</span>) has no DRep at all. <span data-fig="abstain">10.5 billion</span> (<span data-fig="abstain_pct">28.0%</span>) is set to Always Abstain and never votes.</li>
<li><span data-fig="inactive_dreps">547</span> DReps are inactive: they have not voted for at least <span data-fig="inactive_days">100</span> days. The <span data-fig="inactive_ada">186 million</span> ADA delegated to them counts for nothing.</li>
<li>Of the ADA that votes, <span data-fig="block_treasury_params">5</span> DReps together can block any treasury withdrawal or protocol parameter change. <span data-fig="block_constitution">3</span> can block a change to the constitution. <span data-fig="carry_treasury">20</span> together carry the DRep vote on a treasury withdrawal.</li>
<li>In the last six months only <span data-fig="rationale_pct">39.6%</span> of DRep votes came with a rationale anyone can read (a public explanation of the vote, whose link works and whose content matches the hash on the chain). <span data-fig="never_rationale">139</span> active DReps, holding <span data-fig="never_rationale_pct">23.9%</span> of the voting power, did not explain a single vote.</li>
</ul>
<p>Choose a DRep who votes in line with your views and explains why. If several DReps fit, a smaller one helps spread the vote. The list starts with the DReps that voted and explained their vote most often; among equals, the smallest comes first.</p>
<p>BKIND is in this list on the same terms as every other DRep. BKIND is both a stake pool operator and a DRep.</p>
<p class="pools-meta" id="drepsMeta">Loading the list…</p>
<h3>How the list is made</h3>
<p>Every day, from the Cardano chain:</p>
<ul class="pools-rules">
<li>Every DRep that the Cardano node reports as registered and active is listed, except the DReps of the founding entities of Cardano (IOG, EMURGO, Cardano Foundation).</li>
<li><em>Voting power</em> is the ADA delegated to the DRep in the current epoch, and its share of all ADA that votes.</li>
<li><em>Voted</em> counts the governance actions open for voting in the last six months that the DRep voted on, out of all it could vote on: for a DRep that registered later, only the actions submitted since it registered, plus any older action it did vote on.</li>
<li><em>Explained</em> counts the actions on which the DRep voted with a rationale anyone can read, out of all it could vote on: the link works, the content matches the hash on the chain, and it holds text. A dead link, a wrong hash or an empty document does not count. The list is ordered by this share, then by the share voted, then from small to large.</li>
<li>The name is the DRep's own registered metadata, shown only when it matches the hash recorded on the chain; otherwise the DRep shows with its ID.</li>
<li>A name is chosen by the DRep itself. It is not proof of who is behind it: the DRep ID is what you delegate to.</li>
<li>Under the name, the list shows the governance roles the DRep declares in its registered metadata, in the way the proposed CIP Disclosure of Governance Roles reads them: a stake pool the DRep says is its own, a seat on the Constitutional Committee, and whether the pool declares the DRep in return (reciprocal). The Cardano Constitution asks anyone who holds several governance roles to disclose this. Only a declaration counts. A shared name or website, a delegation or a vote is not a declaration and is not shown as one. No roles declared means that none is declared, not that there is no overlap. Metadata that cannot be read leaves the roles unknown.</li>
</ul>
<p>DReps of the founding entities are left out on purpose. Cardano's own roadmap describes the goal of its governance as a network that is “no longer under IOHK's management”, with its future “in the hands of the community”. This list follows that direction: it is meant to spread the vote over independent voices. The founding entities are free to vote as DReps, and their voting power still counts in the figures above. They are recognized by DRep ID, so a DRep that changes its name stays off the list.</p>
<h3>The DReps</h3>
<p class="pools-note">Click a heading to sort. Click a name to open the DRep on Cardanoscan in a new window: there you can see how the DRep voted and why, and check whether that matches your own views. Click Delegate to give your vote to the DRep with your wallet. The window that opens also shows the full DRep ID, which you can use if you prefer to choose the DRep from within your wallet.</p>
<div class="pools-tools">
<input type="search" id="drepsFilter" placeholder="Search name or DRep ID" aria-label="Search name or DRep ID">
</div>
<div class="pools-scroll">
<table class="pools-table dreps-table">
<thead>
<tr>
<th data-key="label">DRep</th>
<th data-key="voting_power_ada" class="num">Voting power (ADA)</th>
<th data-key="share" class="num">Share</th>
<th data-key="delegators" class="num">Delegators</th>
<th data-key="voted_ratio" class="num">Voted</th>
<th data-key="rank" class="num">Explained</th>
<th data-key="last_vote" class="num">Last vote</th>
<th class="pools-nosort"><span class="visually-hidden">Delegate</span></th>
</tr>
</thead>
<tbody id="drepsRows"></tbody>
</table>
</div>
</div>
</div>
</div>
<div id="aboutModal" class="modal-overlay" hidden>
<div class="modal modal-about" role="dialog" aria-modal="true" aria-labelledby="aboutTitle" aria-describedby="aboutBody">
<div class="about-header">
<h2 id="aboutTitle" class="modal-title">About</h2>
<button id="aboutClose" class="modal-close" aria-label="Close">×</button>
</div>
<div id="aboutBody" class="modal-body about-body">
<p>Smit Blockchain Operations runs BKIND, a Cardano stake pool that has produced blocks since July 2020. Our goal has not changed since day one: a dependable, transparent pool that strengthens Cardano's decentralization and that delegators can trust with their stake.</p>
<p>We take part in on-chain governance in two capacities, as the operator of stake pool BKIND (<a href="https://cardanoscan.io/pool/pool1m83drqwlugdt9jn7jkz8hx3pne53acfkd539d9cj8yr92dr4k9y" target="_blank" rel="noopener noreferrer"><code class="chain-id">pool1m83drqwlugdt9jn7jkz8hx3pne53acfkd539d9cj8yr92dr4k9y</code></a>) and as a registered DRep (<a href="https://cardanoscan.io/drep/drep1ytc6867ae0xmkekvmex79r9akyy28eu8nu03jf3xu9fle6c82l4eq?tab=meta" target="_blank" rel="noopener noreferrer"><code class="chain-id">drep1ytc6867ae0xmkekvmex79r9akyy28eu8nu03jf3xu9fle6c82l4eq</code></a>). Both are operated by the same person, as Article II, Section 3 of the Cardano Constitution asks us to disclose, and we publish the reasoning behind every vote we cast.</p>
<p>Security runs through everything we do. We build and open-source air-gapped tools for stake pool operators, DReps and wallet holders, so the safety of your keys never depends on software you are forced to trust blindly.</p>
<p>We also audit the Cardano ledger directly, with our own tooling written in Haskell. With it we do hands-on on-chain forensics: we trace how value really moves and check claims against what the ledger itself records, so a genuine problem can be told apart from a false alarm.</p>
<p>One idea ties it together: decentralize and harmonize. Blockchain is at its best when it helps people rely on one another instead of on a handful of gatekeepers.</p>
</div>
</div>
</div>
<div id="contactModal" class="modal-overlay" hidden>
<div class="modal modal-contact" role="dialog" aria-modal="true" aria-labelledby="contactTitle" aria-describedby="contactBody">
<button id="contactClose" class="modal-close" aria-label="Close">×</button>
<h2 id="contactTitle" class="modal-title">Contact</h2>
<div id="contactBody" class="modal-body">
<p>For questions or requests, feel free to contact us:</p>
<a id="contactEmail" class="contact-email" href="mailto:developmentbkind@gmail.com">developmentbkind@gmail.com</a>
</div>
</div>
</div>
<script src="vendor/blake2b.js"></script>
<script type="module" src="delegate.js"></script>
<script type="module" src="app.js"></script>
<script type="module" src="votes.js"></script>
<script type="module" src="pools.js"></script>
<script type="module" src="dreps.js"></script>
</body>
</html>