-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquickstart.html
More file actions
87 lines (81 loc) · 4.16 KB
/
Copy pathquickstart.html
File metadata and controls
87 lines (81 loc) · 4.16 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Quickstart — Observer Protocol</title>
<meta name="description" content="Start here: verify a credential, integrate a rail, or read the spec. Observer Protocol quickstart.">
<link rel="stylesheet" href="shared-styles.css">
<style>
.wrap { max-width: 780px; margin: 0 auto; padding: 3rem 1.5rem 5rem; }
.path { border: 1px solid var(--border); border-radius: 4px; padding: 1.25rem 1.4rem; margin: 1rem 0; }
.path h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
.path p { margin: 0 0 .75rem; color: var(--text-secondary); font-size: 13.5px; line-height: 1.7; }
.code-block { background: #111; border: 1px solid var(--border); border-radius: 4px; padding: .8rem 1rem; font-family: monospace; font-size: 12.5px; overflow-x: auto; margin: .6rem 0; white-space: pre; }
.dim { color: var(--text-secondary); }
.rails a { display: inline-block; margin: 0 .8rem .4rem 0; font-size: 13px; }
p.lead { line-height: 1.75; color: var(--text-secondary); font-size: 14px; }
code { background: #1a1a1a; padding: .1rem .35rem; border-radius: 3px; font-size: 12.5px; }
</style>
</head>
<body>
<div class="wrap">
<h1>Quickstart</h1>
<p class="lead">Three things people arrive wanting to do. Pick one.</p>
<div class="path">
<h2>1. Verify a credential someone gave you</h2>
<p data-shared-copy="offline-scope">
From npm. No API key, no token, no Observer Protocol API in the path. It fetches the
issuer's DID document and the revocation status list over ordinary HTTPS from the origins
the credential names; point <code>offline.didDocumentPath</code> at a local copy and it
makes no network call at all. The hosted verifier below is a <em>different build</em> of
the engine, not this code path; where the two disagree the published package is
authoritative.
</p>
<div class="code-block">npm install @observer-protocol/policy-engine</div>
<div class="code-block">import { verifyCredentialObject } from '@observer-protocol/policy-engine';
const verdict = await verifyCredentialObject(mandate, config, Date.now());</div>
<p>
Checks issuer, structure, validity window, the <code>eddsa-jcs-2022</code> proof against the
issuer's DID document, and revocation. Fails closed.
<a href="./sdk.html">Full details →</a>
</p>
</div>
<div class="path">
<h2>2. Integrate a rail</h2>
<p>One adapter per rail. Each enforces a signed delegation at the signer boundary.</p>
<div class="rails">
<a href="./quickstart-x402.html">x402</a>
<a href="./quickstart-lightning.html">Lightning</a>
<a href="./quickstart-tether.html">Tether WDK</a>
<a href="./quickstart-ows.html">Open Wallet Standard</a>
<a href="./quickstart-alby.html">Alby</a>
</div>
</div>
<div class="path">
<h2>3. Read the specification</h2>
<p>
The Agentic Identity Protocol drafts and the delegation schemas.
<br>
<a href="https://github.com/observer-protocol/aip">github.com/observer-protocol/aip</a>
·
<a href="/schemas/delegation/v2.6.json">delegation v2.6</a>
·
<a href="/.well-known/did.json">issuer DID document</a>
</p>
</div>
<p class="lead" style="margin-top:2.5rem;">
<span class="dim">
The <code>@observer-protocol/sdk</code> and <code>@observerprotocol/sdk</code> packages are
deprecated — use the adapters and the policy engine instead.
<br><br>
A hosted verifier is also open at
<a href="https://verify.observerprotocol.org/health"><code>verify.observerprotocol.org</code></a>
(<code>POST /v1/verify</code>, no token, rate limited), returning a signed verdict. Offline
<span data-shared-copy="offline-scope">verification above remains the primary path: it needs nothing from us and cannot be revoked.</span>
</span>
</p>
<p style="margin-top:2rem;"><a href="./docs.html">All documentation →</a></p>
</div>
</body>
</html>