|
1 | 1 | <svelte:head> |
2 | 2 | <title>Mr. Haven — Non-Custodial USDC Time Vault on Base L2 | Sovren Software</title> |
3 | | - <meta name="description" content="Programmable non-custodial USDC vault on Base L2. Set time-based schedules, inactivity triggers, and beneficiary designations. No intermediary. Live on mainnet." /> |
4 | | - <meta property="og:title" content="Mr. Haven — Non-Custodial USDC Time Vault on Base L2" /> |
5 | | - <meta property="og:description" content="Programmable asset control for humans and autonomous agents. Your keys, your conditions, your beneficiaries. Smart contract only." /> |
| 3 | + <meta name="description" content="Programmable non-custodial USDC vault on Base L2. Set conditions, name beneficiaries, designate autonomous agents. No custodian. No intermediary. Live on mainnet." /> |
| 4 | + <meta property="og:title" content="Mr. Haven — Your Assets. Your Rules." /> |
| 5 | + <meta property="og:description" content="Programmable asset control for humans and autonomous agents. Your keys, your conditions, your beneficiaries. Smart contract only. SDK coming soon." /> |
6 | 6 | <meta property="og:url" content="https://sovren.software/mrhaven" /> |
7 | 7 | </svelte:head> |
8 | 8 |
|
9 | 9 | <script> |
10 | | -
|
11 | | - const steps = [ |
12 | | - { n: '01', label: 'DEPOSIT', desc: 'Lock USDC into a smart contract. Set a time-based schedule or an inactivity threshold.' }, |
13 | | - { n: '02', label: 'DESIGNATE', desc: 'Name your beneficiaries and their share. Conditions are encoded in contract logic — not held by a custodian.' }, |
14 | | - { n: '03', label: 'RELEASE', desc: 'When conditions are met, funds transfer automatically on-chain. No intermediary. No approval required.' }, |
15 | | - ] |
16 | | -
|
17 | | - const features = [ |
| 10 | + const pillars = [ |
18 | 11 | { |
19 | | - label: 'TIME VAULT', |
20 | | - desc: 'Lock USDC for any duration. Set exact unlock timestamps or recurring release schedules. The contract enforces the rules — no humans in the loop.', |
| 12 | + num: '01', |
| 13 | + label: 'LOCK IT. SET THE RULES.', |
| 14 | + desc: 'Deposit USDC into a smart contract. Set a time-based schedule, an unlock date, or a recurring release. The contract enforces the rules — no humans in the loop, no approval required.', |
21 | 15 | }, |
22 | 16 | { |
23 | | - label: 'INACTIVITY TRIGGER', |
24 | | - desc: 'Set a threshold: if you go offline for X days, funds transfer. An on-chain dead man\'s switch for the assets that matter most.', |
| 17 | + num: '02', |
| 18 | + label: 'IF YOU GO DARK, IT STILL EXECUTES.', |
| 19 | + desc: 'Set an inactivity threshold: if you go offline for X days, funds transfer automatically. An on-chain dead man\'s switch for the assets that matter most.', |
25 | 20 | }, |
26 | 21 | { |
27 | | - label: 'BENEFICIARY DESIGNATIONS', |
28 | | - desc: 'Designate multiple beneficiaries with percentage splits. Update designations anytime while funds are locked. Remove or replace beneficiaries until conditions are met.', |
| 22 | + num: '03', |
| 23 | + label: 'BUILT FOR AGENTS, NOT JUST HUMANS.', |
| 24 | + desc: 'Autonomous agents can hold funds, trigger transfers, and execute plans with the same non-custodial guarantees as any human user. No API key. No service account. The contract enforces the rules regardless of who calls it.', |
29 | 25 | }, |
30 | 26 | { |
31 | | - label: 'AUTONOMOUS AGENTS', |
32 | | - desc: 'Designed for both human and autonomous principals. AI agents can hold funds, trigger transfers, and execute plans with the same non-custodial guarantees as any human user. No API key. No service account. No trust required — the contract enforces the rules regardless of who calls it.', |
| 27 | + num: '04', |
| 28 | + label: 'SDK — COMING SOON.', |
| 29 | + desc: 'A developer SDK for integrating MrHaven vaults directly into applications and autonomous agent workflows. Programmatic vault creation, condition setting, and beneficiary management without touching the UI.', |
33 | 30 | }, |
34 | 31 | ] |
35 | 32 | </script> |
|
40 | 37 | <span class="category">03 / FINANCE</span> |
41 | 38 | <h1>MR.<br />HAVEN.</h1> |
42 | 39 | <p class="status">Live on Base L2</p> |
43 | | - <p class="tagline">Non-custodial USDC time vault on Base L2. Programmable asset control for humans and autonomous agents — no custodian, no intermediary, no exceptions.</p> |
| 40 | + <p class="tagline">Programmable asset control for humans and autonomous agents. No custodian, no intermediary, no exceptions.</p> |
44 | 41 | </div> |
45 | 42 | </section> |
46 | 43 |
|
47 | 44 | <section class="overview"> |
48 | 45 | <div class="overview-inner"> |
49 | 46 | <div class="overview-text"> |
50 | | - <p>Traditional financial institutions hold your assets on your behalf. They decide when you can access them, who can receive them, and under what conditions. MrHaven removes them from the equation entirely.</p> |
51 | | - <p>Deployed on Base L2, MrHaven is a set of auditable smart contracts. Deposit USDC, define conditions, name beneficiaries — or designate autonomous agents as authorized recipients. The contract handles execution — autonomously, verifiably, permanently.</p> |
52 | | - <p>This matters for AI agents as much as for humans. Autonomous agents that manage capital need programmable infrastructure with no human approval bottleneck in the execution path. MrHaven is designed from the start for both human and autonomous principals — the protocol doesn't distinguish between who holds the keys.</p> |
| 47 | + <p class="overview-lead">Your assets. Your rules. No one else in the room.</p> |
| 48 | + <p class="overview-body">Traditional financial institutions hold your assets on your behalf. They decide when you can access them, who can receive them, and under what conditions. MrHaven removes them from the equation entirely.</p> |
| 49 | + <p class="overview-body">Deployed on Base L2, MrHaven is a set of auditable smart contracts. Deposit USDC, define conditions, name beneficiaries — or designate autonomous agents as authorized recipients. The contract handles execution: autonomously, verifiably, permanently.</p> |
| 50 | + <p class="overview-stack">Integrates with Augmentum OS as part of the Sovren Stack — programmable finance at the OS level.</p> |
53 | 51 | </div> |
54 | 52 | <div class="overview-specs"> |
55 | 53 | <div class="spec-row"> |
|
68 | 66 | <span class="spec-label">CONTRACT</span> |
69 | 67 | <span class="spec-value">Auditable · Open</span> |
70 | 68 | </div> |
| 69 | + <div class="spec-row"> |
| 70 | + <span class="spec-label">SDK</span> |
| 71 | + <span class="spec-value spec-soon">Coming soon</span> |
| 72 | + </div> |
71 | 73 | <div class="spec-row"> |
72 | 74 | <span class="spec-label">STATUS</span> |
73 | | - <span class="spec-value spec-live">Live · Mainnet</span> |
| 75 | + <span class="spec-value">Live · Mainnet</span> |
74 | 76 | </div> |
75 | 77 | </div> |
76 | 78 | </div> |
77 | 79 | </section> |
78 | 80 |
|
79 | | - <section class="how-it-works"> |
80 | | - <div class="how-inner"> |
| 81 | + <section class="pillars"> |
| 82 | + <div class="pillars-inner"> |
81 | 83 | <span class="section-label">HOW IT WORKS</span> |
82 | | - <div class="steps"> |
83 | | - {#each steps as s} |
84 | | - <div class="step"> |
85 | | - <span class="step-n">{s.n}</span> |
86 | | - <div class="step-body"> |
87 | | - <span class="step-label">{s.label}</span> |
88 | | - <p class="step-desc">{s.desc}</p> |
| 84 | + <div class="pillar-rows"> |
| 85 | + {#each pillars as p} |
| 86 | + <div class="pillar-row"> |
| 87 | + <div class="pillar-left"> |
| 88 | + <span class="pillar-num">{p.num}</span> |
| 89 | + <h3 class="pillar-title">{p.label}</h3> |
89 | 90 | </div> |
90 | | - </div> |
91 | | - {/each} |
92 | | - </div> |
93 | | - </div> |
94 | | - </section> |
95 | | - |
96 | | - <section class="features"> |
97 | | - <div class="features-inner"> |
98 | | - <span class="section-label">CAPABILITIES</span> |
99 | | - <div class="feature-grid"> |
100 | | - {#each features as f} |
101 | | - <div class="feature-card"> |
102 | | - <span class="feature-label">{f.label}</span> |
103 | | - <p class="feature-desc">{f.desc}</p> |
| 91 | + <p class="pillar-desc">{p.desc}</p> |
104 | 92 | </div> |
105 | 93 | {/each} |
106 | 94 | </div> |
|
119 | 107 | </main> |
120 | 108 |
|
121 | 109 | <style> |
| 110 | + /* ── Hero ── */ |
122 | 111 | .hero { |
123 | 112 | min-height: calc(100vh - 60px); |
124 | 113 | display: flex; |
|
166 | 155 | letter-spacing: 0.02em; |
167 | 156 | } |
168 | 157 |
|
169 | | - /* Overview */ |
| 158 | + /* ── Overview ── */ |
170 | 159 | .overview { |
171 | 160 | background: #ffffff; |
172 | 161 | color: #000; |
|
186 | 175 | .overview-text { |
187 | 176 | display: flex; |
188 | 177 | flex-direction: column; |
189 | | - gap: 1.5rem; |
| 178 | + gap: 1.75rem; |
| 179 | + } |
| 180 | +
|
| 181 | + .overview-lead { |
| 182 | + font-size: clamp(1.3rem, 2.5vw, 1.7rem); |
| 183 | + font-weight: 700; |
| 184 | + letter-spacing: 0.04em; |
| 185 | + line-height: 1.2; |
| 186 | + color: #000; |
190 | 187 | } |
191 | 188 |
|
192 | | - .overview-text p { |
| 189 | + .overview-body { |
193 | 190 | font-size: 0.9rem; |
194 | | - line-height: 1.8; |
| 191 | + line-height: 1.85; |
195 | 192 | color: #333; |
196 | 193 | letter-spacing: 0.02em; |
197 | 194 | } |
198 | 195 |
|
| 196 | + .overview-stack { |
| 197 | + font-size: 0.75rem; |
| 198 | + line-height: 1.7; |
| 199 | + color: #999; |
| 200 | + letter-spacing: 0.04em; |
| 201 | + padding-top: 0.25rem; |
| 202 | + border-top: 1px solid #e5e5e5; |
| 203 | + } |
| 204 | +
|
199 | 205 | .overview-specs { |
200 | 206 | display: flex; |
201 | 207 | flex-direction: column; |
|
224 | 230 | text-align: right; |
225 | 231 | } |
226 | 232 |
|
227 | | - .spec-live { |
228 | | - color: #111; |
| 233 | + .spec-soon { |
| 234 | + color: #888; |
229 | 235 | } |
230 | 236 |
|
231 | | - /* How it works */ |
232 | | - .how-it-works { |
233 | | - background: #fff; |
234 | | - color: #000; |
| 237 | + /* ── Pillars ── */ |
| 238 | + .pillars { |
235 | 239 | padding: 6rem 2.5rem; |
236 | | - border-top: 1px solid #e5e5e5; |
237 | 240 | } |
238 | 241 |
|
239 | | - .how-inner { |
| 242 | + .pillars-inner { |
240 | 243 | max-width: var(--max-w); |
241 | 244 | margin: 0 auto; |
242 | 245 | } |
|
250 | 253 | text-transform: uppercase; |
251 | 254 | } |
252 | 255 |
|
253 | | - .steps { |
254 | | - display: flex; |
255 | | - flex-direction: column; |
256 | | - border: 1px solid #e5e5e5; |
257 | | - } |
258 | | -
|
259 | | - .step { |
260 | | - display: flex; |
261 | | - gap: 3rem; |
262 | | - padding: 2.5rem; |
263 | | - border-bottom: 1px solid #e5e5e5; |
264 | | - align-items: flex-start; |
265 | | - } |
266 | | -
|
267 | | - .step:last-child { |
268 | | - border-bottom: none; |
269 | | - } |
270 | | -
|
271 | | - .step-n { |
272 | | - font-size: 0.65rem; |
273 | | - letter-spacing: 0.18em; |
274 | | - color: #bbb; |
275 | | - flex-shrink: 0; |
276 | | - padding-top: 0.15rem; |
277 | | - } |
278 | | -
|
279 | | - .step-body { |
| 256 | + .pillar-rows { |
280 | 257 | display: flex; |
281 | 258 | flex-direction: column; |
282 | | - gap: 0.6rem; |
283 | | - } |
284 | | -
|
285 | | - .step-label { |
286 | | - font-size: 0.75rem; |
287 | | - font-weight: 700; |
288 | | - letter-spacing: 0.15em; |
289 | | - color: #111; |
290 | | - } |
291 | | -
|
292 | | - .step-desc { |
293 | | - font-size: 0.875rem; |
294 | | - color: #555; |
295 | | - line-height: 1.7; |
296 | | - letter-spacing: 0.02em; |
297 | | - } |
298 | | -
|
299 | | - /* Features */ |
300 | | - .features { |
301 | | - padding: 6rem 2.5rem; |
302 | 259 | border-top: 1px solid var(--border); |
303 | 260 | } |
304 | 261 |
|
305 | | - .features-inner { |
306 | | - max-width: var(--max-w); |
307 | | - margin: 0 auto; |
308 | | - } |
309 | | -
|
310 | | - .feature-grid { |
| 262 | + .pillar-row { |
311 | 263 | display: grid; |
312 | 264 | grid-template-columns: 1fr 1fr; |
313 | | - border: 1px solid var(--border); |
| 265 | + gap: 4rem; |
| 266 | + padding: 3rem 0; |
| 267 | + border-bottom: 1px solid var(--border); |
| 268 | + align-items: start; |
314 | 269 | } |
315 | 270 |
|
316 | | - .feature-card { |
317 | | - padding: 2.5rem; |
318 | | - border-right: 1px solid var(--border); |
319 | | - border-bottom: 1px solid var(--border); |
| 271 | + .pillar-left { |
320 | 272 | display: flex; |
321 | 273 | flex-direction: column; |
322 | | - gap: 1rem; |
| 274 | + gap: 0.75rem; |
323 | 275 | } |
324 | 276 |
|
325 | | - .feature-card:nth-child(2n) { |
326 | | - border-right: none; |
327 | | - } |
328 | | -
|
329 | | - .feature-card:nth-child(3), |
330 | | - .feature-card:nth-child(4) { |
331 | | - border-bottom: none; |
| 277 | + .pillar-num { |
| 278 | + font-size: 0.62rem; |
| 279 | + letter-spacing: 0.2em; |
| 280 | + color: var(--text-muted); |
332 | 281 | } |
333 | 282 |
|
334 | | - .feature-label { |
335 | | - font-size: 0.65rem; |
336 | | - letter-spacing: 0.18em; |
337 | | - color: var(--text-muted); |
| 283 | + .pillar-title { |
| 284 | + font-size: clamp(0.95rem, 1.5vw, 1.15rem); |
| 285 | + font-weight: 700; |
| 286 | + letter-spacing: 0.1em; |
| 287 | + color: var(--text-primary); |
| 288 | + line-height: 1.3; |
338 | 289 | text-transform: uppercase; |
| 290 | + margin: 0; |
339 | 291 | } |
340 | 292 |
|
341 | | - .feature-desc { |
342 | | - font-size: 0.85rem; |
| 293 | + .pillar-desc { |
| 294 | + font-size: 0.875rem; |
343 | 295 | color: var(--text-secondary); |
344 | | - line-height: 1.75; |
| 296 | + line-height: 1.8; |
345 | 297 | letter-spacing: 0.02em; |
| 298 | + padding-top: 0.25rem; |
346 | 299 | } |
347 | 300 |
|
348 | | - /* CTA */ |
| 301 | + /* ── CTA ── */ |
349 | 302 | .cta { |
350 | 303 | background: #fff; |
351 | 304 | color: #000; |
|
394 | 347 | opacity: 0.75; |
395 | 348 | } |
396 | 349 |
|
397 | | - /* Responsive */ |
| 350 | + /* ── Responsive ── */ |
398 | 351 | @media (max-width: 768px) { |
399 | 352 | .hero { |
400 | 353 | padding: 3rem 1.5rem 4rem; |
|
409 | 362 | gap: 3rem; |
410 | 363 | } |
411 | 364 |
|
412 | | - .feature-grid { |
| 365 | + .pillar-row { |
413 | 366 | grid-template-columns: 1fr; |
414 | | - } |
415 | | -
|
416 | | - .feature-card { |
417 | | - border-right: none; |
418 | | - } |
419 | | -
|
420 | | - .feature-card:nth-child(3), |
421 | | - .feature-card:nth-child(4) { |
422 | | - border-bottom: 1px solid var(--border); |
423 | | - } |
424 | | -
|
425 | | - .feature-card:last-child { |
426 | | - border-bottom: none; |
427 | | - } |
428 | | -
|
429 | | - .step { |
430 | 367 | gap: 1.5rem; |
| 368 | + padding: 2rem 0; |
431 | 369 | } |
432 | 370 | } |
433 | 371 | </style> |
0 commit comments