PageSourceSearch

https://tatum-staging-be5f9165203262a0315c5a836.webflow.io/

html tatum-staging-be5f9165203262a0315c5a836.webflow.io collected 2026-10-03 13:51:11 UTC 130,567 bytes, 2,190 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Mon Sep 07 2026 10:58:35 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="tatum-staging-be5f9165203262a0315c5a836.webflow.io" data-wf-page="6775511eea836401efb94fc6" data-wf-site="6541395f64fcf968b48ee20f" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Tatum Ecosystem - Find Best-in-Class Blockchain Solutions Fast</title><meta content="Easily find all necessary tools to build your Web3 application or submit your own application to the Easyblox partner ecosystem to reach thousands of developers looking for tools like yours." name="description"/><meta content="Tatum Ecosystem - Find Best-in-Class Blockchain Solutions Fast" property="og:title"/><meta content="Easily find all necessary tools to build your Web3 application or submit your own application to the Easyblox partner ecosystem to reach thousands of developers looking for tools like yours." property="og:description"/><meta content="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/68acccb3aa69102bc5e89a0a_Tatum%20Ecosystem.png" property="og:image"/><meta content="Tatum Ecosystem - Find Best-in-Class Blockchain Solutions Fast" name="twitter:title"/><meta content="Easily find all necessary tools to build your Web3 application or submit your own application to the Easyblox partner ecosystem to reach thousands of developers looking for tools like yours." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/68acccb3aa69102bc5e89a0a_Tatum%20Ecosystem.png" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="kZHIimsuD4IewWY8gaxrHUD7kfrtEIsORDhJQzig9Wc" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/css/tatum-staging-be5f9165203262a0315c5a836.shared.9fe0ab035.min.css" rel="stylesheet" type="text/css" integrity="sha384-n+CrA1X1nsAS8cYtcnPnzDaVrQAGEKESX2RYU34yog9/r0z0kTFRs1xTWz/xi8RX" crossorigin="anonymous"/><link href="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/css/tatum-staging-be5f9165203262a0315c5a836.6775511eea836401efb94fc6.57bf2f09c.opt.min.css" rel="stylesheet" type="text/css" integrity="sha384-V78vCcrY1Yw90oCsJByrfVWVOmDFXXSVX8ETb0p3TrSIZd5zRLYUFEIIlcSF3QhP" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({  google: {    families: ["Inconsolata:400,700","Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Poppins:300,400,500,600,700"]  }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/67c4c36995901a1d7433ee86_Easyblox%20Favicon.svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/67c4bfd17eb5317535751ff1_Webclip.svg" rel="apple-touch-icon"/><link href="https://ecosystem.tatum.io" rel="canonical"/><!-- Performance optimizations -->
2<link rel="dns-prefetch" href="https://cdn.prod.website-files.com">
3<link rel="preconnect" href="https://cdn.prod.website-files.com" crossorigin>
4
5<!-- Google Tag Manager -->
6<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
7new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
8j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
9'https://data.tatum.io/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
10})(window,document,'script','dataLayer','GTM-MCDBPXRS');</script>
10
11<!-- End Google Tag Manager -->
12
13<style>
14.ch2-icon-compact {
15  bottom: 50px !important;
16}
17</style>
18
19<meta property="og:site_name" content="Tatum Ecosystem" />
20<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/sygnaltech/[email protected]/dist/css/webflow-html.css">
21
22<!-- [Attributes by Finsweet] Copy to clipboard -->
23<script defer src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-copyclip@1/copyclip.js"></script>
23
24<!-- [Attributes by Finsweet] CMS Combine -->
25<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmscombine@1/cmscombine.js"></script>
25
26<!-- [Attributes by Finsweet] CMS Nest -->
27<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsnest@1/cmsnest.js"></script>
27
28<!-- [Attributes by Finsweet] CMS Static -->
29<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsstatic@1/cmsstatic.js"></script>
29
30<!-- [Attributes by Finsweet] CMS Filter -->
31<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsfilter@1/cmsfilter.js"></script>
31
32<!-- [Attributes by Finsweet] CMS Load -->
33<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsload@1/cmsload.js"></script>
33
34
35<style>
36  .multi-ref-target a {
37  border-bottom: none;
38}     
39</style></head><body class="body ecosystem-home"><div class="page-wrap ecosystem-home"><div data-collapse="medium" data-animation="default" data-duration="400" data-w-id="07340897-bbfb-fdfb-8d4d-63fe5b863c2c" data-easing="ease" data-easing2="ease" role="banner" class="navbar is-recs-nav w-nav"><div class="navbar-wrapper"><div class="padding-global"><nav role="navigation" class="menu is-recs w-nav-menu"><div class="menu-left is-new"><a href="/" aria-current="page" class="brand-2 w-nav-brand w--current"><img width="139" loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/68a328f441c334b16394eb30_Ecosystem.svg" class="brand-img is-recs"/></a></div><div class="menu-right is-new"><a href="https://www.easyblox.io/" class="dropdown-toggle-5 is-recs-nav w-nav-link">Solutions</a><a href="/developers" class="dropdown-toggle-5 is-recs-nav w-nav-link">Developers</a><a href="https://www.easyblox.io/#about" class="dropdown-toggle-3 is-recs-nav w-nav-link">About</a><a href="https://www.easyblox.io/#FAQ" class="dropdown-toggle-3 is-recs-nav w-nav-link">FAQ</a><a href="/become-a-partner" class="nav-button is-purple is-rec-cta w-button">Become a Partner</a><div class="dropdown-toggle-3 line"></div><div class="dropdown-toggle-3 line"></div></div></nav><div class="container"><a href="/old-home" class="brand-2 responsive w-nav-brand"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/68a328f441c334b16394eb30_Ecosystem.svg" alt="" class="tatum-logo"/></a><div class="dropdown-footer-wrapper tablet"><div class="container-3"></div></div><div class="menu-button w-nav-button"><div class="menu-button-line top"></div><div class="menu-button-line middle"></div><div class="menu-button-line last"></div></div></div></div></div><div class="svg-defs-01 hidden w-embed"><!-- SVG definitions. We are using 3 different embeds due to the 10000 character limit -->
40<svg>
41	<defs>
42  	<path id="caret" d="M28 12.5l-2.5-2.5-8.914 8.914-9.086-8.914-2.5 2.5 11.5 11.5z"></path>
43  	<path id="globe" d="M9.5,0 C4.275,0 0,4.275 0,9.5 C0,14.725 4.275,19 9.5,19 C14.725,19 19,14.725 19,9.5 C19,4.275 14.725,0 9.5,0 Z M16.98125,5.9375 L13.359375,5.9375 C13.0625,4.096875 12.528125,2.553125 11.815625,1.54375 C14.13125,2.196875 15.971875,3.8 16.98125,5.9375 Z M12.46875,9.5 C12.46875,10.33125 12.409375,11.103125 12.35,11.875 L6.65,11.875 C6.590625,11.103125 6.53125,10.33125 6.53125,9.5 C6.53125,8.66875 6.590625,7.896875 6.65,7.125 L12.35,7.125 C12.409375,7.896875 12.46875,8.66875 12.46875,9.5 Z M9.5,17.8125 C8.490625,17.8125 7.3625,15.971875 6.828125,13.0625 L12.171875,13.0625 C11.6375,15.971875 10.509375,17.8125 9.5,17.8125 Z M6.828125,5.9375 C7.3625,3.028125 8.490625,1.1875 9.5,1.1875 C10.509375,1.1875 11.6375,3.028125 12.171875,5.9375 L6.828125,5.9375 Z M7.184375,1.54375 C6.471875,2.553125 5.9375,4.096875 5.640625,5.9375 L2.01875,5.9375 C3.028125,3.8 4.86875,2.196875 7.184375,1.54375 Z M1.54375,7.125 L5.4625,7.125 C5.403125,7.896875 5.34375,8.66875 5.34375,9.5 C5.34375,10.33125 5.403125,11.103125 5.4625,11.875 L1.54375,11.875 C1.30625,11.103125 1.1875,10.33125 1.1875,9.5 C1.1875,8.66875 1.30625,7.896875 1.54375,7.125 Z M2.01875,13.0625 L5.640625,13.0625 C5.9375,14.903125 6.471875,16.446875 7.184375,17.45625 C4.86875,16.803125 3.028125,15.2 2.01875,13.0625 Z M11.815625,17.45625 C12.528125,16.3875 13.0625,14.903125 13.359375,13.0625 L16.98125,13.0625 C15.971875,15.2 14.13125,16.803125 11.815625,17.45625 Z M17.45625,11.875 L13.5375,11.875 C13.596875,11.103125 13.65625,10.33125 13.65625,9.5 C13.65625,8.66875 13.596875,7.896875 13.5375,7.125 L17.45625,7.125 C17.69375,7.896875 17.8125,8.66875 17.8125,9.5 C17.8125,10.33125 17.69375,11.103125 17.45625,11.875 Z"></path>
44  	<path id="envelope" d="m15.4375 2.375h-11.875c-1.959375 0-3.5625 1.603125-3.5625 3.5625v7.125c0 1.959375 1.603125 3.5625 3.5625 3.5625h11.875c1.959375 0 3.5625-1.603125 3.5625-3.5625v-7.125c0-1.959375-1.603125-3.5625-3.5625-3.5625zm0 1.1875c.415625 0 .83125.11875 1.1875.35625l-6.709375 6.709375c-.2375.2375-.59375.2375-.83125 0l-6.709375-6.709375c.35625-.2375.771875-.35625 1.1875-.35625zm2.375 9.5c0 1.30625-1.06875 2.375-2.375 2.375h-11.875c-1.30625 0-2.375-1.06875-2.375-2.375v-7.125c0-.415625.11875-.83125.35625-1.1875l6.709375 6.709375c.35625.35625.771875.534375 1.246875.534375s.95-.178125 1.246875-.534375l6.709375-6.709375c.2375.35625.35625.771875.35625 1.1875z"></path>
45  	<path id="objectives" d="M28.4801 24.0808L23.5201 16.4008C24.8001 14.8008 25.6001 12.7208 25.6001 10.4008C25.6001 5.12079 21.2801 0.800781 16.0001 0.800781C10.7201 0.800781 6.40008 5.12079 6.40008 10.4008C6.40008 12.7208 7.20008 14.8008 8.56008 16.4808L3.60008 24.1608C2.64008 25.6008 2.56008 27.3608 3.44008 28.8808C4.24008 30.4008 5.76008 31.2808 7.52008 31.2808H24.7201C26.4001 31.2808 27.9201 30.4008 28.8001 28.8808C29.6801 27.3608 29.3601 25.5208 28.4801 24.0808ZM8.80008 10.4008C8.80008 6.40079 12.0001 3.20079 16.0001 3.20079C20.0001 3.20079 23.2001 6.40079 23.2001 10.4008C23.2001 11.8408 22.8001 13.2008 22.0801 14.3208L19.9201 10.9608C19.0401 9.68079 17.6001 8.88079 16.0801 8.88079C14.5601 8.88079 13.1201 9.68079 12.2401 10.9608L10.0801 14.3208C9.20008 13.2008 8.80008 11.8408 8.80008 10.4008ZM20.4001 16.1608C19.1201 17.0408 17.6801 17.6008 16.0001 17.6008C14.3201 17.6008 12.8801 17.0408 11.6001 16.0808L14.1601 12.2408C14.5601 11.6008 15.2801 11.2808 16.0001 11.2808C16.7201 11.2808 17.4401 11.6808 17.8401 12.2408L20.4001 16.1608ZM26.5601 27.6808C26.1601 28.4008 25.4401 28.8008 24.6401 28.8
45008H7.36008C6.56008 28.8008 5.84008 28.4008 5.44008 27.6808C5.04008 26.9608 5.12008 26.1608 5.52008 25.4408L10.3201 18.1608C11.9201 19.3608 13.8401 20.0008 16.0001 20.0008C18.1601 20.0008 20.0801 19.2808 21.6801 18.1608L26.4801 25.4408C26.8801 26.0808 26.9601 26.9608 26.5601 27.6808Z"></path>
46  	<path id="cronogram" d="M0,9 L0,11 C0,12.7 1.3,14 3,14 L14,14 L14,12 L3,12 C2.4,12 2,11.6 2,11 L2,9 C2,8.4 2.4,8 3,8 L14,8 L14,6 L3,6 C1.3,6 0,7.3 0,9 Z M8,19 L8,21 C8,22.7 9.3,24 11,24 L14,24 L14,22 L11,22 C10.4,22 10,21.6 10,21 L10,19 C10,18.4 10.4,18 11,18 L14,18 L14,16 L11,16 C9.3,16 8,17.3 8,19 Z M29,16 L18,16 L18,14 L21,14 C22.7,14 24,12.7 24,11 L24,9 C24,7.3 22.7,6 21,6 L18,6 L18,3 C18,2.4 17.6,2 17,2 C16.4,2 16,2.4 16,3 L16,27 C16,27.6 16.4,28 17,28 C17.6,28 18,27.6 18,27 L18,24 L29,24 C30.7,24 32,22.7 32,21 L32,19 C32,17.3 30.7,16 29,16 Z M18,8 L21,8 C21.6,8 22,8.4 22,9 L22,11 C22,11.6 21.6,12 21,12 L18,12 L18,8 Z M30,21 C30,21.6 29.6,22 29,22 L18,22 L18,18 L29,18 C29.6,18 30,18.4 30,19 L30,21 Z"></path>
47		<path id="portfolio" d="M4.44444444,30 C5.21481481,30 5.88888889,29.3466667 5.88888889,28.6 L5.88888889,3.4 C5.88888889,2.65333333 5.21481481,2 4.44444444,2 C3.67407407,2 3,2.65333333 3,3.4 L3,28.6 C3,29.3466667 3.67407407,30 4.44444444,30 Z M12.1481481,13.2 C12.9185185,13.2 13.5925926,13.8533333 13.5925926,14.6 L13.5925926,28.6 C13.5925926,29.3466667 12.9185185,30 12.1481481,30 C11.3777778,30 10.7037037,29.3466667 10.7037037,28.6 L10.7037037,14.6 C10.7037037,13.8533333 11.3777778,13.2 12.1481481,13.2 Z M21.2962963,7.13333333 C21.2962963,6.38666667 20.6222222,5.73333333 19.8518519,5.73333333 C19.0814815,5.73333333 18.4074074,6.38666667 18.4074074,7.13333333 L18.4074074,28.6 C18.4074074,29.3466667 19.0814815,30 19.8518519,30 C20.6222222,30 21.2962963,29.3466667 21.2962963,28.6 L21.2962963,7.13333333 Z M27.5555556,19.7333333 C28.3259259,19.7333333 29,20.3866667 29,21.1333333 L29,28.6 C29,29.3466667 28.3259259,3
470 27.5555556,30 C26.7851852,30 26.1111111,29.3466667 26.1111111,28.6 L26.1111111,21.1333333 C26.1111111,20.3866667 26.7851852,19.7333333 27.5555556,19.7333333 Z"></path>
48		<path id="resources" d="M26,28 L6,28 C2.7,28 0,25.3 0,22 L0,10 C0,6.7 2.7,4 6,4 L26,4 C29.3,4 32,6.7 32,10 L32,22 C32,25.3 29.3,28 26,28 Z M6,6 C3.8,6 2,7.8 2,10 L2,22 C2,24.2 3.8,26 6,26 L26,26 C28.2,26 30,24.2 30,22 L30,10 C30,7.8 28.2,6 26,6 L6,6 Z M8.6,20.2 L13.8,16.1 L18.9,19.2 C19.3,19.5 19.9,19.4 20.2,19 L24.8,13.3 C25.1,12.9 25.1,12.2 24.6,11.9 C24.2,11.6 23.5,11.6 23.2,12.1 L19.2,17.1 L14.2,14.1 C13.8,13.9 13.4,13.9 13.1,14.2 L7.4,18.8 C7,19.1 6.9,19.8 7.2,20.2 C7.4,20.4 7.7,20.6 8,20.6 C8.2,20.4 8.4,20.4 8.6,20.2 Z"></path>
49		<path id="forms" d="M26,3 C29.3,3 32,5.7 32,9 L32,23 C32,26.3 29.3,29 26,29 L6,29 C2.7,29 0,26.3 0,23 L0,9 C0,5.7 2.7,3 6,3 L26,3 Z M30,23 L30,9 C30,6.8 28.2,5 26,5 L6,5 C3.8,5 2,6.8 2,9 L2,23 C2,25.2 3.8,27 6,27 L26,27 C28.2,27 30,25.2 30,23 Z M9,15 L23,15 C24.6569,15 26,16.3431 26,18 L26,20 C26,21.6569 24.6569,23 23,23 L9,23 C7.34315,23 6,21.6569 6,20 L6,18 C6,16.3431 7.34315,15 9,15 Z M9,17 C8.44772,17 8,17.4477 8,18 L8,20 C8,20.5523 8.44772,21 9,21 L23,21 C23.5523,21 24,20.5523 24,20 L24,18 C24,17.4477 23.5523,17 23,17 L9,17 Z M7,9 L19,9 C19.5523,9 20,9.44772 20,10 C20,10.5523 19.5523,11 19,11 L7,11 C6.44772,11 6,10.5523 6,10 C6,9.44772 6.44772,9 7,9 Z"></path>
50		<path id="automation" d="M18.5641,2.02165 C20.0234,0.562365 22.4683,2.00098 21.9014,3.98531 L19.3257,13.9999 L25.5858,13.9999 C27.3676,13.9999 28.26,16.1542 27,17.4142 L13.4359,29.9782 C11.9766,31.4375 9.53172,29.9989 10.0987,28.0146 L12.6743,17.9999 L6.41423,17.9999 C4.63243,17.9999 3.74008,15.8457 5.00001,14.5857 L18.5641,2.02165 Z M19.9783,3.43587 L6.41423,16 L12.6743,15.9999 C14.003,15.9999 14.9624,17.2718 14.5973,18.5494 L12.0217,28.564 L25.5858,15.9999 L19.3257,15.9999 C17.997,15.9999 17.0377,14.7281 17.4027,13.4505 L19.9783,3.43587 Z"></path>
51  	<path id="cog" d="M17.225 2l0.739 2.216 0.324 0.973 0.98 0.304c0.611 0.19 1.231 0.449 1.842 0.771l0.908 0.478 3.016-1.508 1.733 1.733-1.508 3.016 0.478 0.908c0.322 0.612 0.581 1.231 0.771 1.842l0.304 0.98 3.188 1.062v2.45l-3.189 1.063-0.304 0.98c-0.19 0.611-0.449 1.23-0.771 1.842l-0.478 0.908 1.508 3.016-1.733 1.733-3.016-1.508-0.908 0.478c-0.612 0.322-1.231 0.581-1.842 0.771l-0.98 0.304-0.324 0.973-0.738 2.215h-2.45l-0.739-2.216-0.324-0.973-0.98-0.304c-0.611-0.19-1.23-0.449-1.842-0.771l-0.908-0.478-3.016 1.508-1.733-1.733 1.508-3.016-0.477-0.907c-0.322-0.612-0.581-1.232-0.771-1.842l-0.304-0.98-3.189-1.063v-2.45l3.189-1.063 0.304-0.98c0.19-0.611 0.449-1.231 0.771-1.842l0.478-0.908-1.508-3.015 1.733-1.733 3.016 1.508 0.908-0.478c0.612-0.322 1.232-0.581 1.842-0.771l0.98-0.304 1.062-3.189h2.45zM16 22c3.308 0 6-2.692 6-6s-2.692-6-6-6-6 2.692-6 6 2.692 6 6 6zM18.667 0h-5.333l-1.194 3.583c-0.76 0.236-1.487 0.546-2.18 0.911l-3.388-1.693-3.771 3.771 1.693 3.387c-0.365 0.693-0.675 1.42-0.911 2.18l-3.583 1.194v5.333l3.583 1.194c0.236 0.76 0.546 1.487 0.911 2.18l-1.693 3.387 3.771 3.771 3.387-1.693c0.693 0.365 1.42 0.675 2.18 0.911l1.194 3.584h5.333l1.194-3.583c0.76-0.236 1.487-0.546 2.18-0.911l3.387 1.693 3.771-3.771-1.693-3.387c0.365-0.693 0.675-1.42 0.911-2.18l3.584-1.194v-5.333l-3.583-1.194c-0.236-0.76-0.546-1.487-0.911-2.18l1.693-3.387-3.771-3.771-3.387 1.693c-0.693-0.365-1.42-0.675-2.18-0.911l-1.194-3.584zM16 20c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4v0z"></path>
52  </defs>
53</svg></div><div id="asn-navbar-bg" class="navbar-bg"></div></div><div class="w-embed"><style>
54.text-post-card {
55  -webkit-line-clamp: 2;
56  word-break: normal;
57  }  
58</style></div><main class="main-wrapper"><section class="section-hero-hp"><div class="padding-global"><div class="padding-section-extra-large no-bottom-padding"><div data-w-id="18663b13-b8a6-71f5-24a1-30c49e1bcd4c" class="container is-horizontal"><div class="spacer-hor-large"></div><div class="content-wr-50 mobile-100"></div></div></div></div></section><div class="w-layout-blockcontainer container-5 w-container"><div class="code-embed w-embed w-script"><div id="recommendation-container" style="display: flex; gap: 20px; align-items: flex-start;">
59  <!-- Left Column: User Input -->
60  <div id="left-column" style="flex: 3; min-width: 400px;">
61    <h1 style="
62    	width: 95%;
63      font-family: Inter, sans-serif;
64      font-size: var(--Font-size-display-xl, 60px);
65      font-style: normal;
66      font-weight: 600;
67      line-height: var(--Line-height-display-xl, 72px); /* 100% */
68      letter-spacing: -1.2px;
69      margin-bottom: 10px;
70    ">
71      Find <span style="color: #39c89b;">Blockchain Solutions</span> in <span style="color: #4237ff;">Seconds</span>.
72    </h1>
73    <p style="width: 90%; font-size: 16px; line-height: 24px; color: #555; font-family: Inter, sans-serif;">
74      Describe your challenge, and we'll recommend the most suitable selection of partners from the Tatum ecosystem.
75    </p>
76
77    <!-- Input Box -->
78    <div class="input" style="margin-top: 20px; margin-bottom: 20px; width: 90%;">
79      <input type="text" id="user-input" placeholder="Find me a wallet solution" class="text" />
80      <button id="submit-btn" class="buttons-button">
81        <div class="text-padding">
82          <img
83            id="star-icon"
84            src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6787f310859f752dcc738757_star%20white.svg"
85            alt="Star Icon"
86            class="star"
87          />
88          <span class="text2">Try Me</span>
89        </div>
90      </button>
91    </div>
92
93    <!-- Example Suggestions -->
94    <div style="margin-top: 20px;">
95      <p style="font-size: 14px; color: #777; margin-bottom: 10px; font-family: Inter, sans-serif;">Get started with an example below:</p>
96      <div style="display: flex; flex-wrap: wrap; gap: 10px;">
97        <button class="example-button" onclick="setExample('Find me a payment solution')">Find me a payment solution</button>
98        <button class="example-button" onclick="setExample('Suggest NFT tools')">Suggest NFT tools</button>
99        <button class="example-button" onclick="setExample('Best APIs for wallets?')">Best APIs for wallets?</button>
100        <button class="example-button" onclick="setExample('Help with DeFi setup')">Help with DeFi setup</button>
101        <button class="example-button" onclick="setExample('Recommend security tools')">Recommend security tools</button>
102        <button class="example-button" onclick="setExample('Cross-chain options?')">Cross-chain options?</button>
103      </div>
104    </div>
105  </div>
106
107  <!-- Right Column: Output -->
108  <div id="right-column" style="flex: 2; display: flex; flex-direction: column; justify-content: center; height: 100%; margin-top: -50px; width: 400px;">
109    <div id="recommendation-output" class="output-box">
110      <!-- Wrapper Div -->
111      <div style="background-color: #ffffff; border: 1px solid #d5d7da; border-radius: 8px; padding: 10px; margin-bottom: 5px; text-align: left; width: width: 80%; max-width: 390px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);">
112        <h3 style="font-size: 18px; margin-bottom: 10px; font-family: Inter, sans-serif; margin: 10px;">Tatum Solutions Finder</h3>
113        <p style="font-size: 14px; color: #555; font-family: Inter, sans-serif; margin: 10px;">Start by sharing what you want to build...</p>
114      </div>
115
116      <p id="explanation" class="explanation-text"></p>
117      <div id="recommendations" style="display: grid; grid-template-columns: repeat(2, auto); width: 80%; height: 80%; gap: 10px;"></div>
118      
119      <div id="recommendation-summary" style="margin-top: -30px; margin-left: 90px; width: 80%; position: relative; z-index: 10;
120"></div>
121
122      <!-- Add Image Below Recommendations -->
123    </div>
124   <div id="swinging-light-container" style="position: relative; width: 600px; height: 600px; margin: 0; margin-left: -80px; auto;">
125  <!-- Light -->
126<img
127  src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/67abc8466374051a02c4fe12_Vector%2031%20(1).svg"
128  id="light"
129  style="
130    position: absolute;
131    top: 17.9%;
132    left: 45.55%;
133    transform: translate(-50%, -50%) rotate(-5deg);
134    width: 462px;
135    transform-origin: bottom center;
136    z-index: 2;
137    animation: none; /* No animation initially */
138  "
139  alt="Light"
140/>
141
142  
143  <!-- Cube -->
144  <img
145    src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/67893dea0b5194aaf10628bc_Group%201.svg"
146    id="cube"
147    style="
148      position: absolute;
149      top: 50%;
150      left: 50%;
151      transform: translate(-50%, -50%);
152      width: 250px;
153      z-index: 1;
154    "
155    alt="Cube"
156  />
157
158  <style>
159    #light {
160      animation: swing 3s ease-in-out infinite;
161    }
162
163   @keyframes swing {
164  0% {
165    transform: translate(-50%, -50%) rotate(-5deg);
166  }
167  50% {
168    transform: translate(-50%, -50%) rotate(5deg);
169  }
170  100% {
171    transform: translate(-50%, -50%) rotate(-5deg);
172  }
173}
174
175@keyframes oscillateOpacity {
176    0%, 100% {
177      opacity: 1;
178    }
179    50% {
180      opacity: 0.5;
181    }
182  }
183  
184  </style>
185</div>
186  </div>
187</div>
188
189<style>
190/* Input and CTA Button */
191.input {
192  background: #ffffff;
193  border-radius: 8px;
194  border: 1px solid #d5d7da;
195  padding: 10px 16px;
196  display: flex;
197  gap: 8px;
198  align-items: center;
199  box-shadow: 0px 4px 3px rgba(10, 13, 18, 0.06);
200}
201.text {
202  flex: 1;
203  font-size: 16px;
204  color: #333;
205  border: none;
206  outline: none;
207}
208.buttons-button {
209  background: #4237ff;
210  color: #ffffff;
211  border: 1px solid transparent;
212  padding: 10px 16px;
213  border-radius: 8px;
214  font-size: 14px;
215  cursor: pointer;
216  display: flex;
217  align-items: center;
218  justify-content: center;
219  gap: 8px;
220  white-space: nowrap;
221  transition: background 0.3s, color 0.3s, border 0.3s;
222}
223.buttons-button:hover {
224  background: #ffffff;
225  color: #4237ff;
226  border: 1px solid #4237ff;
227}
228.buttons-button:hover .star {
229  content: url("https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6787f43181ff899f653454a6_Star%20Purple.svg");
230}
231.star {
232  width: 16px;
233  height: 16px;
234  display: inline-block;
235  vertical-align: middle;
236}
237.text2 {
238  font-family: Inter, sans-serif;
239  font-size: 14px;
240  font-weight: 600;
241  line-height: 1;
242}
243.example-button {
244  background: #f3f3f3;
245  color: #333;
246  border: 1px solid #d5d7da;
247  padding: 5px 10px;
248  border-radius: 5px;
249  font-size: 12px;
250  cursor: pointer;
251  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
252}
253.example-button:hover {
254  background: #e8e8e8;
255}
256.output-box {
257  border-radius: 8px;
258  width: 90%;
259  padding: 0px;
260  padding-top: 50px;
261  box-shadow: 0px 0px 0px rgba(10, 13, 18, 0.06);
262}
263
264.explanation-text {
265  font-size: 14px;
266  color: #555;
267  margin-bottom: 16px;
268}
269
270#recommendations {
271  width: 600px;
272  gap: 0px;
273  justify-content: left;
274  align-items: left;
275  position: relative;
276}
277
278@keyframes slideIn {
279  from {
280    transform: translateX(100%);
281    opacity: 0;
282  }
283  to {
284    transform: translateX(0);
285    opacity: 1;
286  }
287}
288
289.recommendation-item {
290  width: 400px;
291  display: grid;
292  grid-template-areas:
293    "image title"
294    "description description";
295  grid-template-columns: 1fr;
296  gap: 5px;
297  background-color: #ffffff;
298  border: 1px solid #d5d7da;
299  border-radius: 8px;
300  padding: 15px;
301  height: 190px;
302  width: 190px;
303  align-items: start; /* Align items to the top */
304  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
305  transform: translateX(100px); /* Initial state: positioned to the right */
306  opacity: 0; /* Initially hidden */
307  animation: slideInRight 0.5s ease forwards;
307 /* Slide in from the right */
308  transition: transform 0.3s ease, box-shadow 0.3s ease;
309}
310
311@keyframes slideInRight {
312  from {
313    transform: translateX(100px); /* Start to the right */
314    opacity: 0; /* Fully transparent */
315  }
316  to {
317    transform: translateX(0); /* End at the original position */
318    opacity: 1; /* Fully visible */
319  }
320}
321
322
323
324
325.recommendation-item:hover {
326  transform: scale(1.05);
327  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
328  position: relative; /* Required for z-index to work */
329  z-index: 11;
330  
331}
332
333.recommendation-image {
334  grid-area: image;
335  width: 70px;
336  height: 55px;
337  border-radius: 10px;
338  object-fit: cover;
339}
340
341.recommendation-title {
342  grid-area: title;
343  padding-top: 10px;
344  padding-left: 10px;
345  width: 100px;
346  display: flex;
347  align-items: center;
348  font-size: 16px;
349  font-weight: 600;
350  color: #333;
351  text-align: left;
352  line-height: 1;
353}
354
355.recommendation-description {
356  grid-area: description;
357  font-size: 10px;
358  color: #555;
359  margin-top: 0px;
360}
361
362
363/* Recommendation Details Styling */
364.recommendation-details h3 {
365  font-size: 16px;
366  font-weight: 600;
367  text-align: left;
368  color: #333;
369  margin-bottom: 5px;
370}
371
372.recommendation-details p {
373  font-size: 14px;
374  text-align: left;
375  color: #555;
376  margin: 0;
377}
378
379/* Summary Box Styling */
380.recommendation-summary-box {
381  background-color: #ffffff;
382  border: 1px solid #d5d7da;
383  border-radius: 8px;
384  padding: 20px;
385  text-align: left;
386  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
387  transform: translateY(50px); /* Start slightly below */
388  opacity: 0; /* Initially hidden */
389  animation: slideInFromBottom 0.5s ease forwards; /* Slide in smoothly */
390}
391
392/* Keyframes for sliding in from the bottom */
393@keyframes slideInFromBottom {
394  0% {
395    transform: translateY(50px); /* Positioned slightly below */
396    opacity: 0; /* Fully transparent */
397  }
398  100% {
399    transform: translateY(0); /* Final position */
400    opacity: 1; /* Fully visible */
401  }
402}
403
404.recommendation-summary-box h3 {
405  font-size: 18px;
406  margin-bottom: 10px;
407  color: #333;
408}
409
410.recommendation-summary-box p {
411  font-size: 14px;
412  color: #555;
413}
414
415/* Base styles above */
416
417/* Responsive styles */
418@media (max-width: 1024px) {
419  #recommendation-container {
420    flex-direction: column;
421  }
422
423  #left-column, #right-column {
424    flex: 1;
425    min-width: 100%; /* Make each column take full width on smaller screens */
426    margin-top: 00px;
427  }
428
429  .output-box, #recommendation-output {
430    width: auto; /* Allow box to expand full width */
431  }
432
433  h1 {
434    font-size: 32px; /* Smaller font size for smaller screens */
435    line-height: 40px;
436  }
437
438  .recommendation-item, .output-box {
439    grid-template-columns: 1fr; /* Stack image and text vertically on smaller screens */
440  }
441}
442
443@media (max-width: 600px) {
444  #left-column {
445  	max-width: 500px;
446    }
447    
448  #swinging-light-container {
449    margin-left: -200px; /* Larger negative margin for smaller screens */
450    width: 90%; /* Adjust width to 90% for smaller screens */
451  }
452
453  .input {
454    width: 400px;
455  }
456  
457  #right-column {
458  	padding-top: 40px;
459    }
460
461  .text, .buttons-button {
462    width: 100px; /* Make input and button full width */
463  }
464
465  #swinging-light-container {
466    width: 80%; /* Full width to fit smaller screens */
467    height: auto; /* Adjust height to maintain aspect ratio */
468  }
469
470  h1 {
471    font-size: 24px;
472    line-height: 28px;
473  }
474}
475
476
477.output-box, #recommendation-output {
478    width: 100%; /* Allow box to expand full width */
479  }
480  
481  #recommendations {
482  display: grid;
483  grid-template-columns: repeat(auto, auto)
484  width: 430px;
485  grid-template-columns:(250px, 250px); /* Flexible grid */
486  gap: 0px;
487  justify-content: left;
488  align-items: left;
489  position: relative; /* For stacking effects */
490}
491  
492  .recommendation-item {
493  width: 400px;
494  display: grid;
495  grid-template-areas:
496    "image title"
497    "description description";
498  grid-template-columns: auto 1fr; /* Image takes only as much space as needed, the rest for the title */
499  gap: 5px;
500  background-color: #ffffff;
501  border: 1px solid #d5d7da;
502  border-radius: 8px;
503  padding: 15px;
504  height: 190px;
505  width: 190px;
506  align-items: start; /* Align items to the top */
507  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
508  transform: translateX(100px); /* Initial state: positioned to the right */
509  opacity: 0; /* Initially hidden */
510  animation: slideInRight 0.5s ease forwards;
510 /* Slide in from the right */
511  transition: transform 0.3s ease, box-shadow 0.3s ease;
512}
513
514@keyframes slideInRight {
515  from {
516    transform: translateX(100px); /* Start to the right */
517    opacity: 0; /* Fully transparent */
518  }
519  to {
520    transform: translateX(0); /* End at the original position */
521    opacity: 1; /* Fully visible */
522  }
523}
524
525@keyframes bobbing {
526  0%, 100% {
527    transform: translateY(0);
528  }
529  50% {
530    transform: translateY(-10px); /* Moves up by 10 pixels */
531  }
532}
533
534/* Applying the bobbing animation to the first child div of #recommendation-output */
535#recommendation-output > div:first-child {
536  animation: bobbing 3s ease-in-out infinite; /* Continuous bobbing effect */
537  position: relative; /* Needed to apply transform properties */
538}
539
540
541.recommendation-item:hover {
542  transform: scale(1.05);
543  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
544  position: relative; /* Required for z-index to work */
545  z-index: 11;
546  
547}
548
549.recommendation-summary-box {
550  margin-left: 0px;
551}
552
553
554
555</style>
556
557<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script>
557
558
559<script>
560let urlMapping = {};
561
562async function loadUrlMapping() {
563    const response = await fetch('https://docs.google.com/spreadsheets/d/e/2PACX-1vSWjiJPvQSNi1zN1AOgiHQXW4vFRH-SU0OrQ5OYScYrChLFT9O08kdfE4Tobx-ecstTsEqILHjtS5LV/pub?output=csv');
564    const csvData = await response.text();
565
566    // Use PapaParse to parse the CSV data
567    Papa.parse(csvData, {
568        header: true,
569        skipEmptyLines: true,
570        complete: function(results) {
571            results.data.forEach((row, index) => {
572                const name = row['Partner'].trim();
573                const url = row['Destination URL'].trim();
574                if (url.startsWith('http')) {
575                    urlMapping[name] = url;
576                } else {
577                    console.error(`Invalid URL at row ${index + 1}:`, url);
578                }
579            });
580            console.log("URL Mapping:", urlMapping);
581        }
582    });
583}
584
585
586function getDestinationUrl(partnerName) {
587  const url = urlMapping[partnerName] || "#";
588  console.log(`Fetching URL for ${partnerName}: ${url}`);  // Debug URL fetching
589  return url;
590}
591
592// Load URLs when the document is ready
593document.addEventListener('DOMContentLoaded', loadUrlMapping);
594
595
596
597
598function setExample(example) {
599  document.getElementById("user-input").value = example;
600}
601
602// Placeholder for fetching URLs from a mapping based on the partner's name
603function getDestinationUrl(partnerName) {
604  return urlMapping[partnerName] || "#"; // Return the mapped URL or fallback to placeholder
605}
606
607
608// Main function to handle recommendations
609async function generateRecommendations() {
610  const query = document.getElementById("user-input").value;
611
612  // Reference elements
613  const light = document.getElementById("light");
614  const lightContainer = document.getElementById("swinging-light-container");
615  const finderTextElement = document.querySelector(".output-box > div > p");
616
617  // Update text to "Preparing..." and show the light container
618  finderTextElement.innerText = "Preparing...";
619  lightContainer.style.display = "block";
620
621  if (!query) {
622    document.getElementById("recommendations").innerHTML = "Please enter what you're building.";
623    finderTextElement.innerText = "Start by sharing what you want to build...";
624    return;
625  }
626
627  // Start the light swinging animation
628  light.style.animation = "swing 3s ease-in-out infinite";
629
630  try {
631    // Use a different approach to avoid CORS issues
632    const url = `https://script.google.com/macros/s/AKfycbw7YjQ4bMxO7QWrQsEoPeio1lLe-6FXroYUzegl1laUrToW00qDly-3uJVaORz5Y-91oQ/exec?query=${encodeURIComponent(query)}`;
633    
634    const response = await fetch(url, {
635      method: 'GET',
636    });
637
638    const data = await response.json();
639
640    const placeholderImage =
641      "https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/678807606430c3f2ca03e4b6_block%20placeholder.svg";
642
643    if (data.recommendations && data.recommendations.length > 0) {
644      // Extract summary
645      const summaryIndex = data.recommendations.findIndex(item =>
646        item.startsWith("Summary:")
647      );
648      const summary =
649        summaryIndex !== -1
650          ? data.recommendations[summaryIndex].replace("Summary:", "").trim()
651          : "";
652
653      // Update the finder text
654      finderTextElement.innerText =
655        "We analyzed your query, here's our response:";
656
657      let recommendationsHTML = "";
658      let currentPartner = {};
659
660      // Parse recommendations
661      data.recommendations
662        .slice(0, summaryIndex !== -1 ? summaryIndex : data.recommendations.length)
663        .forEach(item => {
664          const line = item.trim();
665
666          if (/^Title:/.test(line)) {
667            if (currentPartner.name) {
668              recommendationsHTML += generatePartnerHTML(
669                currentPartner,
670                placeholderImage,
671                getDestinationUrl(currentPartner.name)
672              );
673              currentPartner = {};
674            }
675            currentPartner.name = line.replace(/^Title:/, "").trim();
676          } else if (/^Description:/.test(line)) {
677            currentPartner.description = line.replace(/^Description:/, "").trim();
678          } else if (/^ImageURL:/.test(line)) {
679            const imageUrl = line.replace(/^ImageURL:/, "").trim();
680            currentPartner.imageUrl = imageUrl.startsWith("http")
681              ? imageUrl
682              : placeholderImage;
683          }
684        });
685
686      if (currentPartner.name) {
687        recommendationsHTML += generatePartnerHTML(
688          currentPartner,
689          placeholderImage,
690          getDestinationUrl(currentPartner.name)
691        );
692      }
693
694      document.getElementById("recommendations").innerHTML = recommendationsHTML;
695
696      // Add summary below the recommendations
697      if (summary) {
698        document.getElementById("recommendation-summary").innerHTML = 
699          `<div class="recommendation-summary-box">
700            <h3>Summary</h3>
701            <p>${summary}</p>
702          </div>`;
703      } else {
704        document.getElementById("recommendation-summary").innerHTML = "";
705      }
706
707      // Hide the light container after recommendations
708      lightContainer.style.display = "none";
709    } else {
710      document.getElementById("recommendations").innerHTML =
711        "No recommendations found.";
712      finderTextElement.innerText = "Start by sharing what you want to build...";
713    }
714  } catch (error) {
715    console.error("Error:", error);
716    document.getElementById("recommendations").innerHTML =
717      "Error generating recommendations.";
718    finderTextElement.innerText = "Start by sharing what you want to build...";
719  } finally {
720    // Stop the light swinging animation
721    light.style.animation = "none";
722  }
723}
724
725// Generate partner HTML with clickable link
726function generatePartnerHTML(partner, placeholderImage, destinationUrl) {
727  const name = partner.name || "Unnamed Partner";
728  const description = partner.description || "No description available.";
729  const imageUrl = partner.imageUrl || placeholderImage;
730  const link = destinationUrl || "#"; // Fallback to a placeholder if no URL is provided
731
732  return `
733    <a href="${link}" target="_blank" style="text-decoration: none; color: inherit;">
734      <div class="recommendation-item">
735        <img src="${imageUrl}" alt="${name}" class="recommendation-image">
736        <div class="recommendation-title">${name}</div>
737        <div class="recommendation-description">${description}</div>
738      </div>
739    </a>
740  `;
741}
742
743// Add event listener for the "Try Me" button
744document.getElementById("submit-btn").addEventListener("click", () => {
745  // Clear previous results and trigger recommendations
746  document.getElementById("recommendations").innerHTML = "";
747  document.getElementById("recommendation-summary").innerHTML = "";
748    document.querySelector("#recommendation-output >
748 div:first-child").style.animation = 'none';
749  generateRecommendations();
750});
751
752// Add event listener for "Enter" key press
753document.getElementById("user-input").addEventListener("keypress", (event) => {
754  if (event.key === "Enter") {
755    event.preventDefault(); // Prevent the default form submission behavior
756    // Clear previous results and trigger recommendations
757    document.getElementById("recommendations").innerHTML = "";
758    document.getElementById("recommendation-summary").innerHTML = "";
759      document.querySelector("#recommendation-output > div:first-child").style.animation = 'none';
760    generateRecommendations();
761  }
762});
763
764document.addEventListener("DOMContentLoaded", function() {
765  const light = document.getElementById('light');
766  // Apply the animation once the page has fully loaded
767  light.style.animation = 'oscillateOpacity 3s ease-in-out infinite';
768});
769
770</script>
770</div></div><div fs-cmsload-element="scroll-anchor" class="scroll-anchor"></div><div class="w-layout-blockcontainer container-11 is-easyblox w-container"><div class="filter-form is-easyblox-category w-form"><div class="code-embed-4 w-embed"><div class="explore-box">
771    <span>Explore </span><span class="blox">Our </span> 
772    <span class="party">Ecosystem.</span>
773</div>
774
775<style>
776    .explore-box {
777        font-size: 45px;
778        font-weight: 600;
779        font-family: 'Inter', sans-serif;
780        max-width: 300px; /* Adjust based on your design */
781        white-space: normal;
782        margin-bottom: 20px;
783        --line-height: 1.2; /* Define the line height variable */
784        line-height: var(--line-height);
785    }
786
787    }
788
789    .explore-box span {
790        color: #222; /* Default dark color */
791    }
792
793    .explore-box .blox {
794        color: #4F37FD; /* Blue/Purple */
795    }
796
797    .explore-box .party {
798        color: #39C89B; /* Green */
799    }
800</style></div><form id="email-form" name="email-form" data-name="Email Form" method="get" fs-cmsfilter-element="filters" class="filter-form-inside" data-wf-page-id="6775511eea836401efb94fc6" data-wf-element-id="281b6f37-98b3-bfc4-2c0c-a5181d534edc"><div data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534edd" class="fs-filter-wrapper is-easyblox-category"><div class="fs-filter-dropdown-wrapper is-easyblox-category"><div data-hover="false" data-delay="0" class="fs-dropdown w-dropdown"><div class="fs-dropdown_toggle-1 w-dropdown-toggle"><div class="w-icon-dropdown-toggle"></div><div class="text-block-11">Use Case</div></div><nav class="fs-dropdown_list-1 w-dropdown-list"><div class="fs-dropdown-content"><div class="w-dyn-list"><div role="list" class="fs-dropdown_list-group-1 w-dyn-items"><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Asset Management</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Campaigns</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Custody</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Data</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">ENS</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">
800Infrastructure</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Name Services</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">NFTs</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Payments</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Security</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Tokenization</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Transactions</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label data-w-id="281b6f37-98b3-bfc4-2c0c-a5181d534ee9" class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-3" name="checkbox-3" data-name="Checkbox 3" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="category" class="fs-checkbox_label-10 w-form-label" for="checkbox-3">Wallets</span></label></div></div></div></div><div class="filter-dropdown-reset"><a fs-cmsfilter-clear="category" fs-cmsfilter-element="clear" href="#" class="filter-clear w-inline-block"><div>Clear filters</div><div class="filter_tag-remove small w-embed"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
801<g clip-path="url(#clip0_377_2)">
802<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00053 8.94293L11.7719 12.7143C11.8976 12.8357 12.066 12.9029 12.2408 12.9014C12.4156 12.8999 12.5828 12.8297 12.7064 12.7061C12.83 12.5825 12.9001 12.4153 12.9016 12.2405C12.9032 12.0657 12.836 11.8973 12.7145 11.7716L8.9432 8.00026L12.7145 4.22893C12.836 4.10319 12.9032 3.93479 12.9016 3.75999C12.9001 3.5852 12.83 3.41799 12.7064 3.29438C12.5828 3.17078 12.4156 3.10067 12.2408 3.09915C12.066 3.09763 11.8976 3.16482 11.7719 3.28626L8.00053 7.0576L4.2292 3.28626C4.1029 3.16783 3.93548 3.10317 3.76235 3.10598C3.58923 3.1088 3.42399 3.17885 3.30161 3.30132C3.17922 3.4238 3.10928 3.58909 3.10659 3.76221C3.1039 3.93533 3.16867 4.10271 3.2872 4.22893L7.05787 8.00026L3.28653 11.7716C3.22286 11.8331 3.17207 11.9067 3.13713 11.988C3.10219 12.0693 3.0838 12.1568 3.08303 12.2453C3.08226 12.3338 3.09913 
80212.4216 3.13265 12.5036C3.16617 12.5855 3.21567 12.6599 3.27827 12.7225C3.34086 12.7851 3.4153 12.8346 3.49723 12.8681C3.57916 12.9017 3.66695 12.9185 3.75547 12.9178C3.84399 12.917 3.93147 12.8986 4.0128 12.8637C4.09414 12.8287 4.1677 12.7779 4.2292 12.7143L8.00053 8.94293Z" fill="currentColor"/>
803</g>
804<defs>
805<clipPath id="clip0_377_2">
806<rect width="16" height="16" fill="white"/>
807</clipPath>
808</defs>
809</svg></div></a></div></nav></div><div data-hover="false" data-delay="0" class="fs-dropdown w-dropdown"><div class="fs-dropdown_toggle-1 w-dropdown-toggle"><div class="w-icon-dropdown-toggle"></div><div class="text-block-12">Blockchain</div></div><nav class="fs-dropdown_list-1 is-last w-dropdown-list"><div class="fs-dropdown-content"><div class="w-dyn-list"><div role="list" class="fs-dropdown_list-group-1 w-dyn-items"><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Arbitrum</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Aurora</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Avalanche</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Base</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Binance Smart Chain</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Celo</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Chilliz</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Cronos</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Ethereum</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Ethereum Classic</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Fantom</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Flare</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Gnosis</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Haqq</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Harmony</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Horizen</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Klaytn</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">KuCoin</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Oasis</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Optimism</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Palm</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Polygon</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Solana</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">VeChain</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">XDC</span></label></div><div role="listitem" class="fs-checkbox_field-10 w-dyn-item"><label class="w-checkbox fs-checkbox_field-10"><input type="checkbox" id="checkbox-2" name="checkbox-2" data-name="Checkbox 2" class="w-checkbox-input fs-checkbox_button-10"/><span fs-cmsfilter-field="blockchain" class="fs-checkbox_label-10 w-form-label" for="checkbox-2">Xinfin</span></label></div></div></div></div></nav></div></div></div><div class="filter_tags-wrapper"><div class="filter-reset-wrapper"><div class="filter-left"><div fs-cmsfilter-element="tag-template" class="filter_tag"><div fs-cmsfilter-element="tag-text" class="filter_tag-text">Tag</div><div class="filter_tag-remove w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
810<g clip-path="url(#clip0_377_2)">
811<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0004 11.1783L14.7146 15.8925C14.8718 16.0443 15.0823 16.1283 15.3008 16.1264C15.5193 16.1245 15.7283 16.0368 15.8828 15.8823C16.0373 15.7278 16.1249 15.5188 16.1268 15.3003C16.1287 15.0818 16.0447 14.8713 15.8929 14.7141L11.1788 9.99996L15.8929 5.28579C16.0447 5.12863 16.1287 4.91812 16.1268 4.69963C16.1249 4.48113 16.0373 4.27212 15.8828 4.11761C15.7283 3.96311 15.5193 3.87547 15.3008 3.87357C1
8115.0823 3.87167 14.8718 3.95566 14.7146 4.10746L10.0004 8.82163L5.28626 4.10746C5.12838 3.95942 4.9191 3.8786 4.7027 3.88211C4.4863 3.88563 4.27975 3.9732 4.12676 4.12629C3.97378 4.27938 3.88636 4.48599 3.88299 4.7024C3.87963 4.9188 3.9606 5.12802 4.10876 5.28579L8.82209 9.99996L4.10792 14.7141C4.02833 14.791 3.96485 14.883 3.92117 14.9846C3.8775 15.0863 3.85451 15.1956 3.85355 15.3063C3.85259 15.4169 3.87367 15.5267 3.91557 15.6291C3.95747 15.7315 4.01935 15.8245 4.09759 15.9028C4.17584 15.981 4.26888 16.0429 4.37129 16.0848C4.47371 16.1267 4.58344 16.1478 4.69409 16.1468C4.80474 16.1459 4.91409 16.1229 5.01576 16.0792C5.11743 16.0355 5.20938 15.9721 5.28626 15.8925L10.0004 11.1783Z" fill="currentColor"/>
812</g>
813<defs>
814<clipPath id="clip0_377_2">
815<rect width="20" height="20" fill="white"/>
816</clipPath>
817</defs>
818</svg></div></div></div><a fs-cmsfilter-element="clear" href="#" class="filter-reset-all w-inline-block"><div>Reset all filters</div></a></div></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div class="container is-recs-directory"><div class="w-layout-blockcontainer container-10 w-container"><div class="div-block-2"><div class="extension-collections-wr"><div fs-cmscombine-element="list" id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798ca-efb94fc6" class="blog-collection-list-wr w-dyn-list"><div fs-cmsload-mode="pagination" fs-cmsstatic-element="list" fs-cmsfilter-element="list" fs-cmsnest-element="list" fs-cmsload-element="list" role="list" class="blog-collection-list is-easyblox w-dyn-items"><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/slamai" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68f00e66e25aa82e26445dd7_SlamAI.png" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68f00e66e25aa82e26445dd7_SlamAI-p-500.png 500w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68f00e66e25aa82e26445dd7_SlamAI-p-800.png 800w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68f00e66e25aa82e26445dd7_SlamAI-p-1080.png 1080w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68f00e66e25aa82e26445dd7_SlamAI.png 1200w" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/slamai" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">SLAMai</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/asset-management" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Asset Management</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/slamai" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">SLAMai is a definitive platform for web3 intelligence, offering leading blockchain data, APIs for builders, and an MCP layer for agents. </p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/exolix" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68ad624da01a4ef67a70c31c_Exolix.png" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68ad624da01a4ef67a70c31c_Exolix-p-500.png 500w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68ad624da01a4ef67a70c31c_Exolix-p-800.png 800w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68ad624da01a4ef67a70c31c_Exolix-p-1080.png 1080w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/68ad624da01a4ef67a70c31c_Exolix.png 1200w" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/exolix" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">Exolix</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/payments" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Payments</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/exolix" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">Exolix gives developers the tools they need to deliver fast, secure, and frictionless crypto swaps inside any application.</p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/hexens" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/67ddcf0858c8f765c6dc0025_Hexens.svg" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/hexens" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">Hexens</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/security" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Security</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/hexens" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">Hexens provides in-depth security solutions for Web3 and decentralized apps, focusing on blockchain security, penetration testing, and security advisory.</p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/boomfi" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/67d43295b8bacff813743019_BoomFi.avif" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/boomfi" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">BoomFi</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/payments" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Payments</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/boomfi" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">BoomFi helps businesses easily manage crypto payments via an easy-to-use compliant gateway. </p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/borg-security" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/67c4967174e8a6b2605cdeee_Borg%20Security.avif" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/borg-security" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">Borg Security</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/security" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Security</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/borg-security" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">Borg Security is a leader in Web3 cybersecurity, focusing on addressing Web2-on-Web3 attack vectors like zero-day exploits and more. </p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/squid-swap-widget" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/67bb01e17a2ea65794b63fe6_Squid.svg" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/squid-swap-widget" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">Squid</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item">
818<a href="/category/infrastructure" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Infrastructure</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/squid-swap-widget" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">Squid Swap Widgets let&#x27;s you instantly add swap capability to your app for virtually any blockchain. Easy, quick, and you get exclusive savings through Easyblox</p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/expand-network" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/67b8922508c6e4b15c652965_Expand.network%20(1).svg" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/expand-network" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">expand. network</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/data" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Data</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/expand-network" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">expand.network offers 170+ API endpoints for DeFi protocols, providing developers and traders with tools for real-time data and trading. </p></a></div></div><div id="w-node-_581a1d5e-43b1-6aa6-f9a7-fdf93d1798cc-efb94fc6" role="listitem" class="blog-post-wr is-easyblox w-dyn-item"><div class="post-container"><div class="post-top-wrapper"><a href="/integrations/inabit" class="post-top-right w-inline-block"><div class="img-post-wr"><img loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee213/67b3c3459cd29a4f78de6ccf_Inabit%20(1).svg" class="image-full"/></div></a><div class="post-top-left"><a href="/integrations/inabit" class="text-post-wr w-inline-block"><h3 id="partner-name" class="heading-10">Inabit</h3></a><div class="tag-post-wr"><div class="collection-list-wrapper w-dyn-list"><div role="list" class="post-categories-wr w-dyn-items"><div role="listitem" class="collection-item w-dyn-item"><a href="/category/asset-management" class="tag-post w-inline-block"><div fs-cmsfilter-field="category" class="tag-text">Asset Management</div></a></div></div></div><div class="blockchain-tag"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-target" class="tag-target"></div></div></div></div></div><a href="/integrations/inabit" class="post-bottom-wrapper w-inline-block"><p class="text-post-card">Inabit is a Crypto Finance Control Center that simplifies digital asset management and crypto-to-fiat transactions. </p></a></div></div></div><div role="navigation" aria-label="List" class="w-pagination-wrapper pagination-easyblox"><div class="pagination-wrap"><a href="#" fs-cmsload-element="page-button" class="pagination_page-button">1</a></div><a href="?32f46bda_page=2" aria-label="Next Page" class="w-pagination-next button-stroke"><div class="w-inline-block">Next</div><svg class="w-pagination-next-icon" height="12px" width="12px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" transform="translate(0, 1)"><path fill="none" stroke="currentColor" fill-rule="evenodd" d="M4 2l4 4-4 4"></path></svg></a><link rel="prerender" href="?32f46bda_page=2"/></div></div></div></div></div><div fs-cmsstatic-order="1" data-w-id="da8a7a10-9cb4-dbae-e77c-644e8f85fda8" class="end-card-wrapper"><div class="post-container"><div class="end-card"><div class="end-card-text"><h3 class="is-purple is-easyblox">Want to join our ecosystem?</h3><p class="text-post-card">
818Apply, get listed, and access thousands of developers.</p></div><a href="/become-a-partner" class="button-primary w-button">Become a Partner</a></div></div></div><div fs-cmsfilter-element="empty" class="extension-empty-state"><div class="text-size-regular">No partners match your criteria just yet, but check in later as new partners are submitted daily. </div></div></div></div><div id="sdk-extensions" data-w-id="581a1d5e-43b1-6aa6-f9a7-fdf93d179883" class="section-extensions"><div class="padding-global"><div class="padding-section-medium no-top-padding"><div class="nested-source"><div class="w-dyn-list"><div fs-cmsnest-collection="category" fs-cmsnest-element="nest-source" role="list" class="end-card-collection-list w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/category/nfts" class="tag-post w-inline-block"><div class="tag-text">NFTs</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/custody" class="tag-post w-inline-block"><div class="tag-text">Custody</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/security" class="tag-post w-inline-block"><div class="tag-text">Security</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/infrastructure" class="tag-post w-inline-block"><div class="tag-text">
818Infrastructure</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/campaigns" class="tag-post w-inline-block"><div class="tag-text">Campaigns</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/tokenization" class="tag-post w-inline-block"><div class="tag-text">Tokenization</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/asset-management" class="tag-post w-inline-block"><div class="tag-text">Asset Management</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/data" class="tag-post w-inline-block"><div class="tag-text">Data</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/payments" class="tag-post w-inline-block"><div class="tag-text">Payments</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/name-services" class="tag-post w-inline-block"><div class="tag-text">Name Services</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/ens" class="tag-post w-inline-block"><div class="tag-text">ENS</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/transactions" class="tag-post w-inline-block"><div class="tag-text">Transactions</div></a></div><div role="listitem" class="w-dyn-item"><a href="/category/wallets" class="tag-post w-inline-block"><div class="tag-text">Wallets</div></a></div></div></div><div class="w-dyn-list"><div fs-cmsnest-collection="blockchain" fs-cmsnest-element="nest-source" role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/blockchain/xinfin" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Xinfin</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/solana" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Solana</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/base" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Base</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/xdc" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">XDC</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/vechain" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">VeChain</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/polygon" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Polygon</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/palm" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Palm</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/optimism" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Optimism</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/oasis" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Oasis</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/kucoin" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">KuCoin</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/klaytn" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Klaytn</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/horizen" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Horizen</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/haqq" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Haqq</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/harmony" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Harmony</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/gnosis" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Gnosis</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/flare" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Flare</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/fantom" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Fantom</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/ethereum-classic" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Ethereum Classic</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/ethereum" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Ethereum</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/cronos" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Cronos</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/chilliz" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">
818Chilliz</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/celo" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Celo</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/binance-smart-chain" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Binance Smart Chain</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/avalanche" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Avalanche</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/aurora" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Aurora</div></a></div><div role="listitem" class="w-dyn-item"><a href="/blockchain/arbitrum" class="tag-post w-inline-block"><div fs-cmsfilter-field="blockchain" class="tag-text">Arbitrum</div></a></div></div></div></div></div></div></div><section id="about" class="about-section"><div class="w-layout-blockcontainer container-7 w-container"><div class="code-embed-3 w-embed"><div class="applications-box">
819    <span>Blockchain Solutions </span><span class="blox">Tailored</span> <span class="party">to You.</span>
820</div>
821
822<style>
823    .applications-box {
824        font-size: 45px;
825        font-weight: 600;
826        font-family: 'Inter', sans-serif;
827    }
828
829    .applications-box span {
830        color: #222; /* Default dark color */
831    }
832
833    .applications-box .blox {
834        color: #4F37FD; /* Blue/Purple */
835    }
836
837    .applications-box .party {
838        color: #39C89B; /* Green */
839    }
840</style></div><div class="text-block-10">Our ecosystem helps you find best-in-class tools designed to scale your blockchain project fast. </div></div><div class="w-layout-blockcontainer container-6 w-container"><div data-current="Tab 1" data-easing="ease" data-duration-in="300" data-duration-out="100" class="tabs w-tabs"><div class="w-tab-content"><div data-w-tab="Tab 1" class="tab-pane-tab-1 w-tab-pane w--tab-active"><div class="w-layout-blockcontainer w-container"><img sizes="(max-width: 606px) 100vw, 606px" srcset="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6798d032036aab9910a0b40c_Frame%20102-p-500.png 500w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6798d032036aab9910a0b40c_Frame%20102.png 606w" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6798d032036aab9910a0b40c_Frame%20102.png" loading="lazy" class="image-2"/></div></div><div data-w-tab="Tab 2" class="tab-pane-tab-2 w-tab-pane"><div class="w-layout-blockcontainer w-container"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/67a4bef9b443b56ba5902c49_Pyramid.svg" alt="" class="image-2"/></div></div><div data-w-tab="Tab 3" class="tab-pane-tab-3 w-tab-pane"><div class="w-layout-blockcontainer w-container"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/67a4be1bf8f4923e49978dca_Frame%20104.svg" alt="" class="image-2"/></div></div></div><div class="tabs-menu w-tab-menu"><a data-w-tab="Tab 1" class="tab-link-tab-1 w-inline-block w-tab-link w--current"><h3 class="heading-7">Curated Ecosystem</h3><div class="text-block-3">Our ecosystem is built on trust and expertise. We pride in vetting every partner we work with.</div></a><a data-w-tab="Tab 2" class="tab-link-tab-2 w-inline-block w-tab-link"><h3 class="heading-7">Best-in-Class <br/>Vendors</h3><div class="text-block-2">We recognize that most blockchain solutions require customization. We ensure we have a selection of robust best-in-class tools to cover your use-case.</div></a><a data-w-tab="Tab 3" class="tab-link-tab-3 w-inline-block w-tab-link"><h3 class="heading-7">AI-Powered Solutions Engine</h3><div class="text-block-4">Why dig for hours looking for the right tools? Our recommendation engine will gather a complete set of tools you need. </div></a></div></div></div></section><section class="section-405"><div class="w-layout-blockcontainer container-8 w-container"><div class="code-embed-2 w-embed"><div class="applications-box">
841    <span>Join the </span><span class="blox">Tatum</span> <span class="party">party.</span>
842</div>
843
844<style>
845    .applications-box {
846        font-size: 45px;
847        font-weight: 600;
848        font-family: 'Inter', sans-serif;
849    }
850
851    .applications-box span {
852        color: #222; /* Default dark color */
853    }
854
855    .applications-box .blox {
856        color: #4F37FD; /* Blue/Purple */
857    }
858
859    .applications-box .party {
860        color: #39C89B; /* Green */
861    }
862</style></div><div class="text-block-5">Are you a blockchain provider? Partner with Tatum to showcase your solutions globally.</div><div class="w-layout-blockcontainer container-9 w-container"><a href="/become-a-partner" class="button-primary is-purple is-rec-cta w-button">Become a Partner</a></div><div class="div-block"><img src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6799183225308d56d7184178_Content.svg" loading="lazy" data-w-id="689ed2d3-8584-ec22-0eec-c225f00f569a" alt="" class="image-3"/></div></div></section><section id="FAQ" class="section-faq faq is-easyblox"><div data-w-id="2a3e4325-f484-f683-2bdf-3b3e42a6b50b" class="div-block-3"><div id="w-node-_2a3e4325-f484-f683-2bdf-3b3e42a6b50c-efb94fc6" class="div-block-4"><div class="code-embed-5 w-embed"><div class="applications-box">
863    <span>Most </span><span class="blox">Frequently</span> <span class="party">Asked Questions.</span>
864</div>
865
866<style>
867    .applications-box {
868        font-size: 45px;
869        font-weight: 600;
870        font-family: 'Inter', sans-serif;
871    }
872
873    .applications-box span {
874        color: #222; /* Default dark color */
875    }
876
877    .applications-box .blox {
878        color: #4F37FD; /* Blue/Purple */
879    }
880
881    .applications-box .party {
882        color: #39C89B; /* Green */
883    }
884</style></div><div class="text-block-6">Have questions? Find quick answers to the most common queries about the Tatum Ecosystem and how we 
884can support your blockchain journey.</div></div><div id="w-node-_2a3e4325-f484-f683-2bdf-3b3e42a6b50f-efb94fc6" class="grid-6 faq-wrap"><div><div class="faq-question-2"><div class="text-block-7"><a href="#" class="link-faq"><strong class="bold-text-17">Can anyone become a partner?</strong></a></div><div class="faq-icon"><div class="faq-icon-bar hoz"></div><div class="faq-icon-bar ver"></div></div></div><div class="faq-answer"><p class="paragraph-2">We interview every organization that submits the applications and evaluate if the vendor fits the best-in-class standards set by the Tatum Ecosystem. </p></div></div><div><div class="faq-question-2"><div class="text-block-9"><a href="#" class="link-faq"><strong>Are your SDK extensions compatible with any blockchain?</strong></a></div><div class="faq-icon"><div class="faq-icon-bar hoz"></div><div class="faq-icon-bar ver"></div></div></div><div class="faq-answer"><p class="paragraph-3">Our SDK extensions are designed to be as interoperable as possible, but compatibility may vary for each extension. Extension descriptions include compatible blockchain protocols or specific networks.</p></div></div><div><div class="faq-question-2"><div class="text-block-96"><a href="#" class="link-faq"><strong class="bold-text-16">Under what license do you offer your SDK extension?</strong></a></div><div class="faq-icon"><div class="faq-icon-bar hoz"></div><div class="faq-icon-bar ver"></div></div></div><div class="faq-answer"><p class="faq-answer-text">Extensions are offered under various licenses, depending on the developer&#x27;s preferences and the nature of the extension. Common licenses include open-source licenses like MIT, GPL, or Apache, which allow for broad use and modification. The specific license for each extension is listed on its respective page in the directory. We recommend reading the license terms carefully to understand your rights and obligations when using the extension.</p></div></div><div><div class="faq-question-2"><div class="text-block-97"><a href="#" class="link-faq"><strong class="bold-text-16">What if a partner has a service interruption? </strong></a></div><div class="faq-icon"><div class="faq-icon-bar hoz"></div><div class="faq-icon-bar ver"></div></div></div><div class="faq-answer"><p class="faq-answer-text">We recommend to communicate directly with partners and check that their SLAs meet your requirements. We do check that our partners are committed to their service reliability when we select partners for the ecosystem. </p></div></div></div></div></section></main><div class="footer is-easyblox"><div class="padding-global"><div class="padding-section-medium no-bottom-padding"><div class="container"><div class="w-layout-grid footer-grid"><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae888-f82ae883" class="column-xs"><img width="Auto" height="Auto" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee3fe_logo_tatum.png" loading="lazy" srcset="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee3fe_logo_tatum-p-500.png 500w, https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee3fe_logo_tatum.png 1026w" sizes="100vw" class="brand-footer"/><div class="footer-text-wr"><div class="text-footer black">Tatum Ecosystem simplifies blockchain integration with curated tools and trusted partners. Build, scale, and innovate with confidence.</div><div class="social-wrap"><a href="https://www.linkedin.com/company/tatumio" target="_blank" class="icon-social-footer w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee309_logo--linkedin.svg" alt="" class="social-icon"/></a><a href="https://www.youtube.com/channel/UCF-OAfXNJ9h3U2ycHE1NGNw" target="_blank" class="icon-social-footer w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee2b6_logo--youtube.svg" alt="" class="social-icon"/></a><a href="https://twitter.com/tatum_io" target="_blank" class="icon-social-footer w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee2fa_logo--twitter.svg" alt="" class="social-icon"/></a><a href="https://github.com/tatumio" target="_blank" class="icon-social-footer w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee42b_bi_github-white.svg" alt="" class="social-icon"/></a><a href="https://discord.gg/tatum" target="_blank" class="icon-social-footer w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee2b8_logo--discord.svg" alt="" class="social-icon"/></a></div></div></div><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae898-f82ae883" class="footer-links-wrap hidden"><div class="footer-title">Quickstart</div>
884<div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae89b-f82ae883"><a href="https://docs.tatum.io/sdk/get-started-with-tatum-sdk" target="_blank" class="footer-link">Your first App</a><img id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae89e-f82ae883" loading="lazy" alt="" src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/6541395f64fcf968b48ee333_external.svg" class="external-link"/></div><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae89f-f82ae883"></div><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae8a3-f82ae883"></div></div><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae8a7-f82ae883" class="footer-links-wrap black"><div class="footer-title">Company</div><a href="/" aria-current="page" class="footer-link w--current">About Tatum Ecosystem</a><a href="https://tatum.io" target="_blank" class="footer-link">Go to Tatum Platform</a><a href="/become-a-partner" class="footer-link">Become a Partner</a></div><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae8b0-f82ae883" class="footer-links-wrap black"><div class="footer-title">Ecosystem</div><a href="/" aria-current="page" class="footer-link w--current">Explore Partners</a><a href="/" aria-current="page" class="footer-link w--current">FAQ</a></div></div><div class="footer-bottom"><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae8ba-f82ae883" class="text-footer">© 2025 Tatum Technology LLC. All rights reserved.</div><div id="w-node-_1c11cd9f-ac10-b798-6286-ea3af82ae8bc-f82ae883" class="footer-legacy-link-wr"><a href="/terms-of-use" class="footer-legacy-link">Terms of Use</a><a href="/privacy-policy" class="footer-legacy-link">Privacy Policy</a><a href="/cookie-policy" class="footer-legacy-link">Cookie Policy</a></div></div></div></div></div></div></div>
884<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6541395f64fcf968b48ee20f" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
884<script src="https://cdn.prod.website-files.com/6541395f64fcf968b48ee20f/js/tatum-staging-be5f9165203262a0315c5a836.98c06488.d952ac6ec5033d26.js" type="text/javascript" integrity="sha384-6tEuYltydmt78lfVNT5gHUXwBFbUzgjER2kwn7bvGHahw64LWTWQyt+38S+nhgb5" crossorigin="anonymous"></script>
884<!-- Google Tag Manager (noscript) -->
885<noscript><iframe src="https://data.tatum.io/ns.html?id=GTM-MCDBPXRS"
886height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
887<!-- End Google Tag Manager (noscript) -->
888
889<script src="https://cdnjs.cloudflare.com/ajax/libs/postscribe/2.0.8/postscribe.min.js"></script>
889
890
891<script>
892// define the load gist function
893var loadGist = function(elem) {
894    var gistUrl = $(elem).text().match(/\bhttps?:\/\/\S+(.js)/gi);
895    if (typeof gistUrl === 'undefined' || gistUrl === null || gistUrl.length == 0) 
896        return;
897    //load gist
898    $(elem).show();
899    $(elem).empty();
900    postscribe(elem, '
900<script src=' + gistUrl+ '><\/script>');
901    };
902
903if (postscribe) {
904    var gists = $('p:contains("CODE:")');
905    gists.hide();
906    gists.toArray().forEach(loadGist);
907} else {
908    console.log("you need to include postscribe in your site for this to work")
909}
910</script>
910
911
912<!-- Canonical pagination hack of Webflow - remove query params -->
913<script>
914document.addEventListener("DOMContentLoaded", function() {
915  const canonical = document.querySelector('link[rel="canonical"]');
916  if (canonical) {
917    try {
918      const url = new URL(canonical.href);
919      url.search = ""; // remove all query parameters
920      canonical.href = url.toString();
921    } catch (e) {
922      console.error("Invalid canonical URL:", canonical.href);
923    }
924  }
925});
926</script>
926
927
928<template id="tatum-contact-modal-tpl">
929  <div class="tatum-contact-modal-root" hidden aria-hidden="true">
930    <div class="tatum-contact-modal__backdrop" data-contact-form-close tabindex="-1" aria-hidden="true"></div>
931    <div class="tatum-contact-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="tatum-contact-modal-title">
932      <button type="button" class="tatum-contact-modal__close" data-contact-form-close aria-label="Close contact form">
933        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
934          <path d="M18 6L6 18M6 6l12 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
935        </svg>
936      </button>
937
938      <div id="tatum-contact-modal-form-wrap">
939        <h2 id="tatum-contact-modal-title" class="tatum-contact-modal__title">Get in Touch</h2>
940
941        <form id="tatum-contact-form" class="tatum-contact-modal__form" novalidate>
942          <input
943            type="text"
944            name="tatum_hp"
945            class="tatum-contact-modal__honeypot"
946            tabindex="-1"
947            autocomplete="off"
948            aria-hidden="true"
949          />
950
951          <div class="tatum-contact-modal__row">
952            <label class="tatum-contact-modal__field">
953              <span class="tatum-contact-modal__label">First name</span>
954              <input
955                type="text"
956                id="tatum-contact-first-name"
957                name="firstName"
958                aria-required="false"
959                aria-label="First name"
960                maxlength="40"
961                placeholder="Satoshi"
962                autocomplete="given-name"
963              />
964            </label>
965            <label class="tatum-contact-modal__field">
966              <span class="tatum-contact-modal__label">
967                Last name <span class="tatum-contact-modal__required" aria-hidden="true">*</span>
968              </span>
969              <input
970                type="text"
971                id="tatum-contact-last-name"
972                name="lastName"
973                aria-required="true"
974                aria-label="Last name"
975                maxlength="80"
976                placeholder="Nakamoto"
977                autocomplete="family-name"
978                required
979              />
980            </label>
981          </div>
982
983          <label class="tatum-contact-modal__field">
984            <span class="tatum-contact-modal__label">
985              Email <span class="tatum-contact-modal__required" aria-hidden="true">*</span>
986            </span>
987            <input
988              type="email"
989              id="tatum-contact-email"
990              name="email"
991              aria-required="true"
992              aria-label="Email"
993              maxlength="100"
994              placeholder="[email protected]"
995              autocomplete="email"
996              required
997            />
998          </label>
999
1000          <label class="tatum-contact-modal__field">
1001            <span class="tatum-contact-modal__label">Phone Number</span>
1002            <input
1003              type="tel"
1004              id="tatum-contact-phone"
1005              name="phone"
1006              aria-required="false"
1007              aria-label="Phone Number"
1008              maxlength="50"
1009              placeholder="+1 555 867 1234"
1010              autocomplete="tel"
1011              inputmode="tel"
1012            />
1013          </label>
1014
1015          <label class="tatum-contact-modal__field">
1016            <span class="tatum-contact-modal__label">Telegram Handle</span>
1017            <input
1018              type="text"
1019              id="tatum-contact-telegram"
1020              name="telegram"
1021              aria-required="false"
1022              aria-label="Telegram Handle"
1023              maxlength="255"
1024              placeholder="@satoshinakamoto"
1025            />
1026          </label>
1027
1028          <label class="tatum-contact-modal__field">
1029            <span class="tatum-contact-modal__label">
1030              Tell us more about your project <span class="tatum-contact-modal__required" aria-hidden="true">*</span>
1031            </span>
1032            <textarea
1033              id="tatum-contact-project"
1034              name="project"
1035              aria-required="true"
1036              aria-label="Tell us more about your project"
1037              rows="2"
1038              placeholder="Tell us about your project and timeline."
1039              required
1040            ></textarea>
1041          </label>
1042
1043          <label class="tatum-contact-modal__consent">
1044            <input
1045              id="tatum-contact-privacy"
1046              name="termsAccepted"
1047              type="checkbox"
1048              aria-checked="false"
1049              aria-errormessage="tatum-contact-privacy-error"
1050              aria-label="Accept terms and privacy policy"
1051            />
1052            <span class="tatum-contact-modal__consent-text">
1053              I agree to the
1054              <a href="https://tatum.io/terms-of-use" target="_blank" rel="noopener noreferrer">Terms</a>
1055              and
1056              <a href="https://tatum.io/privacy-policy" target="_blank" rel="noopener noreferrer">Privacy Policy</a>
1057              <span class="tatum-contact-modal__required" aria-hidden="true">*</span>
1058            </span>
1059          </label>
1060          <div id="tatum-contact-privacy-error" aria-live="polite" class="tatum-contact-modal__privacy-error">
1061            Please accept this
1062          </div>
1063
1064          <div id="tatum-contact-form-error" class="tatum-contact-modal__form-error" role="alert" hidden></div>
1065
1066          <div class="tatum-contact-modal__form-actions">
1067            <button type="submit" id="tatum-contact-submit" class="tatum-contact-modal__submit" aria-label="Submit">
1068              Submit
1069            </button>
1070          </div>
1071        </form>
1072      </div>
1073
1074      <div id="tatum-contact-modal-success" class="tatum-contact-modal__success" hidden aria-live="polite">
1075        <div class="tatum-contact-modal__success-icon" aria-hidden="true">
1076          <svg width="28" height="28" viewBox="0 0 24 24" fill="none">
1077            <path d="M20 6L9 17l-5-5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
1078          </svg>
1079        </div>
1080        <h2 id="tatum-contact-modal-success-title" class="tatum-contact-modal__success-title" tabindex="-1">Thank you!</h2>
1081        <p class="tatum-contact-modal__success-text">Our team will get in touch shortly.</p>
1082      </div>
1083    </div>
1084  </div>
1085</template>
1086
1087<style id="tatum-contact-modal-css" media="not all">
1088  .tatum-contact-embed-root[data-tatum-contact-mode='inline'],
1089  .tatum-contact-embed-root:has(.tatum-contact-modal-root--inline) {
1090    display: block;
1091    width: 100%;
1092    height: auto;
1093    overflow: visible;
1094    position: static;
1095    pointer-events: auto;
1096    clip: auto;
1097    white-space: normal;
1098  }
1099
1100  .tatum-contact-modal-root--inline .tatum-contact-modal__backdrop,
1101  .tatum-contact-modal-root--inline .tatum-contact-modal__close {
1102    display: none !important;
1103  }
1104
1105  .tatum-contact-modal-root,
1106  .tatum-contact-modal-root--inline,
1107  .tatum-contact-modal-root *,
1108  .tatum-contact-modal-root--inline * {
1109    box-sizing: border-box;
1110    font-family: Poppins, sans-serif;
1111  }
1112
1113  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) {
1114    position: fixed;
1115    inset: 0;
1116    z-index: 1000000;
1117    display: flex;
1118    align-items: center;
1119    justify-content: center;
1120    padding: 16px;
1121    -webkit-font-smoothing: antialiased;
1122  }
1123
1124  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline)[hidden] {
1125    display: none !important;
1126  }
1127
1128  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__backdrop {
1129    position: fixed;
1130    inset: 0;
1131    background: rgba(10, 13, 18, 0.55);
1132    backdrop-filter: blur(2px);
1133  }
1134
1135  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__dialog {
1136    position: relative;
1137    z-index: 1;
1138    width: min(100%, 32rem);
1139    max-height: min(90vh, 640px);
1140    overflow: auto;
1141    margin: 0;
1142    background: #ffffff;
1143    border: 1px solid #e9eaeb;
1144    border-radius: 16px;
1145    padding: 20px;
1146    box-shadow: 0 25px 50px -12px rgba(10, 13, 18, 0.25);
1147  }
1148
1149  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__close {
1150    position: absolute;
1151    top: 16px;
1152    right: 16px;
1153    display: inline-flex;
1154    align-items: center;
1155    justify-content: center;
1156    width: 36px;
1157    height: 36px;
1158    margin: 0;
1159    padding: 0;
1160    border: 1px solid #e9eaeb;
1161    border-radius: 8px;
1162    background: #ffffff;
1163    color: #414651;
1164    cursor: pointer;
1165    transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), border-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
1166  }
1167
1168  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__close:hover {
1169    background: #fafafa;
1170    border-color: #d5d7da;
1171  }
1172
1173  .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__close:focus-visible {
1174    outline: 0;
1175    border-color: #4f37fd;
1176    box-shadow: 0 0 0 4px rgba(79, 55, 253, 0.12);
1177  }
1178
1179  .tatum-contact-modal-root .tatum-contact-modal__title,
1180  .tatum-contact-modal-root--inline .tatum-contact-modal__title {
1181    margin: 0 32px 14px 0;
1182    font-size: 24px;
1183    font-weight: 600;
1184    line-height: 32px;
1185    color: #181d27;
1186  }
1187
1188  .tatum-contact-modal-root--inline .tatum-contact-modal__dialog {
1189    position: relative;
1190    z-index: auto;
1191    width: 100%;
1192    max-width: none;
1193    max-height: none;
1194    overflow: visible;
1195    margin: 0;
1196    background: transparent;
1197    border: none;
1198    border-radius: 0;
1199    padding: 0 0 20px;
1200    box-shadow: none;
1201  }
1202
1203  .tatum-contact-modal-root .tatum-contact-modal__form,
1204  .tatum-contact-modal-root--inline .tatum-contact-modal__form {
1205    display: flex;
1206    flex-direction: column;
1207    gap: 10px;
1208    margin: 0;
1209    padding: 0;
1210    border: none;
1211    background: transparent;
1212  }
1213
1214  .tatum-contact-modal-root .tatum-contact-modal__row {
1215    display: flex;
1216    gap: 12px;
1217    flex-wrap: wrap;
1218  }
1219
1220  .tatum-contact-modal-root .tatum-contact-modal__field {
1221    display: flex;
1222    flex-direction: column;
1223    gap: 4px;
1224    flex: 1 1 100%;
1225    margin: 0;
1226    padding: 0;
1227    border: none;
1228    background: transparent;
1229    text-align: left;
1230  }
1231
1232  .tatum-contact-modal-root .tatum-contact-modal__row .tatum-contact-modal__field {
1233    flex: 1 1 calc(50% - 6px);
1234    min-width: 8rem;
1235  }
1236
1237  .tatum-contact-modal-root .tatum-contact-modal__required {
1238    color: #f04438;
1239  }
1240
1241  .tatum-contact-modal-root .tatum-contact-modal__label {
1242    display: block;
1243    margin: 0;
1244    font-size: 14px;
1245    font-weight: 500;
1246    line-height: 20px;
1247    color: #414651;
1248  }
1249
1250  .tatum-contact-modal-root .tatum-contact-modal__field input:not([type='checkbox']),
1251  .tatum-contact-modal-root .tatum-contact-modal__field textarea {
1252    display: block;
1253    width: 100%;
1254    min-height: 2.75rem;
1255    margin: 0;
1256    padding: 10px 12px;
1257    border: 1px solid #d5d7da;
1258    border-radius: 8px;
1259    background: #ffffff;
1260    font-family: Poppins, sans-serif;
1261    font-size: 16px;
1262    font-weight: 400;
1263    line-height: 24px;
1264    color: #181d27;
1265    appearance: none;
1266    -webkit-appearance: none;
1267    box-shadow: none;
1268  }
1269
1270  .tatum-contact-modal-root .tatum-contact-modal__field textarea {
1271    min-height: 3.75rem;
1272    resize: vertical;
1273    line-height: 1.4;
1274    padding: 8px 12px;
1275  }
1276
1277  .tatum-contact-modal-root .tatum-contact-modal__field input:not([type='checkbox'])::placeholder,
1278  .tatum-contact-modal-root .tatum-contact-modal__field textarea::placeholder {
1279    color: #a4a7ae;
1280    opacity: 1;
1281  }
1282
1283  .tatum-contact-modal-root .tatum-contact-modal__field input:not([type='checkbox']):focus,
1284  .tatum-contact-modal-root .tatum-contact-modal__field textarea:focus {
1285    outline: 0;
1286    border-color: #4f37fd;
1287    box-shadow: 0 0 0 4px rgba(79, 55, 253, 0.12);
1288  }
1289
1290  .tatum-contact-modal-root .tatum-contact-modal__consent {
1291    display: flex !important;
1292    flex-direction: row !important;
1293    align-items: flex-start !important;
1294    gap: 10px !important;
1295    margin: 0;
1296    padding: 0;
1297    border: none;
1298    background: transparent;
1299    cursor: pointer;
1300    text-align: left;
1301  }
1302
1303  .tatum-contact-modal-root .tatum-contact-modal__consent input[type='checkbox'] {
1304    display: block;
1305    flex: 0 0 auto;
1306    width: 18px;
1307    height: 18px;
1308    min-height: 18px;
1309    margin: 2px 0 0;
1310    padding: 0;
1311    border: 1px solid #d5d7da;
1312    border-radius: 4px;
1313    accent-color: #4f37fd;
1314    cursor: pointer;
1315  }
1316
1317  .tatum-contact-modal-root .tatum-contact-modal__consent-text {
1318    display: block;
1319    flex: 1;
1320    margin: 0;
1321    font-size: 14px;
1322    font-weight: 400;
1323    line-height: 20px;
1324    color: #535862;
1325    text-align: left;
1326  }
1327
1328  .tatum-contact-modal-root .tatum-contact-modal__consent-text a {
1329    display: inline;
1330    color: #4f37fd;
1331    font-weight: 500;
1332    text-decoration: underline;
1333    text-underline-offset: 2px;
1334  }
1335
1336  .tatum-contact-modal-root .tatum-contact-modal__consent-text a:hover {
1337    color: #402dce;
1338  }
1339
1340  .tatum-contact-modal-root .tatum-contact-modal__privacy-error {
1341    visibility: hidden;
1342    height: 0;
1343    overflow: hidden;
1344    margin: 0;
1345    padding: 0;
1346    font-size: 12px;
1347    line-height: 18px;
1348    color: #f04438;
1349  }
1350
1351  .tatum-contact-modal-root .tatum-contact-modal__privacy-error.is-visible {
1352    visibility: visible;
1353    height: auto;
1354    margin-top: 4px;
1355  }
1356
1357  .tatum-contact-modal-root .tatum-contact-modal__form-error {
1358    margin: 0;
1359    padding: 10px 12px;
1360    border-radius: 8px;
1361    background: #fef3f2;
1362    color: #b42318;
1363    border: 1px solid #fecdca;
1364    font-size: 14px;
1365    line-height: 20px;
1366  }
1367
1368  .tatum-contact-modal-root .tatum-contact-modal__form-error[hidden] {
1369    display: none !important;
1370  }
1371
1372  .tatum-contact-modal-root .tatum-contact-modal__honeypot {
1373    position: absolute;
1374    left: -9999px;
1375    width: 1px;
1376    height: 1px;
1377    opacity: 0;
1378    pointer-events: none;
1379  }
1380
1381  .tatum-contact-modal-root .tatum-contact-modal__form-actions {
1382    display: flex;
1383    align-items: center;
1384    justify-content: flex-start;
1385    margin-top: 2px;
1386  }
1387
1388  .tatum-contact-modal-root .tatum-contact-modal__submit {
1389    display: inline-flex;
1390    align-items: center;
1391    justify-content: center;
1392    width: auto;
1393    min-width: 9rem;
1394    height: 2.5rem;
1395    min-height: 2.5rem;
1396    margin: 0;
1397    padding: 0 20px;
1398    border: none;
1399    border-radius: 8px;
1400    background: #4f37fd;
1401    color: #ffffff;
1402    font-family: Poppins, sans-serif;
1403    font-size: 14px;
1404    font-weight: 600;
1405    line-height: 20px;
1406    white-space: nowrap;
1407    cursor: pointer;
1408    box-sizing: border-box;
1409    transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
1410  }
1411
1412  .tatum-contact-modal-root .tatum-contact-modal__submit:hover:not(:disabled) {
1413    background: #4832e7;
1414  }
1415
1416  .tatum-contact-modal-root .tatum-contact-modal__submit:focus-visible {
1417    outline: 0;
1418    box-shadow: 0 0 0 4px rgba(79, 55, 253, 0.12);
1419  }
1420
1421  .tatum-contact-modal-root .tatum-contact-modal__submit:disabled {
1422    opacity: 0.55;
1423    cursor: not-allowed;
1424  }
1425
1426  .tatum-contact-modal-root .tatum-contact-modal__success {
1427    display: flex;
1428    flex-direction: column;
1429    align-items: center;
1430    justify-content: center;
1431    text-align: center;
1432    padding: 32px 8px 24px;
1433    min-height: 280px;
1434  }
1435
1436  .tatum-contact-modal-root .tatum-contact-modal__success[hidden] {
1437    display: none !important;
1438  }
1439
1440  .tatum-contact-modal-root .tatum-contact-modal__success-icon {
1441    display: inline-flex;
1442    align-items: center;
1443    justify-content: center;
1444    width: 56px;
1445    height: 56px;
1446    margin-bottom: 20px;
1447    border-radius: 50%;
1448    background: #ecfdf3;
1449    color: #17b26a;
1450  }
1451
1452  .tatum-contact-modal-root .tatum-contact-modal__success-title {
1453    margin: 0 0 8px;
1454    font-size: 24px;
1455    font-weight: 600;
1456    line-height: 32px;
1457    color: #181d27;
1458  }
1459
1460  .tatum-contact-modal-root .tatum-contact-modal__success-text {
1461    margin: 0;
1462    max-width: 24rem;
1463    font-size: 16px;
1464    font-weight: 400;
1465    line-height: 24px;
1466    color: #535862;
1467  }
1468
1469  .tatum-contact-modal-root.is-success:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__dialog {
1470    max-height: min(92vh, 420px);
1471  }
1472
1473  @media (max-width: 479px) {
1474    .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) {
1475      padding: 12px;
1476    }
1477
1478    .tatum-contact-modal-root:not(.tatum-contact-modal-root--inline) .tatum-contact-modal__dialog {
1479      padding: 20px 16px 16px;
1480      border-radius: 12px;
1481    }
1482
1483    .tatum-contact-modal-root .tatum-contact-modal__row .tatum-contact-modal__field,
1484    .tatum-contact-modal-root--inline .tatum-contact-modal__row .tatum-contact-modal__field {
1485      flex: 1 1 100%;
1486    }
1487
1488    .tatum-contact-modal-root .tatum-contact-modal__submit {
1489      width: 100%;
1490      min-width: 0;
1491    }
1492  }
1493
1494  .tatum-contact-modal-root.tatum-contact-modal-root--inline {
1495    position: static;
1496    inset: auto;
1497    display: block;
1498    align-items: stretch;
1499    justify-content: flex-start;
1500    padding: 0;
1501    z-index: auto;
1502  }
1503
1504  .tatum-contact-modal-root--inline .tatum-contact-modal__title {
1505    display: none;
1506  }
1507
1508  .tatum-contact-modal-root--inline.is-success .tatum-contact-modal__success {
1509    min-height: 12rem;
1510    padding-bottom: 20px;
1511  }
1512</style>
1513
1514<script>
1515  (function () {
1516    var CONTACT_API = 'https://tatum.io/forms/api/zoho-contact';
1517    var UTM_KEYS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'gclid'];
1518    var UTM_STORAGE = 'tatum_crm_utm_v1';
1519
1520    var ns = window.__tatumContactForm = window.__tatumContactForm || {
1521      version: 0,
1522      ready: false,
1523      loading: false
1524    };
1525
1526    if (ns.version === 3) return;
1527    if (ns.registered) return;
1528    ns.registered = true;
1529
1530    function readUtms() {
1531      var params = new URLSearchParams(window.location.search);
1532      var out = {};
1533      UTM_KEYS.forEach(function (key) {
1534        var value = params.get(key);
1535        if (value) out[key] = value;
1536      });
1537      if (document.referrer) out.referrer = document.referrer;
1538      return out;
1539    }
1540
1541    function getStoredUtms() {
1542      try {
1543        return JSON.parse(sessionStorage.getItem(UTM_STORAGE) || '{}');
1544      } catch (e) {
1545        return {};
1546      }
1547    }
1548
1549    function persistUtms() {
1550      var fresh = readUtms();
1551      var stored = getStoredUtms();
1552      var merged = Object.assign({}, stored, fresh);
1553      if (Object.keys(merged).length) {
1554        sessionStorage.setItem(UTM_STORAGE, JSON.stringify(merged));
1555      }
1556    }
1557
1558    function isInlineEmbedRoot(root) {
1559      if (!root) return false;
1560      if (root.getAttribute('data-tatum-contact-mode') === 'inline') return true;
1561      if (root.getAttribute('data-tatum-contact-mode') === 'modal') return false;
1562      return !!(root.closest('.hubspot-form, .zohoform, [class*="form-center"]'));
1563    }
1564
1565    function hasInlineEmbed() {
1566      var roots = document.querySelectorAll('#tatum-contact-embed-root');
1567      for (var i = 0; i < roots.length; i++) {
1568        if (isInlineEmbedRoot(roots[i])) return true;
1569      }
1570      return false;
1571    }
1572
1573    function findEmbedBundle(root) {
1574      if (!root) return null;
1575
1576      var tpl = root.querySelector('.tatum-contact-embed-tpl');
1577      var css = root.querySelector('.tatum-contact-embed-css');
1578      if (tpl && getModalSourceNode(tpl)) {
1579        return { tpl: tpl, css: css, root: root };
1580      }
1581
1582      return null;
1583    }
1584
1585    function findFooterBundle() {
1586      var tpl = document.getElementById('tatum-contact-modal-tpl');
1587      var css = document.getElementById('tatum-contact-modal-css');
1588      if (tpl && getModalSourceNode(tpl)) {
1589        return { tpl: tpl, css: css, root: null };
1590      }
1591
1592      return null;
1593    }
1594
1595    function findInlineEmbedRoot() {
1596      var roots = document.querySelectorAll('#tatum-contact-embed-root');
1597      for (var i = 0; i < roots.length; i++) {
1598        if (isInlineEmbedRoot(roots[i])) return roots[i];
1599      }
1600      return null;
1601    }
1602
1603    function findModalTemplateBundle() {
1604      var inlineRoot = findInlineEmbedRoot();
1605      if (inlineRoot) {
1606        var inlineBundle = findEmbedBundle(inlineRoot);
1607        if (inlineBundle) return inlineBundle;
1608      }
1609
1610      var modalHost = document.querySelector('#tatum-contact-embed-root:not([data-tatum-contact-mode="inline"])');
1611      if (modalHost && isInlineEmbedRoot(modalHost)) modalHost = null;
1612      var embedBundle = findEmbedBundle(modalHost);
1613      if (embedBundle) return embedBundle;
1614
1615      return findFooterBundle();
1616    }
1617
1618    function isTrigger(el) {
1619      if (!el || !el.closest) return null;
1620
1621      var explicit = el.closest('#Contact-Form, [data-contact-form-open]');
1622      if (explicit) return explicit;
1623
1624      var salesTrigger = el.closest('button, a');
1625      if (salesTrigger && /contact\s+sales/i.test((salesTrigger.textContent || '').replace(/\s+/g, ' '))) {
1626        return salesTrigger;
1627      }
1628
1629      var touchLink = el.closest('a[href*="get-in-touch"]');
1630      if (touchLink) return touchLink;
1631
1632      return null;
1633    }
1634
1635    function getModalSourceNode(tpl) {
1636      if (tpl.content && tpl.content.firstElementChild) {
1637        return tpl.content.firstElementChild;
1638      }
1639
1640      if (tpl.firstElementChild) {
1641        return tpl.firstElementChild;
1642      }
1643
1644      return null;
1645    }
1646
1647    function getFormPage(shell) {
1648      var embedRoot = shell.closest('#tatum-contact-embed-root');
1649      if (embedRoot) {
1650        var override = embedRoot.getAttribute('data-tatum-contact-form-page');
1651        if (override) return override;
1652      }
1653      return window.location.pathname || 'Get in Touch';
1654    }
1655
1656    function trim(value) {
1657      return (value || '').replace(/^\s+|\s+$/g, '');
1658    }
1659
1660    function isValidEmail(value) {
1661      var emailVal = trim(value);
1662      if (!emailVal.length) return false;
1663      var atpos = emailVal.indexOf('@');
1664      var dotpos = emailVal.lastIndexOf('.');
1665      return atpos >= 1 && dotpos > atpos + 1 && dotpos + 2 < emailVal.length;
1666    }
1667
1668    function buildPayload(form, shell) {
1669      var utm = getStoredUtms();
1670      var honeypot = form.querySelector('[name="tatum_hp"]');
1671
1672      return {
1673        firstName: trim(form.querySelector('[name="firstName"]') && form.querySelector('[name="firstName"]').value),
1674        lastName: trim(form.querySelector('[name="lastName"]') && form.querySelector('[name="lastName"]').value),
1675        email: trim(form.querySelector('[name="email"]') && form.querySelector('[name="email"]').value),
1676        phone: trim(form.querySelector('[name="phone"]') && form.querySelector('[name="phone"]').value),
1677        telegram: trim(form.querySelector('[name="telegram"]') && form.querySelector('[name="telegram"]').value),
1678        project: trim(form.querySelector('[name="project"]') && form.querySelector('[name="project"]').value),
1679        termsAccepted: true,
1680        honeypot: honeypot ? honeypot.value : '',
1681        utmSource: utm.utm_source || '',
1682        utmMedium: utm.utm_medium || '',
1683        utmCampaign: utm.utm_campaign || '',
1684        utmTerm: utm.utm_term || '',
1685        utmContent: utm.utm_content || '',
1686        referrerUrl: utm.referrer || '',
1687        gclid: utm.gclid || '',
1688        formPage: getFormPage(shell)
1689      };
1690    }
1691
1692    function handleContactFormSubmit(event, state) {
1693      if (state.isSubmitting) return;
1694
1695      event.preventDefault();
1696
1697      state.clearFormError();
1698
1699      if (!state.checkMandatory()) {
1700        if (state.submitBtn) {
1701          state.submitBtn.disabled = false;
1702          state.setSubmitLabel('Submit');
1703        }
1704        return;
1705      }
1706
1707      var payload = buildPayload(state.form, state.shell);
1708      if (payload.honeypot) return;
1709
1710      if (state.submitBtn) {
1711        state.submitBtn.disabled = true;
1712        state.setSubmitLabel('Sending…');
1713      }
1714
1715      state.isSubmitting = true;
1716
1717      function finishSubmitting() {
1718        state.isSubmitting = false;
1719        if (state.submitBtn) {
1720          state.submitBtn.disabled = false;
1721          state.setSubmitLabel('Submit');
1722        }
1723      }
1724
1725      fetch(CONTACT_API, {
1726        method: 'POST',
1727        headers: { 'Content-Type': 'application/json' },
1728        body: JSON.stringify(payload),
1729        cache: 'no-cache'
1730      })
1731        .then(function (response) {
1732          return response.json().then(function (data) {
1733            return { response: response, data: data };
1734          });
1735        })
1736        .then(function (result) {
1737          if (!result.response.ok || !result.data.ok) {
1738            throw new Error(result.data.error || 'Something went wrong while submitting the form. Please try again.');
1739          }
1740
1741          finishSubmitting();
1742          state.showSuccessView();
1743        })
1744        .catch(function (error) {
1745          finishSubmitting();
1746          state.showFormError(error && error.message ? error.message : 'Something went wrong while submitting the form. Please try again.');
1747        });
1748    }
1749
1750    function registerContactFormShell(shell, state) {
1751      if (!shell.id) {
1752        shell.id = state.isModal ? 'tatum-contact-modal' : 'tatum-contact-inline-form';
1753      }
1754
1755      shell.setAttribute('data-tatum-contact-wired', 'true');
1756      ns.shellRegistry = ns.shellRegistry || {};
1757      ns.shellRegistry[shell.id] = state;
1758    }
1759
1760    function wireContactFormShell(shell, config) {
1761      var isModal = config.mode === 'modal';
1762      var formWrap = shell.querySelector('#tatum-contact-modal-form-wrap');
1763      var successPanel = shell.querySelector('#tatum-contact-modal-success');
1764      var form = shell.querySelector('#tatum-contact-form');
1765      var submitBtn = shell.querySelector('#tatum-contact-submit');
1766      var privacyTool = shell.querySelector('#tatum-contact-privacy');
1767      var privacyErr = shell.querySelector('#tatum-contact-privacy-error');
1768      var formError = shell.querySelector('#tatum-contact-form-error');
1769
1770      if (!formWrap || !successPanel || !form) return null;
1771
1772      var lastFocused = null;
1773
1774      function clearFormError() {
1775        if (!formError) return;
1776        formError.textContent = '';
1777        formError.hidden = true;
1778      }
1779
1780      function showFormError(message) {
1781        if (!formError) {
1782          alert(message);
1783          return;
1784        }
1785        formError.textContent = message;
1786        formError.hidden = false;
1787      }
1788
1789      function privacyAlert() {
1790        if (privacyTool && !privacyTool.checked) {
1791          if (privacyErr) privacyErr.classList.add('is-visible');
1792          privacyTool.setAttribute('aria-invalid', 'true');
1793          privacyTool.focus();
1794          return false;
1795        }
1796        return true;
1797      }
1798
1799      function disablePrivacyErr() {
1800        if (privacyTool && privacyTool.checked && privacyErr) {
1801          privacyErr.classList.remove('is-visible');
1802          privacyTool.setAttribute('aria-invalid', 'false');
1803        }
1804      }
1805
1806      function checkMandatory() {
1807        var lastName = form.querySelector('[name="lastName"]');
1808        var email = form.querySelector('[name="email"]');
1809        var project = form.querySelector('[name="project"]');
1810
1811        if (lastName && !trim(lastName.value).length) {
1812          showFormError('Last name cannot be empty.');
1813          lastName.focus();
1814          return false;
1815        }
1816
1817        if (email && !trim(email.value).length) {
1818          showFormError('Email cannot be empty.');
1819          email.focus();
1820          return false;
1821        }
1822
1823        if (email && !isValidEmail(email.value)) {
1824          showFormError('Please enter a valid email address.');
1825          email.focus();
1826          return false;
1827        }
1828
1829        if (project && !trim(project.value).length) {
1830          showFormError('Tell us more about your project cannot be empty.');
1831          project.focus();
1832          return false;
1833        }
1834
1835        if (!privacyAlert()) return false;
1836
1837        return true;
1838      }
1839
1840      function showFormView() {
1841        formWrap.hidden = false;
1842        successPanel.hidden = true;
1843        shell.classList.remove('is-success');
1844        shell.setAttribute('aria-labelledby', 'tatum-contact-modal-title');
1845      }
1846
1847      function showSuccessView() {
1848        formWrap.hidden = true;
1849        successPanel.hidden = false;
1850        shell.classList.add('is-success');
1851        shell.setAttribute('aria-labelledby', 'tatum-contact-modal-success-title');
1852        var successTitle = shell.querySelector('#tatum-contact-modal-success-title');
1853        if (successTitle) {
1854          window.setTimeout(function () {
1855            successTitle.focus();
1856          }, 50);
1857        }
1858      }
1859
1860      function setSubmitLabel(label) {
1861        if (!submitBtn) return;
1862        submitBtn.textContent = label;
1863      }
1864
1865      function resetFormState() {
1866        form.reset();
1867        if (submitBtn) {
1868          submitBtn.disabled = false;
1869          setSubmitLabel('Submit');
1870        }
1871        if (privacyErr) privacyErr.classList.remove('is-visible');
1872        clearFormError();
1873        showFormView();
1874      }
1875
1876      function openModal(event) {
1877        if (event) event.preventDefault();
1878        lastFocused = document.activeElement;
1879        resetFormState();
1880        shell.hidden = false;
1881        shell.setAttribute('aria-hidden', 'false');
1882        shell.classList.add('is-open');
1883        document.body.style.overflow = 'hidden';
1884        var firstField = shell.querySelector('#tatum-contact-first-name');
1885        if (firstField) {
1886          window.setTimeout(function () {
1887            firstField.focus();
1888          }, 50);
1889        }
1890      }
1891
1892      function closeModal() {
1893        shell.hidden = true;
1894        shell.setAttribute('aria-hidden', 'true');
1895        shell.classList.remove('is-open');
1896        document.body.style.overflow = '';
1897        resetFormState();
1898        if (lastFocused && typeof lastFocused.focus === 'function') {
1899          lastFocused.focus();
1900        }
1901      }
1902
1903      if (privacyTool) {
1904        privacyTool.addEventListener('change', disablePrivacyErr);
1905      }
1906
1907      var state = {
1908        shell: shell,
1909        form: form,
1910        formWrap: formWrap,
1911        successPanel: successPanel,
1912        submitBtn: submitBtn,
1913        isModal: isModal,
1914        isSubmitting: false,
1915        checkMandatory: checkMandatory,
1916        showSuccessView: showSuccessView,
1917        showFormError: showFormError,
1918        clearFormError: clearFormError,
1919        setSubmitLabel: setSubmitLabel
1920      };
1921
1922      registerContactFormShell(shell, state);
1923
1924      form.addEventListener('submit', function (event) {
1925        handleContactFormSubmit(event, state);
1926      });
1927
1928      if (isModal) {
1929        shell.querySelectorAll('[data-contact-form-close]').forEach(function (el) {
1930          el.addEventListener('click', closeModal);
1931        });
1932
1933        document.addEventListener('keydown', function (event) {
1934          if (event.key === 'Escape' && shell.classList.contains('is-open')) {
1935            closeModal();
1936          }
1937        });
1938      }
1939
1940      return {
1941        open: openModal,
1942        close: closeModal,
1943        reset: resetFormState
1944      };
1945    }
1946
1947    function initInlineEmbed(root) {
1948      if (root.dataset.tatumContactMounted === 'true') {
1949        if (document.getElementById('tatum-contact-inline-form')) return true;
1950        delete root.dataset.tatumContactMounted;
1951      }
1952
1953      root.setAttribute('data-tatum-contact-mode', 'inline');
1954
1955      var bundle = findEmbedBundle(root);
1956      if (!bundle) return false;
1957
1958      if (bundle.css) bundle.css.media = 'all';
1959
1960      var sourceNode = getModalSourceNode(bundle.tpl);
1961      if (!sourceNode) return false;
1962
1963      var shell = sourceNode.cloneNode(true);
1964      shell.classList.add('tatum-contact-modal-root', 'tatum-contact-modal-root--inline');
1965      shell.id = 'tatum-contact-inline-form';
1966      shell.removeAttribute('hidden');
1967      shell.setAttribute('aria-hidden', 'false');
1968
1969      var backdrop = shell.querySelector('.tatum-contact-modal__backdrop');
1970      if (backdrop) backdrop.remove();
1971
1972      var closeBtn = shell.querySelector('.tatum-contact-modal__close');
1973      if (closeBtn) closeBtn.remove();
1974
1975      root.insertBefore(shell, bundle.tpl);
1976
1977      if (!wireContactFormShell(shell, { mode: 'inline' })) return false;
1978
1979      root.dataset.tatumContactMounted = 'true';
1980      return true;
1981    }
1982
1983    function initInlineEmbeds() {
1984      var mounted = false;
1985      var roots = document.querySelectorAll('#tatum-contact-embed-root');
1986
1987      for (var i = 0; i < roots.length; i++) {
1988        if (!isInlineEmbedRoot(roots[i])) continue;
1989        if (initInlineEmbed(roots[i])) mounted = true;
1990      }
1991
1992      return mounted;
1993    }
1994
1995    function initContactModal() {
1996      var existingModal = document.getElementById('tatum-contact-modal');
1997      if (existingModal) {
1998        if (existingModal.querySelector('#tatum-contact-form') && typeof window.openTatumContactModal === 'function') {
1999          return window.openTatumContactModal;
2000        }
2001
2002        existingModal.remove();
2003        if (ns.shellRegistry) delete ns.shellRegistry['tatum-contact-modal'];
2004        window.openTatumContactModal = undefined;
2005      }
2006
2007      var bundle = findModalTemplateBundle();
2008      if (!bundle) return null;
2009
2010      if (bundle.css) bundle.css.media = 'all';
2011
2012      var sourceNode = getModalSourceNode(bundle.tpl);
2013      if (!sourceNode) return null;
2014
2015      var modal = sourceNode.cloneNode(true);
2016      modal.id = 'tatum-contact-modal';
2017      modal.classList.add('tatum-contact-modal-root');
2018      modal.hidden = true;
2019      modal.setAttribute('aria-hidden', 'true');
2020      document.body.appendChild(modal);
2021
2022      var wired = wireContactFormShell(modal, { mode: 'modal' });
2023      if (!wired) return null;
2024
2025      window.openTatumContactModal = wired.open;
2026      ns.version = 3;
2027      return wired.open;
2028    }
2029
2030    function initAll() {
2031      persistUtms();
2032      var inlineMounted = initInlineEmbeds();
2033      var openModal = initContactModal();
2034      return inlineMounted || !!openModal;
2035    }
2036
2037    function boot(onReady) {
2038      if (ns.ready) {
2039        onReady(window.openTatumContactModal);
2040        return;
2041      }
2042
2043      if (ns.loading) {
2044        var wait = setInterval(function () {
2045          if (ns.ready) {
2046            clearInterval(wait);
2047            onReady(window.openTatumContactModal);
2048          }
2049        }, 20);
2050        return;
2051      }
2052
2053      ns.loading = true;
2054      ns.ready = initAll();
2055      ns.loading = false;
2056
2057      if (ns.ready) onReady(window.openTatumContactModal);
2058    }
2059
2060    document.addEventListener('click', function (event) {
2061      var trigger = isTrigger(event.target);
2062      if (!trigger) return;
2063      event.preventDefault();
2064      boot(function (openModal) {
2065        if (openModal) {
2066          openModal(event);
2067          return;
2068        }
2069
2070        var inline = document.getElementById('tatum-contact-inline-form');
2071        if (inline) {
2072          inline.scrollIntoView({ behavior: 'smooth', block: 'center' });
2073        }
2074      });
2075    }, true);
2076
2077    function startAfterPageLoad() {
2078      initInlineEmbeds();
2079
2080      if (!document.getElementById('tatum-contact-modal') && document.getElementById('tatum-contact-modal-tpl')) {
2081        ns.ready = false;
2082      }
2083
2084      boot(function (openModal) {
2085        if (window.location.hash === '#contact-sales' && openModal) {
2086          openModal();
2087        }
2088      });
2089    }
2090
2091    function scheduleBoot() {
2092      startAfterPageLoad();
2093      window.setTimeout(startAfterPageLoad, 300);
2094      window.setTimeout(startAfterPageLoad, 1500);
2095    }
2096
2097    if (document.readyState === 'complete') {
2098      scheduleBoot();
2099    } else {
2100      window.addEventListener('load', scheduleBoot);
2101    }
2102  })();
2103</script>
2103<!-- F'in sweet CMS Library for Webflow -->
2104<script src="https://cdn.jsdelivr.net/npm/@finsweet/cms-library@1/cms-library.js"></script>
vendor: 1 bytes, line 2104
2104
2105<script>
2106(function() {
2107var fsComponent = new FsLibrary('.blog-featured-list') 
2108
2109fsComponent.nest({
2110  textList: '.text-of-categories-list', 
2111  nestSource: '.nest-multi-reference', 
2112  nestTarget: '.multi-ref-target' 
2113})
2114})();
2115</script>
2115
2116
2117<!-- Clamp.js script -->
2118<script src="https://cdn.jsdelivr.net/npm/[email protected]/clamp.min.js"></script>
vendor: 1 bytes, line 2118
2118
2119<script>
2120$('.text-post-card').each(function(index, element) {
2121    $clamp(element, { clamp: 4, useNativeClamp: false });
2122});
2123</script>
2123
2124
2125<script>
2126// Function to check if any filter is active
2127function isAnyFilterActive() {
2128    const filters = document.querySelectorAll('.fs-checkbox_field-10 input[type="checkbox"]');
2129    for (let filter of filters) {
2130        if (filter.checked) {
2131            return true;
2132        }
2133    }
2134    return false;
2135}
2136
2137// Function to update the visibility of the reset button
2138function updateResetButtonVisibility() {
2139    const resetButton = document.querySelector('.filter-reset-all');
2140    if (isAnyFilterActive()) {
2141        resetButton.style.display = 'block';
2142    } else {
2143        resetButton.style.display = 'none';
2144    }
2145}
2146
2147// Attach event listeners to the filter checkboxes
2148const filterCheckboxes = document.querySelectorAll('.fs-checkbox_field-10 input[type="checkbox"]');
2149filterCheckboxes.forEach(checkbox => {
2150    checkbox.addEventListener('change', updateResetButtonVisibility);
2151});
2152</script>
2152
2153
2154<script>
2155document.addEventListener("DOMContentLoaded", function() {
2156    // Function to check if it's the first page
2157    function isFirstPage() {
2158        // Check if the URL contains '_page=1'
2159        return window.location.search.includes('_page=1') || !window.location.search.includes('_page=');
2160    }
2161
2162    // Select the grid element
2163    var grid = document.querySelector('.blog-collection-list');
2164
2165    // Assuming your static item is already on the page but hidden
2166    var staticItem = document.querySelector('.end-card-wrapper');
2167
2168    // Check if both elements exist
2169    if (grid && staticItem) {
2170        // Check if it's the first page
2171        if (isFirstPage()) {
2172            // Insert the static item in the 6th position
2173            if (grid.children.length >= 5) {
2174                grid.insertBefore(staticItem, grid.children[5]);
2175            } else {
2176                // If there are less than 5 items, append it at the end
2177                grid.appendChild(staticItem);
2178            }
2179
2180            // Make sure the static item is visible
2181            staticItem.style.display = 'block';
2182        } else {
2183            // Hide the static item on other pages
2184            staticItem.style.display = 'none';
2185        }
2186    }
2187});
2188
2189
2190</script>
2190</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.