-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
368 lines (364 loc) · 38.9 KB
/
index.html
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
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
<!DOCTYPE html>
<html lang="en" class="__variable_c9cbed __variable_aaf875">
<head>
<meta charSet="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="preload" href="/_next/static/media/92f44bb82993d879-s.p.woff2" as="font" crossorigin=""
type="font/woff2" />
<link rel="preload" href="/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2" as="font" crossorigin=""
type="font/woff2" />
<link rel="stylesheet" href="/_next/static/css/f4302f8d1fcb026d.css" crossorigin="" data-precedence="next" />
<link rel="stylesheet" href="/_next/static/css/b30489573339f853.css" crossorigin="" data-precedence="next" />
<link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8db866ab84cf53ff.js"
crossorigin="" />
<script src="/_next/static/chunks/fd9d1056-1877374a4beec023.js" async="" crossorigin=""></script>
<script src="/_next/static/chunks/2472-6acf8c6d1998d42c.js" async="" crossorigin=""></script>
<script src="/_next/static/chunks/main-app-eebb190fe9783553.js" async="" crossorigin=""></script>
<script src="/_next/static/chunks/4e88bc13-bafad0bf0e5a4303.js" async=""></script>
<script src="/_next/static/chunks/9134-511d294f337e2838.js" async=""></script>
<script src="/_next/static/chunks/4135-8f5fb15aa328e7c1.js" async=""></script>
<script src="/_next/static/chunks/app/layout-c0eae847aa0572fd.js" async=""></script>
<script src="/_next/static/chunks/0e5ce63c-38fcf23b6649e141.js" async=""></script>
<script src="/_next/static/chunks/2740-c7669ef8d6435e55.js" async=""></script>
<script src="/_next/static/chunks/1821-303ab33b0e874414.js" async=""></script>
<script src="/_next/static/chunks/app/page-bbf2682a8e1b24a7.js" async=""></script>
<title>XFT's Smart Wallet</title>
<link rel="icon" href="/favicon.ico">
<meta name="description"
content="Build Onchain Applications with XFT's Smart Wallet to utilize passkeys providing the best consumer onboarding experience in a few minutes." />
<script src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" crossorigin="" noModule=""></script>
</head>
<body>
<div data-rk="">
<style>
[data-rk] {
--rk-blurs-modalOverlay: blur(0px);
--rk-fonts-body: SFRounded, ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
--rk-radii-actionButton: 9999px;
--rk-radii-connectButton: 12px;
--rk-radii-menuButton: 12px;
--rk-radii-modal: 24px;
--rk-radii-modalMobile: 28px;
--rk-colors-accentColor: #0E76FD;
--rk-colors-accentColorForeground: #FFF;
--rk-colors-actionButtonBorder: rgba(0, 0, 0, 0.04);
--rk-colors-actionButtonBorderMobile: rgba(0, 0, 0, 0.06);
--rk-colors-actionButtonSecondaryBackground: rgba(0, 0, 0, 0.06);
--rk-colors-closeButton: rgba(60, 66, 66, 0.8);
--rk-colors-closeButtonBackground: rgba(0, 0, 0, 0.06);
--rk-colors-connectButtonBackground: #FFF;
--rk-colors-connectButtonBackgroundError: #FF494A;
--rk-colors-connectButtonInnerBackground: linear-gradient(0deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.06));
--rk-colors-connectButtonText: #25292E;
--rk-colors-connectButtonTextError: #FFF;
--rk-colors-connectionIndicator: #30E000;
--rk-colors-downloadBottomCardBackground: linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(171, 171, 171, 0.04) 71.04%), #FFFFFF;
--rk-colors-downloadTopCardBackground: linear-gradient(126deg, rgba(171, 171, 171, 0.2) 9.49%, rgba(255, 255, 255, 0) 71.04%), #FFFFFF;
--rk-colors-error: #FF494A;
--rk-colors-generalBorder: rgba(0, 0, 0, 0.06);
--rk-colors-generalBorderDim: rgba(0, 0, 0, 0.03);
--rk-colors-menuItemBackground: rgba(60, 66, 66, 0.1);
--rk-colors-modalBackdrop: rgba(0, 0, 0, 0.3);
--rk-colors-modalBackground: #FFF;
--rk-colors-modalBorder: transparent;
--rk-colors-modalText: #25292E;
--rk-colors-modalTextDim: rgba(60, 66, 66, 0.3);
--rk-colors-modalTextSecondary: rgba(60, 66, 66, 0.6);
--rk-colors-profileAction: #FFF;
--rk-colors-profileActionHover: rgba(255, 255, 255, 0.5);
--rk-colors-profileForeground: rgba(60, 66, 66, 0.06);
--rk-colors-selectedOptionBorder: rgba(60, 66, 66, 0.1);
--rk-colors-standby: #FFD641;
--rk-shadows-connectButton: 0px 4px 12px rgba(0, 0, 0, 0.1);
--rk-shadows-dialog: 0px 8px 32px rgba(0, 0, 0, 0.32);
--rk-shadows-profileDetailsAction: 0px 2px 6px rgba(37, 41, 46, 0.04);
--rk-shadows-selectedOption: 0px 2px 6px rgba(0, 0, 0, 0.24);
--rk-shadows-selectedWallet: 0px 2px 6px rgba(0, 0, 0, 0.12);
--rk-shadows-walletLogo: 0px 2px 16px rgba(0, 0, 0, 0.16);
}
@media(prefers-color-scheme:dark) {
[data-rk] {
--rk-colors-accentColor: #3898FF;
--rk-colors-actionButtonBorder: rgba(255, 255, 255, 0.04);
--rk-colors-actionButtonBorderMobile: rgba(255, 255, 255, 0.08);
--rk-colors-actionButtonSecondaryBackground: rgba(255, 255, 255, 0.08);
--rk-colors-closeButton: rgba(224, 232, 255, 0.6);
--rk-colors-closeButtonBackground: rgba(255, 255, 255, 0.08);
--rk-colors-connectButtonBackground: #1A1B1F;
--rk-colors-connectButtonInnerBackground: linear-gradient(0deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.15));
--rk-colors-connectButtonText: #FFF;
--rk-colors-downloadBottomCardBackground: linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(120, 120, 120, 0.2) 71.04%), #1A1B1F;
--rk-colors-downloadTopCardBackground: linear-gradient(126deg, rgba(120, 120, 120, 0.2) 9.49%, rgba(0, 0, 0, 0) 71.04%), #1A1B1F;
--rk-colors-generalBorder: rgba(255, 255, 255, 0.08);
--rk-colors-generalBorderDim: rgba(255, 255, 255, 0.04);
--rk-colors-menuItemBackground: rgba(224, 232, 255, 0.1);
--rk-colors-modalBackdrop: rgba(0, 0, 0, 0.5);
--rk-colors-modalBackground: #1A1B1F;
--rk-colors-modalBorder: rgba(255, 255, 255, 0.08);
--rk-colors-modalText: #FFF;
--rk-colors-modalTextDim: rgba(224, 232, 255, 0.3);
--rk-colors-modalTextSecondary: rgba(255, 255, 255, 0.6);
--rk-colors-profileAction: rgba(224, 232, 255, 0.1);
--rk-colors-profileActionHover: rgba(224, 232, 255, 0.2);
--rk-colors-profileForeground: rgba(224, 232, 255, 0.05);
--rk-colors-selectedOptionBorder: rgba(224, 232, 255, 0.1);
--rk-shadows-selectedWallet: 0px 2px 6px rgba(0, 0, 0, 0.24);
}
}
</style>
<div class="flex flex-col min-h-screen justify-between">
<header data-scroll-state="at-top" class="flex flex-col justify-center md:pt-8">
<div class="w-full p-6 text-left md:text-center md:hidden" style="background-color:#141519"><span
class="mr-2"
style="background:linear-gradient(90deg, #45E1E5 0%, #ABFF28 30%, #FFD200 66.5%, #FBCFFA 100%) text;-webkit-background-clip:text;-webkit-text-fill-color:transparent">XFT is
building a smart wallet. Become an early partner and help build a great onchain
experience.</span><a class="text-blue-500 no-underline" target="_blank"
href="https://x.com/amr_080">Learn
more</a></div>
<div class="container z-10">
<nav class="flex flex-col gap-6 pt-6 md:pt-0 md:pb-4">
<div class="flex flex-1 flex-grow items-center justify-between px-6 lg:px-0">
<div class="flex h-8 items-center justify-start gap-3"><a href="https://xft.framer.website/"></a><span class="text-sm text-gray-500 font-semibold">X Financial Technologies</span>
</div>
<div>
<div class="flex flex-grow" aria-hidden="true"
style="opacity:0;pointer-events:none;user-select:none;background-color:#B388F5">
<button type="button"
class="flex w-full items-center justify-center py-4 text-md font-semibold bg-white text-black rounded-full inline-flex h-10 flex-grow items-center justify-center gap-2 rounded-3xl bg-white px-4 py-2"
style="background-color:white;border-radius:6px">Connect</button></div>
</div>
</div>
<div class="h-[0.5px] w-full bg-gray-700 md:hidden"></div>
</nav>
</div>
<div class="w-full p-6 text-left md:text-center hidden w-full md:mt-4 md:block"
style="background-color:#141519"><span class="mr-2"
style="background:linear-gradient(90deg, #45E1E5 0%, #ABFF28 30%, #FFD200 66.5%, #FBCFFA 100%) text;-webkit-background-clip:text;-webkit-text-fill-color:transparent">XFT is
building a smart wallet. Become an early partner and help build a great onchain
experience.</span><a class="text-blue-500 no-underline" target="_blank"
href="https://x.com/amr_080">Learn
more</a></div>
</header>
<main>
<div class="flex flex-col md:flex-row justify-center items-center gap-4 md:gap-12 pb-12 md:pb-0 my-24">
<img alt="Smart Wallet Early Adopter" loading="lazy" width="0" height="0" decoding="async"
data-nimg="1" class="w-[85%] md:w-[550px] rounded-2xl" style="color:transparent" sizes="100vw"
srcSet="/_next/image?url=%2Fsmart_wallet.gif&w=640&q=75 640w, /_next/image?url=%2Fsmart_wallet.gif&w=750&q=75 750w, /_next/image?url=%2Fsmart_wallet.gif&w=828&q=75 828w, /_next/image?url=%2Fsmart_wallet.gif&w=1080&q=75 1080w, /_next/image?url=%2Fsmart_wallet.gif&w=1200&q=75 1200w, /_next/image?url=%2Fsmart_wallet.gif&w=1920&q=75 1920w, /_next/image?url=%2Fsmart_wallet.gif&w=2048&q=75 2048w, /_next/image?url=%2Fsmart_wallet.gif&w=3840&q=75 3840w"
src="/_next/image?url=%2Fsmart_wallet.gif&w=3840&q=75" />
<div class="flex flex-col items-center justify-start gap-3">
<h1 class="text-center font-bold lg:ml-0 lg:mr-auto lg:text-left px-4 md:px-0"
style="font-family:Helvetica Neue, sans-serif;font-size:28px">XFT's Smart Wallet
</h1>
<div class="lg:ml-0 lg:mr-auto lg:text-left text-lg" style="color:#8A919E"> <!-- -->0.00
ETH<!-- --> </div><button type="button"
class="flex w-full items-center justify-center py-4 text-md font-semibold bg-white text-black rounded-full lg:max-w-36 bg-white lg:ml-0 lg:mr-auto max-w-[160px] max-h-[40px] px-2 py-4"
style="background-color:white;border-radius:6px">Connect to Mint</button>
</div>
</div>
</main>
<div style="background-color:#141519" class="flex justify-center items-center flex-col">
<div class="w-full py-4 flex justify-center ">
<div id="faq" class="max-w-7xl w-full">
<h1 class="text-3xl mt-8 mx-12 xl:mx-0">Frequently asked questions</h1>
</div>
</div>
<div class="mx-12">
<div class="max-w-7xl w-full pb-12">
<div class="border-b border-gray-700">
<h2 class="text-2xl mt-16 mb-12">The basics</h2>
<dl>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">What is a smart wallet?<span
class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">A smart wallet is an onchain wallet built to
make it easier than ever for users to get started. It exists entirely in the
browser, no need to install extensions or apps. It uses passkeys for signing, no
seed phrases, no passwords, no third parties. You get one wallet for everywhere.
All major L2s, and every app you connect to, you'll get the same wallet,
with the same address.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">I already support other wallets, why
do I need this?<span class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Smart wallet support works the same way as any
other EVM wallet, it's just an easier experience for your user. You
don't need to write any custom code or call any special APIs for it. If
you're using the XFT SDK or any standard wallet connection toolkit,
you'll get support for smart wallets out of the box for free once it's
available on mainnet.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">What is “Spend with XFT”?<span
class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Spend with XFT allows smart wallet users
to spend funds directly from their connected XFT accounts without holding
funds in their wallet. This lets users get funds onchain in fewer steps, and
prevents them from getting hung up if they run out of gas or don't have
enough funds in their wallet to complete a transaction.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">Who's holding the keys?<span
class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Smart wallets are secured by passkeys stored
on the user's device. Passkeys are backed up with passkey providers such as
Apple, Chrome, or 1Password, or on hardware such as YubiKeys. Passkey signatures
are validated directly onchain via an <a
href="https://xft.framer.website/" target="_blank"
rel="noopener noreferrer" class="no-underline text-blue-500">open source and
audited smart contract</a>. XFT never holds keys and never has access
to user funds.</dd>
</div>
</dl>
</div>
<div class="border-b border-gray-700">
<h2 class="text-2xl mt-16 mb-12">Getting started</h2>
<dl>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">Can I integrate the smart wallet with
my dapp today?<span class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Yes! We are currently in our testnet developer
preview period. You can use <a
href="https://xft.framer.website/"
target="_blank" rel="noopener noreferrer"
class="no-underline text-blue-500">these docs</a> to start using our smart
wallet on testnets, with mainnet coming soon. If you already use RainbowKit,
Wagmi, or the XFT SDK, it's as simple as bumping the version number.
</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">What should I do to get ready for
smart wallets?<span class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Make sure your app is <a
href="https://eips.ethereum.org/EIPS/eip-6492" target="_blank"
rel="noopener noreferrer" class="no-underline text-blue-500">ERC-6492</a>
compliant to ensure that sign in works with smart wallets. If you're using
<a href="https://viem.sh/docs/actions/public/verifyMessage#verifymessage"
target="_blank" rel="noopener noreferrer"
class="no-underline text-blue-500">verifyMessage</a> from <a
href="https://viem.sh" target="_blank" rel="noopener noreferrer"
class="no-underline text-blue-500">viem</a> it already is.<br /><br />If
you're developing smart contracts, ensure that they are falling back to <a
href="https://eips.ethereum.org/EIPS/eip-1271" target="_blank"
rel="noopener noreferrer" class="no-underline text-blue-500">ERC-1271</a>
calls if normal signature validation fails. If you are using a standard
signature validation library it will likely handle this out of the box.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">How do I integrate?<span
class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">All you need to do is include the <a
href="https://xft.framer.website/"
target="_blank" rel="noopener noreferrer"
class="no-underline text-blue-500">Wallet SDK</a> and bump to version 4.0
when it is available. You can use the SDK directly, or include it alongside
other providers via Wagmi or Rainbowkit.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">How can I give my users the best
experience?<span class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Get users started faster with a top level
“Create Wallet” button. By directing new users without a wallet directly to the
smart wallet onboarding flow, you ensure that they have the smoothest path to
create a wallet that lands them right back in your app.<br /><br />Let users
spend funds directly from their XFT account by taking advantage of
MagicSpend. Allow users initiate transactions in their wallet, even if they
don't currently have enough ETH to pay. We'll handle the rest. If
you'd still like to prevent other wallets from transacting without funds,
you can gate the experience by checking window.ethereum.isXFTWallet.</dd>
</div>
</dl>
</div>
<div class="border-b border-gray-700">
<h2 class="text-2xl mt-16 mb-12">Passkeys</h2>
<dl>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">What is a passkey?<span
class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Passkeys are alternatives to passwords or
other encrypted methods like recovery phrases, that are extremely easy to create
and highly secure.<br /><br />They are end-to-end encrypted and linked to your
Google or iCloud account, chrome profile, or hardware device such as a
YubiKey.<br /><br />This means users no longer have to deal with passwords or
recovery phrases. Instead they can use common methods of authorization like
touch or faceID, and be more resistant to phishing attempts.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">Is that passkey a single point of
failure?<span class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Even though passkeys are great for ease of
use, it's still possible lose a hardware key or accidentally delete a
software key. The safest approach is to always have a backup method to access
your funds, just in case.<br /><br />Users who want an additional backup can
generate a plain text backup key and store it in a password manager, or even on
a physical paper. This backup key is a standard EOA account which is added as a
signer for the wallet. Users can generate and regenerate as many backups as they
want.</dd>
</div>
<div class="border-t border-gray-700 py-6 text-lg">
<dt class="flex justify-between items-center">What if I lose my Passkey?<span
class="text-2xl font-thin cursor-pointer">+</span></dt>
<dd style="color:#8A919E;max-height:0;margin-top:0;transition:max-height 200ms ease-in-out, margin-top 200ms ease-in-out"
class="text-base overflow-hidden">Your passkey and recovery wallet (if you set
one up) are the only methods to access your wallet. Without your passkey, no one
can recover the wallet for you. Please avoid bulk clean ups and deletions of
passkeys to avoid accidental deletion.</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
<footer class="flex flex-col">
<div class="flex flex-col mx-auto gap-8 py-12 md:flex-row lg:px-8">
<div class="flex gap-10 lg:gap-4 px-8 lg:w-1/2 bg">
<div class="flex flex-col lg:flex-row gap-4"><span>X Financial Technologies</span><a
class="font-robotoMono flex min-w-8 gap-2 px-0 text-center text-base font-normal text-white no-underline"
target="_blank" href="https://xft-docs.gitbook.io/xft-docs">Documentation</a></div>
<div class="flex flex-col lg:flex-row gap-4"><a
class="font-robotoMono flex min-w-8 gap-2 px-0 text-center text-base font-normal text-white no-underline"
target="_blank" href="https://x.com/amr_080"><svg
width="24" height="24" viewBox="0 0 15 15" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path
d="M7.49933 0.25C3.49635 0.25 0.25 3.49593 0.25 7.50024C0.25 10.703 2.32715 13.4206 5.2081 14.3797C5.57084 14.446 5.70302 14.2222 5.70302 14.0299C5.70302 13.8576 5.69679 13.4019 5.69323 12.797C3.67661 13.235 3.25112 11.825 3.25112 11.825C2.92132 10.9874 2.44599 10.7644 2.44599 10.7644C1.78773 10.3149 2.49584 10.3238 2.49584 10.3238C3.22353 10.375 3.60629 11.0711 3.60629 11.0711C4.25298 12.1788 5.30335 11.8588 5.71638 11.6732C5.78225 11.205 5.96962 10.8854 6.17658 10.7043C4.56675 10.5209 2.87415 9.89918 2.87415 7.12104C2.87415 6.32925 3.15677 5.68257 3.62053 5.17563C3.54576 4.99226 3.29697 4.25521 3.69174 3.25691C3.69174 3.25691 4.30015 3.06196 5.68522 3.99973C6.26337 3.83906 6.8838 3.75895 7.50022 3.75583C8.1162 3.75895 8.73619 3.83906 9.31523 3.99973C10.6994 3.06196 11.3069 3.25691 11.3069 3.25691C11.7026 4.25521 11.4538 4.99226 11.3795 5.17563C11.8441 5.68257 12.1245 6.32925 12.1245 7.12104C12.1245 9.9063 10.4292 10.5192 8.81452 10.6985C9.07444 10.9224 9.30633 11.3648 9.30633 12.0413C9.30633 13.0102 9.29742 13.7922 9.29742 14.0299C9.29742 14.2239 9.42828 14.4496 9.79591 14.3788C12.6746 13.4179 14.75 10.7025 14.75 7.50024C14.75 3.49593 11.5036 0.25 7.49933 0.25Z"
fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path>
</svg><span>X</span></a><a
class="font-robotoMono flex min-w-8 gap-2 px-0 text-center text-base font-normal text-white no-underline"
target="_blank" href="https://github.com/amr080"><svg width="24"
height="24" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M7.49933 0.25C3.49635 0.25 0.25 3.49593 0.25 7.50024C0.25 10.703 2.32715 13.4206 5.2081 14.3797C5.57084 14.446 5.70302 14.2222 5.70302 14.0299C5.70302 13.8576 5.69679 13.4019 5.69323 12.797C3.67661 13.235 3.25112 11.825 3.25112 11.825C2.92132 10.9874 2.44599 10.7644 2.44599 10.7644C1.78773 10.3149 2.49584 10.3238 2.49584 10.3238C3.22353 10.375 3.60629 11.0711 3.60629 11.0711C4.25298 12.1788 5.30335 11.8588 5.71638 11.6732C5.78225 11.205 5.96962 10.8854 6.17658 10.7043C4.56675 10.5209 2.87415 9.89918 2.87415 7.12104C2.87415 6.32925 3.15677 5.68257 3.62053 5.17563C3.54576 4.99226 3.29697 4.25521 3.69174 3.25691C3.69174 3.25691 4.30015 3.06196 5.68522 3.99973C6.26337 3.83906 6.8838 3.75895 7.50022 3.75583C8.1162 3.75895 8.73619 3.83906 9.31523 3.99973C10.6994 3.06196 11.3069 3.25691 11.3069 3.25691C11.7026 4.25521 11.4538 4.99226 11.3795 5.17563C11.8441 5.68257 12.1245 6.32925 12.1245 7.12104C12.1245 9.9063 10.4292 10.5192 8.81452 10.6985C9.07444 10.9224 9.30633 11.3648 9.30633 12.0413C9.30633 13.0102 9.29742 13.7922 9.29742 14.0299C9.29742 14.2239 9.42828 14.4496 9.79591 14.3788C12.6746 13.4179 14.75 10.7025 14.75 7.50024C14.75 3.49593 11.5036 0.25 7.49933 0.25Z"
fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path>
</svg>Github</a></div>
</div>
<div class="lg:mx-auto lg:w-1/2 flex basis-1/2 flex-col px-8 self-start">
<div style="color:#8A919E" class="mt-4">This app is a simple demo of XFT's new smart contract
wallet. Try it out today, and share feedback on X<!-- --> <a class="text-blue-500"
target="_blank"
href="https://x.com/amr_080">@amr_080</a>. </div>
</div>
</div>
</footer>
</div>
</div>
<script src="/_next/static/chunks/webpack-8db866ab84cf53ff.js" crossorigin="" async=""></script>
<script>(self.__next_f = self.__next_f || []).push([0]); self.__next_f.push([2, null])</script>
<script>self.__next_f.push([1, "1:HL[\"/_next/static/media/92f44bb82993d879-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/css/f4302f8d1fcb026d.css\",\"style\",{\"crossOrigin\":\"\"}]\n0:\"$L4\"\n"])</script>
<script>self.__next_f.push([1, "5:HL[\"/_next/static/css/b30489573339f853.css\",\"style\",{\"crossOrigin\":\"\"}]\n"])</script>
<script>self.__next_f.push([1, "6:I[33728,[],\"\"]\n8:I[29928,[],\"\"]\n9:I[33308,[\"9472\",\"static/chunks/4e88bc13-bafad0bf0e5a4303.js\",\"9134\",\"static/chunks/9134-511d294f337e2838.js\",\"4135\",\"static/chunks/4135-8f5fb15aa328e7c1.js\",\"3185\",\"static/chunks/app/layout-c0eae847aa0572fd.js\"],\"\"]\na:I[56954,[],\"\"]\nb:I[7264,[],\"\"]\nd:I[20736,[\"9472\",\"static/chunks/4e88bc13-bafad0bf0e5a4303.js\",\"8310\",\"static/chunks/0e5ce63c-38fcf23b6649e141.js\",\"9134\",\"static/chunks/9134-511d294f337e2838.js\",\"2740\",\"static/chunks/2740-c7669ef8d6435e55.js\",\"1821\",\"static/c"])</script>
<script>self.__next_f.push([1, "hunks/1821-303ab33b0e874414.js\",\"1931\",\"static/chunks/app/page-bbf2682a8e1b24a7.js\"],\"\"]\ne:I[34356,[\"9472\",\"static/chunks/4e88bc13-bafad0bf0e5a4303.js\",\"9134\",\"static/chunks/9134-511d294f337e2838.js\",\"4135\",\"static/chunks/4135-8f5fb15aa328e7c1.js\",\"3185\",\"static/chunks/app/layout-c0eae847aa0572fd.js\"],\"\"]\n"])</script>
<script>self.__next_f.push([1, "4:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f4302f8d1fcb026d.css\",\"precedence\":\"next\",\"crossOrigin\":\"\"}]],[\"$\",\"$L6\",null,{\"buildId\":\"GGbvLg9PCksF47RA_IoC7\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/\",\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialHead\":[false,\"$L7\"],\"globalErrorComponent\":\"$8\",\"children\":[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_c9cbed __variable_aaf875\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"property\":\"og:title\",\"content\":\"XFT Smart Wallet\"}],[\"$\",\"meta\",null,{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",null,{\"property\":\"og:url\",\"content\":\"https://xft-wallet.vercel.app/\"}],[\"$\",\"meta\",null,{\"property\":\"og:image\",\"content\":\"\"}],[\"$\",\"meta\",null,{\"property\":\"og:description\",\"content\":\"One wallet for everything onchain\"}],[\"$\",\"meta\",null,{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",null,{\"name\":\"twitter:title\",\"content\":\"XFT Smart Wallet\"}],[\"$\",\"meta\",null,{\"name\":\"twitter:site\",\"content\":\"@amr_080\"}],[\"$\",\"meta\",null,{\"name\":\"twitter:description\",\"content\":\"One wallet for everything onchain\"}],[\"$\",\"meta\",null,{\"name\":\"twitter:image\",\"content\":\"\"}],[\"$\",\"meta\",null,{\"name\":\"twitter:image:alt\",\"content\":\"Smart Wallet logo\"}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"childProp\":{\"current\":[\"$Lc\",[\"$\",\"$Ld\",null,{}],null],\"segment\":\"__PAGE__\"},\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b30489573339f853.css\",\"precedence\":\"next\",\"crossOrigin\":\"\"}]]}]}]}],[\"$\",\"$Le\",null,{}]]}],null]}]]\n"])</script>
<script>self.__next_f.push([1, "7:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"1\",{\"children\":\"XFT's Smart Wallet\"}],[\"$\",\"meta\",\"2\",{\"name\":\"description\",\"content\":\"Build Onchain Applications with Smart Wallet to utilize passkeys providing the best consumer onboarding experience in a few minutes.\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\"}],[\"$\",\"meta\",\"4\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"5\",{\"name\":\"boat\",\"content\":\"0.17.0\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:title\",\"content\":\"XFT's Smart Wallet\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:description\",\"content\":\"Build Onchain Applications with XFT's Smart Wallet to utilize passkeys providing the best consumer onboarding experience in a few minutes.\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:url\",\"content\":\"https://github.com/amr080\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://github.com/amr080\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:title\",\"content\":\"Smart Wallet Early Adopters\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:description\",\"content\":\"Build Onchain Applications with Smart Wallet to utilize passkeys providing the best consumer onboarding experience in a few minutes.\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:image\",\"content\":\"https://github.com/amr080\"}],[\"$\",\"meta\",\"14\",{\"name\":\"next-size-adjust\"}]]\n"])</script>
<script>self.__next_f.push([1, "c:null\n"])</script>
</body>
</html>