Repository navigation
Expand file tree
/
Copy pathregistry.html
More file actions
88 lines (85 loc) · 3.69 KB
/
Copy pathregistry.html
File metadata and controls
88 lines (85 loc) · 3.69 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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>kinlock-registry · Kinlock docs</title>
<meta name="description" content="The public, hash-bound registry of Kinlock-verified payees." />
<link rel="icon" href="favicon.svg" type="image/svg+xml" />
<link rel="icon" href="favicon-32.png" sizes="32x32" type="image/png" />
<link rel="apple-touch-icon" href="apple-touch-icon.png" />
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<div class="banner">Testnet only. No real money moves here. <a href="https://kinlock-app.vercel.app">Try the live app</a></div>
<header class="site">
<a class="brand" href="index.html">Kinlock docs</a>
<button type="button" class="nav-toggle" aria-expanded="false" aria-controls="site-nav" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
<nav class="site" id="site-nav">
<a href="index.html">Overview</a>
<a href="contracts.html">Contracts</a>
<a href="sdk.html">SDK</a>
<a href="app.html">App</a>
<a href="registry.html" aria-current="page">Registry</a>
<a href="https://github.com/Kinlock-Org">GitHub ↗</a>
</nav>
</header>
<main>
<section class="hero">
<h1>kinlock-registry</h1>
<p class="lede">
Data, not code. One public JSON file per verified payee, schema-validated, bound to the
on-chain record by a hash so the registry can't quietly drift from what the contract says.
</p>
<div class="cta-row">
<a class="btn primary" href="https://github.com/Kinlock-Org/kinlock-registry">View on GitHub</a>
<a class="btn ghost" href="https://github.com/Kinlock-Org/kinlock-registry/blob/main/ROADMAP.md">Roadmap</a>
</div>
</section>
<section>
<h2>Payee fields (public only)</h2>
<p>
<code>payees/<country>/*.json</code>, validated against
<code>schemas/payee.schema.json</code>:
</p>
<ul class="api-list">
<li><code>slug</code></li>
<li><code>display_name</code></li>
<li><code>category</code> (School or Rent)</li>
<li><code>country</code> (ISO 3166-1 alpha-2)</li>
<li><code>local_currency</code> (ISO 4217)</li>
<li><code>city</code></li>
<li><code>payout_address</code></li>
<li><code>attester</code></li>
<li><code>verified_at</code></li>
</ul>
<p>No personal data, no identity documents, no phone numbers, no evidence. If it isn't on this list, it doesn't go in the registry.</p>
</section>
<section>
<h2>What CI enforces</h2>
<ul>
<li>A payee's <code>country</code> must be in <code>supported-countries.json</code>.</li>
<li>Its <code>attester</code> must be authorized for that country in <code>attesters/<handle>.json</code>.</li>
<li>Its directory must match its declared country.</li>
<li>Its <code>slug</code> must be globally unique.</li>
<li><code>meta_hash</code> (SHA-256 of sorted-key compact JSON) must match the on-chain record, checked on a schedule against the deployed contract.</li>
</ul>
</section>
<section>
<h2>Who adds a payee</h2>
<p>
Never the registry maintainers acting alone, and never an agent on its own initiative.
Payee additions come from a named attester, through a reviewed pull request, after the
attester completes an onboarding checklist (trustline, XLM float, a real test release).
</p>
</section>
</main>
<footer class="site">
<span>Kinlock is testnet-only, unaudited software. Don't rely on it for anything real yet.</span>
<span><a href="https://github.com/Kinlock-Org/Kinlock-Org.github.io">Source for this site</a></span>
</footer>
<script src="nav.js" defer></script>
</body>
</html>