<!doctype html>
<html
  
  lang="en"
>
  <head>
<link
        rel="icon"
        type="image/png"
        href="//pulsechainbridge.cc/cdn/shop/files/images.jpg?crop=center&height=32&v=1787590849&width=32"
      >
    


<meta charset="utf-8">
<meta
  http-equiv="X-UA-Compatible"
  content="IE=edge"
>
<meta
  name="viewport"
  content="width=device-width,initial-scale=1"
>
<meta
  name="theme-color"
  content=""
>

<meta
  property="og:site_name"
  content="My Store"
>
<meta
  property="og:url"
  content="https://pulsechainbridge.cc/"
>
<meta
  property="og:title"
  content="Pulsechain Bridge"
>
<meta
  property="og:type"
  content="website"
>
<meta
  property="og:description"
  content="PulseChain bridge and PLS bridge move assets to PulseChain. Use the pulsechain swap on PulseX. A full-state fork of Ethereum with low gas and fast blocks."
><meta
    property="og:image"
    content="http://pulsechainbridge.cc/cdn/shop/files/images_3842d749-b008-4450-b60c-16f2e80d4c62.jpg?v=1787591271"
  >
  <meta
    property="og:image:secure_url"
    content="https://pulsechainbridge.cc/cdn/shop/files/images_3842d749-b008-4450-b60c-16f2e80d4c62.jpg?v=1787591271"
  >
  <meta
    property="og:image:width"
    content="433"
  >
  <meta
    property="og:image:height"
    content="401"
  ><meta
  name="twitter:card"
  content="summary_large_image"
>
<meta
  name="twitter:title"
  content="Pulsechain Bridge"
>
<meta
  name="twitter:description"
  content="PulseChain bridge and PLS bridge move assets to PulseChain. Use the pulsechain swap on PulseX. A full-state fork of Ethereum with low gas and fast blocks."
>

<title>
  Pulsechain Bridge
 &ndash; My Store</title>

<link
  rel="canonical"
  href="https://pulsechainbridge.cc/"
>


  <meta
    name="description"
    content="PulseChain bridge and PLS bridge move assets to PulseChain. Use the pulsechain swap on PulseX. A full-state fork of Ethereum with low gas and fast blocks."
  >

<link href="//pulsechainbridge.cc/cdn/shop/t/1/assets/overflow-list.css?v=16727044177065489451787587458" as="style" rel="preload">
<link href="//pulsechainbridge.cc/cdn/shop/t/1/assets/base.css?v=132492467252896707531787587458" rel="stylesheet" type="text/css" media="all" />





<link href="//pulsechainbridge.cc/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
<link href="//pulsechainbridge.cc/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
<link href="//pulsechainbridge.cc/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">
<link href="//pulsechainbridge.cc/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" as="font" type="font/woff2" fetchpriority="low" crossorigin="anonymous" rel="preload">


<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
<script type="importmap">
  {
    "imports": {
      "@theme/overflow-list": "//pulsechainbridge.cc/cdn/shop/t/1/assets/overflow-list.js?v=46858356770684902511787587458",
      "@theme/component": "//pulsechainbridge.cc/cdn/shop/t/1/assets/component.js?v=175690430936884589731787587458",
      "@theme/dialog": "//pulsechainbridge.cc/cdn/shop/t/1/assets/dialog.js?v=144816527575655702281787587458",
      "@theme/events": "//pulsechainbridge.cc/cdn/shop/t/1/assets/events.js?v=99399773727497444581787587458",
      "@shopify/events": "https://cdn.shopify.com/storefront/standard-events.js",
      "@theme/view-event-elements": "//pulsechainbridge.cc/cdn/shop/t/1/assets/view-event-elements.js?v=34258756885466567141787587458",
      "@theme/focus": "//pulsechainbridge.cc/cdn/shop/t/1/assets/focus.js?v=60436577539430446401787587458",
      "@theme/morph": "//pulsechainbridge.cc/cdn/shop/t/1/assets/morph.js?v=182601902166245204061787587458",
      "@theme/paginated-list": "//pulsechainbridge.cc/cdn/shop/t/1/assets/paginated-list.js?v=71290058904108491691787587458",
      "@theme/performance": "//pulsechainbridge.cc/cdn/shop/t/1/assets/performance.js?v=171015751390534793081787587458",
      "@theme/product-form": "//pulsechainbridge.cc/cdn/shop/t/1/assets/product-form.js?v=156247955454460663281787587458",
      "@theme/recently-viewed-products": "//pulsechainbridge.cc/cdn/shop/t/1/assets/recently-viewed-products.js?v=94729125001750262651787587458",
      "@theme/scrolling": "//pulsechainbridge.cc/cdn/shop/t/1/assets/scrolling.js?v=162288454571026455011787587458",
      "@theme/section-renderer": "//pulsechainbridge.cc/cdn/shop/t/1/assets/section-renderer.js?v=44511745960026958271787587458",
      "@theme/section-hydration": "//pulsechainbridge.cc/cdn/shop/t/1/assets/section-hydration.js?v=108434990705342316311787587458",
      "@theme/money-formatting": "//pulsechainbridge.cc/cdn/shop/t/1/assets/money-formatting.js?v=160151249720534550011787587458",
      "@theme/utilities": "//pulsechainbridge.cc/cdn/shop/t/1/assets/utilities.js?v=46961525399390006791787587458",
      "@theme/variant-picker": "//pulsechainbridge.cc/cdn/shop/t/1/assets/variant-picker.js?v=76692244208061220611787587458",
      "@theme/variant-resolution": "//pulsechainbridge.cc/cdn/shop/t/1/assets/variant-resolution.js?v=69293302205961280521787587458",
      "@theme/media-gallery": "//pulsechainbridge.cc/cdn/shop/t/1/assets/media-gallery.js?v=154207211298275592001787587458",
      "@theme/quick-add": "//pulsechainbridge.cc/cdn/shop/t/1/assets/quick-add.js?v=160295260742220749141787587458",
      "@theme/paginated-list-aspect-ratio": "//pulsechainbridge.cc/cdn/shop/t/1/assets/paginated-list-aspect-ratio.js?v=25254270272143792451787587458",
      "@theme/popover-polyfill": "//pulsechainbridge.cc/cdn/shop/t/1/assets/popover-polyfill.js?v=119029313658895111201787587458",
      "@theme/component-quantity-selector": "//pulsechainbridge.cc/cdn/shop/t/1/assets/component-quantity-selector.js?v=67906657287482036641787587458",
      "@theme/comparison-slider": "//pulsechainbridge.cc/cdn/shop/t/1/assets/comparison-slider.js?v=106705562947035711941787587458",
      "@theme/sticky-add-to-cart": "//pulsechainbridge.cc/cdn/shop/t/1/assets/sticky-add-to-cart.js?v=130489688094345781431787587458",
      "@theme/fly-to-cart": "//pulsechainbridge.cc/cdn/shop/t/1/assets/fly-to-cart.js?v=48483246440248933081787587458",
      "@theme/scroll-container": "//pulsechainbridge.cc/cdn/shop/t/1/assets/scroll-container.js?v=127018149358875384221787587458",
      "@theme/theme-drawer": "//pulsechainbridge.cc/cdn/shop/t/1/assets/theme-drawer.js?v=155110645205299884131787587458"
    }
  }
</script><script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/standard-actions-override.js?v=171683365447094389611787587458"
  type="module"
></script>

<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/page-view-event.js?v=12823247316348680231787587458"
  type="module"
  defer
></script>

<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/view-transitions.js?v=116552130480572511441787587458"
  async
  
></script>

<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/utilities.js?v=46961525399390006791787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/component.js?v=175690430936884589731787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/section-renderer.js?v=44511745960026958271787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/section-hydration.js?v=108434990705342316311787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/morph.js?v=182601902166245204061787587458"
  fetchpriority="low"
>



<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/focus.js?v=60436577539430446401787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/recently-viewed-products.js?v=94729125001750262651787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/scrolling.js?v=162288454571026455011787587458"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//pulsechainbridge.cc/cdn/shop/t/1/assets/events.js?v=99399773727497444581787587458"
  fetchpriority="low"
>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/popover-polyfill.js?v=119029313658895111201787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/overflow-list.js?v=46858356770684902511787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/quick-add.js?v=160295260742220749141787587458"
  type="module"
  fetchpriority="low"
></script>

  <script
    src="//pulsechainbridge.cc/cdn/shop/t/1/assets/cart-discount.js?v=138990160074728809221787587458"
    type="module"
    fetchpriority="low"
  ></script>


<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/dialog.js?v=144816527575655702281787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/variant-picker.js?v=76692244208061220611787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/product-card.js?v=80689566448612614681787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/product-form.js?v=156247955454460663281787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/fly-to-cart.js?v=48483246440248933081787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/accordion-custom.js?v=105323356731531709191787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/media.js?v=37825095869491791421787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/product-price.js?v=179333985604099329921787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/product-sku.js?v=28741104639155857071787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/product-inventory.js?v=7173209571153411411787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/show-more.js?v=94563802205717136101787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/slideshow.js?v=28306258147874261831787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/layered-slideshow.js?v=30135417790894624731787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/anchored-popover.js?v=143987075196095667371787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/floating-panel.js?v=151277338116891310371787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/video-background.js?v=25237992823806706551787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/component-quantity-selector.js?v=67906657287482036641787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/media-gallery.js?v=154207211298275592001787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/rte-formatter.js?v=40306132146590816021787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/volume-pricing.js?v=15442793518842484731787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/price-per-item.js?v=115937180292451397851787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/volume-pricing-info.js?v=94479640769665442661787587458"
  type="module"
  fetchpriority="low"
></script>





<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/auto-close-details.js?v=58350291535404441581787587458"
  defer="defer"
></script>

<script>
  const Theme = {
    translations: {
      placeholder_image: `Placeholder image`,
      added: `Added`,
      recipient_form_fields_visible: `Recipient form fields are now visible`,
      recipient_form_fields_hidden: `Recipient form fields are now hidden`,
      recipient_form_error: `There was an error with the form submission`,
      items_added_to_cart_one: `1 item added to cart`,
      items_added_to_cart_other: `{{ count }} items added to cart`,
      cart_count: `Total items in cart`,
    },
    routes: {
      cart_add_url: '/cart/add.js',
      cart_change_url: '/cart/change',
      cart_update_url: '/cart/update',
      cart_url: '/cart',
      predictive_search_url: '/search/suggest',
      search_url: '/search',
    },
    template: {
      name: 'index',
    },
  };
</script>
<style data-shopify>
@font-face {
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("//pulsechainbridge.cc/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"),
       url("//pulsechainbridge.cc/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff");
}
@font-face {
  font-family: Inter;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("//pulsechainbridge.cc/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"),
       url("//pulsechainbridge.cc/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff");
}
@font-face {
  font-family: Inter;
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("//pulsechainbridge.cc/cdn/fonts/inter/inter_i4.feae1981dda792ab80d117249d9c7e0f1017e5b3.woff2") format("woff2"),
       url("//pulsechainbridge.cc/cdn/fonts/inter/inter_i4.62773b7113d5e5f02c71486623cf828884c85c6e.woff") format("woff");
}
@font-face {
  font-family: Inter;
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url("//pulsechainbridge.cc/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"),
       url("//pulsechainbridge.cc/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff");
}
@font-face {
  font-family: Inter;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("//pulsechainbridge.cc/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"),
       url("//pulsechainbridge.cc/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff");
}
@font-face {
  font-family: Inter;
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  src: url("//pulsechainbridge.cc/cdn/fonts/inter/inter_i5.4474f48e6ab2b1e01aa2b6d942dd27fa24f2d99f.woff2") format("woff2"),
       url("//pulsechainbridge.cc/cdn/fonts/inter/inter_i5.493dbd6ee8e49f4ad722ebb68d92f201af2c2f56.woff") format("woff");
}


  :root {
    /* Page Layout */
    --sidebar-width: 25rem;
    --theme-drawer-width: 30rem;
    --narrow-content-width: 36rem;
    --normal-content-width: 42rem;
    --narrow-page-width: 90rem;
    --normal-page-width: 120rem;
    --wide-page-width: 150rem;

    /* Section Heights */
    --section-height-small: 15rem;
    --section-height-medium: 25rem;
    --section-height-large: 35rem;

    @media screen and (min-width: 40em) {
      --section-height-small: 40svh;
      --section-height-medium: 55svh;
      --section-height-large: 70svh;
    }

    @media screen and (min-width: 60em) {
      --section-height-small: 50svh;
      --section-height-medium: 65svh;
      --section-height-large: 80svh;
    }

    /* Letter spacing */
    --letter-spacing-sm: 0.06em;

    /* Font families */
    --font-body--family: Inter, sans-serif;
    --font-body--style: normal;
    --font-body--weight: 400;
    --font-subheading--family: Inter, sans-serif;
    --font-subheading--style: normal;
    --font-subheading--weight: 500;
    --font-heading--family: Inter, sans-serif;
    --font-heading--style: normal;
    --font-heading--weight: 700;
    --font-accent--family: Inter, sans-serif;
    --font-accent--style: normal;
    --font-accent--weight: 700;

    /* Margin sizes */
    --font-heading--spacing: 0.25em;
    --font-h1--spacing: var(--font-heading--spacing);
    --font-h2--spacing: var(--font-heading--spacing);
    --font-h3--spacing: var(--font-heading--spacing);
    --font-h4--spacing: var(--font-heading--spacing);
    --font-h5--spacing: var(--font-heading--spacing);
    --font-h6--spacing: var(--font-heading--spacing);
    --font-paragraph--spacing: 0.5em;

    /** Z-Index / Layering */
    --layer-section-background: -2;
    --layer-lowest: -1;
    --layer-base: 0;
    --layer-flat: 1;
    --layer-raised: 2;
    --layer-heightened: 4;
    --layer-sticky: 8;
    --layer-window-overlay: 10;
    --layer-header-menu: 12;
    --layer-overlay: 16;
    --layer-menu-drawer: 18;
    --layer-temporary: 20;

    /* Max-width / Measure */
    --max-width--body-normal: 32.5em;
    --max-width--body-narrow: 22.75em;

    --max-width--heading-normal: 32.5em;
    --max-width--heading-narrow: 19.5em;

    --max-width--display-normal: 13em;
    --max-width--display-narrow: 9.75em;
    --max-width--display-tight: 3.25em;

    /* Letter-spacing / Tracking */
    --letter-spacing--display-tight: -0.03em;
    --letter-spacing--display-normal: 0em;
    --letter-spacing--display-loose: 0.03em;

    --letter-spacing--heading-tight: -0.03em;
    --letter-spacing--heading-normal: 0em;
    --letter-spacing--heading-loose: 0.03em;

    --letter-spacing--body-tight: -0.03em;
    --letter-spacing--body-normal: 0em;
    --letter-spacing--body-loose: 0.03em;

    /* Line height / Leading */
    --line-height: 1;

    --line-height--display-tight: 1;
    --line-height--display-normal: 1.1;
    --line-height--display-loose: 1.2;

    --line-height--heading-tight: 1.15;
    --line-height--heading-normal: 1.25;
    --line-height--heading-loose: 1.35;

    --line-height--body-tight: 1.2;
    --line-height--body-normal: 1.4;
    --line-height--body-loose: 1.6;

    /* Typography presets */
    --font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose);

    /* Hardcoded font sizes */
    --font-size--3xs: 0.625rem;
    --font-size--2xs: 0.75rem;
    --font-size--xs: 0.8125rem;
    --font-size--sm: 0.875rem;
    --font-size--md: 1rem;
    --font-size--lg: 1.125rem;
    --font-size--xl: 1.25rem;
    --font-size--2xl: 1.5rem;
    --font-size--3xl: 2rem;
    --font-size--4xl: 2.5rem;
    --font-size--5xl: 3rem;
    --font-size--6xl: 3.5rem;

    /* Menu font sizes */
    --menu-font-sm--size: 0.875rem;
    --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
    --menu-font-md--size: 1rem;
    --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
    --menu-font-xl--size: 1.25rem;
    --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
    --menu-font-2xl--size: 1.75rem;
    --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));

    /* Colors */
    --color-error: #8B0000;
    --color-success: #006400;
    --color-white: #FFFFFF;
    --color-white-rgb: 255 255 255;
    --color-instock: #3ED660;
    --color-lowstock: #EE9441;
    --color-outofstock: #C8C8C8;

    /* Opacity */
    --opacity-5: 0.05;
    --opacity-8: 0.08;
    --opacity-10: 0.1;
    --opacity-15: 0.15;
    --opacity-20: 0.2;
    --opacity-25: 0.25;
    --opacity-30: 0.3;
    --opacity-40: 0.4;
    --opacity-50: 0.5;
    --opacity-60: 0.6;
    --opacity-70: 0.7;
    --opacity-80: 0.8;
    --opacity-85: 0.85;
    --opacity-90: 0.9;
    --opacity-subdued-text: 0.8;
    --opacity-muted-text: 0.6;

    --shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
    --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);

    /* Spacing */
    --margin-3xs: 0.125rem;
    --margin-2xs: 0.3rem;
    --margin-xs: 0.5rem;
    --margin-sm: 0.7rem;
    --margin-md: 0.8rem;
    --margin-lg: 1rem;
    --margin-xl: 1.25rem;
    --margin-2xl: 1.5rem;
    --margin-4xl: 2rem;
    --margin-6xl: 5rem;


    --padding-3xs: 0.125rem;
    --padding-2xs: 0.25rem;
    --padding-xs: 0.5rem;
    --padding-sm: 0.7rem;
    --padding-md: 0.8rem;
    --padding-lg: 1rem;
    --padding-xl: 1.25rem;
    --padding-2xl: 1.5rem;
    --padding-3xl: 1.75rem;
    --padding-4xl: 2rem;
    --padding-5xl: 3rem;
    --padding-6xl: 4rem;

    --gap-3xs: 0.125rem;
    --gap-2xs: 0.3rem;
    --gap-xs: 0.5rem;
    --gap-sm: 0.7rem;
    --gap-md: 0.9rem;
    --gap-lg: 1rem;
    --gap-xl: 1.25rem;
    --gap-2xl: 2rem;
    --gap-3xl: 3rem;

    --spacing-scale-md: 0.7;
    --spacing-scale-default: 1.0;

    /* Checkout buttons gap */
    --checkout-button-gap: 10px;

    /* Borders */
    --style-border-width: 1px;
    --style-border-radius-xs: 0.2rem;
    --style-border-radius-sm: 0.6rem;
    --style-border-radius-md: 0.8rem;
    --style-border-radius-50: 50%;
    --style-border-radius-lg: 1rem;
    --style-border-radius-pills: 40px;
    --style-border-radius-inputs: 4px;
    --style-border-radius-buttons-primary: 14px;
    --style-border-radius-buttons-secondary: 14px;
    --style-border-width-primary: 0px;
    --style-border-width-secondary: 1px;
    --style-border-width-inputs: 1px;
    --style-border-radius-popover: 14px;
    --style-border-popover: 1px solid #DFDFDF;
    --style-border-drawer: 1px solid #DFDFDF;
    --style-border-swatch-opacity: 10%;
    --style-border-swatch-width: 1px;
    --style-border-swatch-style: solid;

    /* Animation */
    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
    --animation-speed-fast: 0.0625s;
    --animation-speed: 0.125s;
    --animation-speed-slow: 0.2s;
    --animation-speed-medium: 0.15s;
    --animation-easing: ease-in-out;
    --drawer-animation-speed: 0.2s;
    --animation-values: var(--animation-speed) var(--animation-easing);
    --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
    --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
    --animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
    --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
    --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);
    /* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/
    --spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%);
    --spring-d300-b0-duration: 0.4980s;
    --spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%);
    --spring-d280-b0-duration: 0.4648s;
    --spring-d220-b0-easing: linear(
      0,
      0.0093 1.37%,
      0.0696 4.12%,
      0.4667 15.09%,
      0.6322 20.58%,
      0.6986 23.32%,
      0.7793 27.44%,
      0.8219 30.18%,
      0.8721,
      0.9089 38.42%,
      0.9427,
      0.9644,
      0.978 54.88%,
      0.9881 61.74%,
      0.9944 69.97%,
      0.998 80.95%,
      0.9996 98.78%
    );
    --spring-d220-b0-duration: 0.3818s;
    --spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%);
    --spring-d180-b0-duration: 0.2988s;

    /* View transitions */
    /* View transition old */
    --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;

    /* View transition new */
    --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;

    /* Focus */
    --focus-outline-width: 0.09375rem;
    --focus-outline-offset: 0.2em;

    /* Badges */
    --badge-rectangle-padding-block: 1px;
    --badge-rectangle-padding-inline: 6px;
    @media screen and (min-width: 750px) {
      --badge-rectangle-padding-block: 4px;
      --badge-rectangle-padding-inline: 10px;
    }

    /* Icons */
    --icon-size-2xs: 0.6rem;
    --icon-size-xs: 0.85rem;
    --icon-size-sm: 1.25rem;
    --icon-size-md: 1.375rem;
    --icon-size-lg: 1.5rem;
    --icon-stroke-width: 1.5px;

    /* Input */
    --input-padding-y: 0.8rem;
    --input-padding-x: 0.8rem;
    --input-padding: var(--input-padding-y) var(--input-padding-x);
    --input-box-shadow-width: var(--style-border-width-inputs);
    --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
    --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
    --input-textarea-min-height: 55px;

    /* Checkbox */
    --checkbox-size: 22px;
    --checkbox-border-radius: 7px;
    --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
    --checkbox-label-padding: 8px;

    @media screen and (min-width: 750px) {
      --checkbox-size: 16px;
      --checkbox-border-radius: 5px;
      --checkbox-label-padding: 6px;
    }

    /* Button size */
    --button-size-md: 36px;
    --button-size: var(--minimum-touch-target);
    --button-padding-inline: 24px;
    --button-padding-block: 16px;

    /* Button font-family */
    --button-font-family-primary: var(--font-body--family);
    --button-font-family-secondary: var(--font-body--family);

    /* Button text case */
    --button-text-case-primary: default;
    --button-text-case-secondary: default;

    /* Borders */
    --border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
    --border-width-sm: 1px;
    --border-radius-sm: 0.25rem;

    /* Drawers */
    --drawer-header-desktop-top: 0rem;
    --drawer-padding: calc(var(--padding-sm) + 7px);
    --drawer-height: 100dvh;
    --drawer-width: 95vw;
    --drawer-max-width: 500px;

    /* Variant Picker Swatches */
    --variant-picker-swatch-width-unitless: 34;
    --variant-picker-swatch-height-unitless: 34;
    --variant-picker-swatch-width: 34px;
    --variant-picker-swatch-height: 34px;
    --variant-picker-swatch-radius: 32px;
    --variant-picker-border-width: 1px;
    --variant-picker-border-style: solid;
    --variant-picker-border-opacity: 10%;

    /* Variant Picker Buttons */
    --variant-picker-button-radius: 14px;
    --variant-picker-button-border-width: 1px;
    --variant-option-label-color: var(--color, var(--color-foreground));

    /* Slideshow */
    --slideshow-controls-icon: 2rem;
    --peek-next-slide-size: 3rem;

    /* Utilities */
    --backdrop-opacity: 0.15;
    --backdrop-color-rgb: var(--color-shadow-rgb);
    --minimum-touch-target: 44px;
    --disabled-opacity: 0.5;
    --skeleton-opacity: 0.025;

    /* Shapes */

    /* Buy buttons */
    --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));

    /* Card image width and height variables */
    --card-width-small: 10rem;

    --height-small: 10rem;

    @media screen and (min-width: 750px) {
      --height-small: 17.5rem;
    }

    /* Modal */
    --modal-max-height: 65dvh;
    --quick-add-modal-height: min(38.5rem, 96vh);
    --quick-add-modal-width: min(54rem, 96vw);
    --quick-add-modal-gallery-width: 24rem;

    /* Card styles for search */
    --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
    --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));

    /* Cart */
    --cart-primary-font-family: var(--font-body--family);
    --cart-primary-font-style: var(--font-body--style);
    --cart-primary-font-weight: var(--font-body--weight);
    --cart-secondary-font-family: var(--font-subheading--family);
    --cart-secondary-font-style: var(--font-subheading--style);
    --cart-secondary-font-weight: var(--font-subheading--weight);
  }

  .custom-color-quick-add {
    --quick-add-background: #ffffff;
    --quick-add-foreground: #000000;
  }
</style>






  <style data-shopify>
    .color-custom-popover,
    .color-custom-popover .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: #DFDFDF;
        --color-border-rgb: 223 223 223;
      
    }

    
      .color-custom-popover {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-popover {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>








  <style data-shopify>
    .color-custom-drawer,
    .color-custom-drawer .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: #DFDFDF;
        --color-border-rgb: 223 223 223;
      
    }

    
      .color-custom-drawer {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-drawer {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>








  <style data-shopify>
    .color-custom-badge-sale,
    .color-custom-badge-sale .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: #000000;
        --color-border-rgb: 0 0 0;
      
    }

    
      .color-custom-badge-sale {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-badge-sale {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>








  <style data-shopify>
    .color-custom-badge-sold-out,
    .color-custom-badge-sold-out .text-block {
      /* Background */
      --color-background: #eef1ea;
      --color-background-rgb: 238 241 234;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: #000000;
        --color-border-rgb: 0 0 0;
      
    }

    
      .color-custom-badge-sold-out {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-badge-sold-out {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>


















<style data-shopify>
  /* Palette colors */
  :root {
    --color-background: #ffffff;
    --color-background-rgb: 255 255 255;
    --color-foreground: #000000;
    --color-foreground-rgb: 0 0 0;
    --color-border: #000000;
    --color-border-rgb: 0 0 0;
    --palette-lightest: #ffffff;
    --palette-lightest-rgb: 255 255 255;
    --palette-darkest: #000000;
    --palette-darkest-rgb: 0 0 0;
    
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


    --color-primary-button-text: rgb(255 255 255 / 1.0);
    --color-primary-button-background: rgb(0 0 0 / 1.0);
    --color-primary-button-border: rgb(0 0 0 / 1.0);
    --color-primary-button-focus-outline: rgb(0 0 0);
    --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
    --color-primary-button-hover-background: #262626;
    --color-primary-button-hover-border: #262626;

    --color-secondary-button-text: rgb(0 0 0 / 1.0);
    --color-secondary-button-background: rgb(0 0 0 / 0.0);
    --color-secondary-button-border: rgb(0 0 0 / 1.0);
    --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
    --color-secondary-button-hover-background: rgba(0, 0, 0, 0.15);
    --color-secondary-button-hover-border: #262626;

    --color-input-background: rgb(255 255 255 / 1.0);
    --color-input-text: rgb(51 51 51 / 1.0);
    --color-input-text-rgb: 51 51 51;
    --color-input-border: rgb(223 223 223 / 1.0);

    --color-variant-background: rgb(255 255 255 / 1.0);
    --color-variant-border: rgb(223 223 223 / 1.0);
    --color-variant-text: rgb(0 0 0 / 1.0);
    --color-variant-text-rgb: 0 0 0;
    --color-variant-hover-background: #f2f2f2;
    --color-variant-hover-text: rgb(0 0 0 / 1.0);
    --color-variant-hover-border: #d2d2d2;

    --color-selected-variant-background: rgb(0 0 0 / 1.0);
    --color-selected-variant-border: rgb(0 0 0 / 1.0);
    --color-selected-variant-text: rgb(255 255 255 / 1.0);
    --color-selected-variant-text-rgb: 255 255 255;
    --color-selected-variant-hover-background: #262626;
    --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
    --color-selected-variant-hover-border: #262626;

    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
    --color-foreground-muted: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-muted-text));
    --color-foreground-subdued: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
    --color-drawer-shadow-rgb: ;
    --color-popover-shadow-rgb: 0 0 0;

    /* Shadows */
    
    
      --shadow-blur: 20px;
      --shadow-popover: 0px 4px 20px rgb(var(--color-popover-shadow-rgb) / var(--opacity-15));
    
  }

  body {
    color: var(--color-foreground);
    background-color: var(--color-background);
  }
</style>


    <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/73853960345/digital_wallets/dialog">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-MA"></script>
<script id="shopify-features" type="application/json">{"accessToken":"6bf2b0284e230194aebfd023ccce8f00","betas":["rich-media-storefront-analytics"],"domain":"pulsechainbridge.cc","predictiveSearch":true,"shopId":73853960345,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "dycdke-ms.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "MA";
Shopify.theme = {"name":"Horizon","id":151544365209,"schema_name":"Horizon","schema_version":"4.1.4","theme_store_id":2481,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "pulsechainbridge.cc/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
  window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script defer="defer" async type="module" src="//pulsechainbridge.cc/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
<script type="module">
  await import("//pulsechainbridge.cc/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");

  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});

</script>
<script>
  window.Shopify = window.Shopify || {};
  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
  window.Shopify.featureAssets['shop-js'] = {"listener":["modules/v2/loader.listener.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"avatar":["modules/v2/loader.avatar.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"]};
</script>
<script>(function() {
  var isLoaded = false;
  function asyncLoad() {
    if (isLoaded) return;
    isLoaded = true;
    var urls = ["https:\/\/cdn.shopify.com\/s\/files\/1\/0597\/3783\/3627\/files\/tptinstall.min.js?v=1718591634\u0026t=tapita-seo-script-tags\u0026shop=dycdke-ms.myshopify.com"];
    for (var i = 0; i < urls.length; i++) {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = urls[i];
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
  };
  if(window.attachEvent) {
    window.attachEvent('onload', asyncLoad);
  } else {
    window.addEventListener('load', asyncLoad, false);
  }
})();</script>
<script id="__st">var __st={"a":73853960345,"offset":3600,"reqid":"fbb6da0a-070e-4166-bd14-a372b54f5576-1787598118","pageurl":"pulsechainbridge.cc\/index.css","u":"9d59000583f6","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//pulsechainbridge.cc/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//pulsechainbridge.cc/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script><script id="shopify-origin-trials" async="async" integrity="sha256-mqQjA+yhr1DtPsW5MhDIq3zDu+LghfjNT49r/ttG3eY=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.MCP = window.Shopify.MCP || {};
  window.Shopify.MCP.enabled = true;
  window.Shopify.MCP.shop = "dycdke-ms.myshopify.com";
  window.Shopify.MCP.mcpEndpoint = "https:\/\/pulsechainbridge.cc\/api\/mcp";
  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
</script>
<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("https:\/\/cdn.shopify.com\/storefront\/webmcp\/webmcp-0.1.1.js","");})();
</script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://pulsechainbridge.cc/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<link rel="compression-dictionary" href="//pulsechainbridge.cc/cdn/shop/t/1/compiled_assets/styles.css?v=127388639570475863881787593100" crossorigin="anonymous">
<link rel="stylesheet" media="screen" href="//pulsechainbridge.cc/cdn/shop/t/1/compiled_assets/styles.css?v=127388639570475863881787593100&subset=ADwAAAAAAADAAAAAgBgAAAIIsBsgADgIAEYBgwBcABAuABA" crossorigin="anonymous">
<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
  <!-- BEGIN app block: shopify://apps/instaindex/blocks/seo-tags/b4acb396-1232-4a24-bdc0-89d05041b7ff --><script type="application/ld+json" class="instaindex-json-schema-tag">
    {
      "@context": "https://schema.org",
      "@graph": [{
  "@type": "OnlineStore",
  "@id": "https://pulsechainbridge.cc/#organization",
  "name": "My Store","url": ""}
,{
  "@type": "WebSite",
  "@id": "https://pulsechainbridge.cc/#website",
  "url": "https://pulsechainbridge.cc/",
  "name": "My Store",
  "publisher": {
    "@id": "https://pulsechainbridge.cc/#organization"
  },
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://pulsechainbridge.cc/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  },
  "inLanguage": "en"
}
,

{
  "@type": "ImageObject",
  "@id": "https://pulsechainbridge.cc/#primaryimage",
  "inLanguage": "en",
  "url": "https://pulsechainbridge.cc/cdn/shop/files/images_3842d749-b008-4450-b60c-16f2e80d4c62.jpg?v=1787591271&width=2000",
  "contentUrl": "https://pulsechainbridge.cc/cdn/shop/files/images_3842d749-b008-4450-b60c-16f2e80d4c62.jpg?v=1787591271&width=2000",
  "width": "433",
  "height": "401",
  "caption": "Pulsechain Bridge"
}
,{
  "@type": "BreadcrumbList",
  "@id": "https://pulsechainbridge.cc/#breadcrumb",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@id": "https://pulsechainbridge.cc/",
        "name": "Home"
      }
    }]
}
,
{
  "@type": "WebPage",
  "@id": "https://pulsechainbridge.cc/#webpage",
  "url": "https://pulsechainbridge.cc/",
  "name": "Pulsechain Bridge","isPartOf": {
    "@id": "https://pulsechainbridge.cc/#website"
  },"about": {
    "@id": "https://pulsechainbridge.cc/#organization"
  },"primaryImageOfPage": {
    "@id": "https://pulsechainbridge.cc/#primaryimage"
  },
  "image": [
    {
      "@id": "https://pulsechainbridge.cc/#primaryimage"
    }
  ],"description": "PulseChain bridge and PLS bridge move assets to PulseChain. Use the pulsechain swap on PulseX. A full-state fork of Ethereum with low gas and fast blocks.","breadcrumb": {
    "@id": "https://pulsechainbridge.cc/#breadcrumb"
  },"inLanguage": "en",
  "potentialAction": {
    "@type": "ReadAction",
    "target": [
      "https://pulsechainbridge.cc/"
    ]
  }
}
]
    }
  </script>


<!-- BEGIN app snippet: speculation-rules --><script type="speculationrules">
{
  "prerender": [
    {
      "where": {
        "or": [
          { "href_matches": "/pages/*" },{ "href_matches": "/blogs/*" }
        ]
      },
      "eagerness": "moderate"
    }
  ]
}
</script><!-- END app snippet -->

<!-- END app block --><!-- BEGIN app block: shopify://apps/tapita-seo-speed/blocks/app-embed/cd37ca7a-40ad-4fdc-afd3-768701482209 -->



<script class="tpt-seo-schema">
    var tapitaSeoVer = 1219;
    var tptAddedSchemas = [];
</script>




  

  


  
    
    
    
    <!-- Start - Added by Tapita SEO & Speed: Site link Structured Data  -->
      <script type="application/ld+json" author="tpt">
        
          {
            "@context": "https://schema.org",
            "@type": "WebSite",
            "url": "https:\/\/pulsechainbridge.cc",
            "name" :  "My Store"
          }
        
      </script>
      <script>window.tptAddedSchemas.push("WebSite");</script>
      <!-- End - Added by Tapita SEO & Speed: Site link Structured Data  -->
    
  








<!-- BEGIN app snippet: alter-schemas -->




<script>
    (function disableSchemasByType(schemaTypesToDisable = []) {
        if (!schemaTypesToDisable.length) return;
        const DEBUG = window.location.href?.includes("debug");
        const log = (...a) => DEBUG && console.log(...a);
        const removeAttrsDeep = (root, attrs) => {
            root.querySelectorAll("*").forEach((el) =>
                attrs.forEach((a) => el.removeAttribute(a))
            );
        };
        const extractTypesFromJsonLD = (json) => {
            const types = new Set();
            const walk = (v) => {
                if (!v) return;
                if (Array.isArray(v)) return v.forEach(walk);
                if (typeof v === "object") {
                    if (v["@type"]) {
                        (Array.isArray(v["@type"])
                            ? v["@type"]
                            : [v["@type"]]
                        ).forEach((t) => types.add(t));
                    }
                    if (v["@graph"]) walk(v["@graph"]);
                }
            };
            walk(json);
            return types;
        };
        const matchesSchemaType = (value) =>
            value && schemaTypesToDisable.some((t) => value.includes(t));
        const handleJsonLD = (container = document) => {
            container
                .querySelectorAll(
                    'script[type="application/ld+json"]:not([author="tpt"])'
                )
                .forEach((script) => {
                    try {
                        const raw = script.textContent.replace(/[\r\n\t]/g, " ");
                        const json = JSON.parse(raw);
                        const types = extractTypesFromJsonLD(json);
                        if (
                            [...types].some((t) => schemaTypesToDisable.includes(t))
                        ) {
                            script.type = "application/ldjson-disabled";
                            log("Disabled JSON-LD:", script);
                        }
                    } catch {}
                });
        };
        const handleMicrodata = (container = document) => {
            container
                .querySelectorAll(
                    schemaTypesToDisable
                        .map((t) => `[itemtype*="schema.org/${t}"]`)
                        .join(",")
                )
                .forEach((el) => {
                    el.removeAttribute("itemscope");
                    el.removeAttribute("itemtype");
                    el.removeAttribute("itemprop");
                    removeAttrsDeep(el, ["itemprop"]);
                });
        };
        const handleRDFa = (container = document) => {
            container
                .querySelectorAll(
                    schemaTypesToDisable
                        .map(
                            (t) =>
                                `[typeof*="${t}"],[vocab*="schema.org"][typeof*="${t}"]`
                        )
                        .join(",")
                )
                .forEach((el) => {
                    el.removeAttribute("vocab");
                    el.removeAttribute("typeof");
                    el.removeAttribute("property");
                    removeAttrsDeep(el, ["property"]);
                });
        };
        const processSchemas = (container) => {
            handleJsonLD(container);
            handleMicrodata(container);
            handleRDFa(container);
        };
        processSchemas();
        const observer = new MutationObserver((mutations) => {
            mutations.forEach((m) => {
                m.addedNodes.forEach((n) => {
                    if (n.nodeType !== 1) return;

                    if (
                        n.tagName === "SCRIPT" &&
                        n.type === "application/ld+json" &&
                        n.getAttribute("author") !== "tpt"
                    ) {
                        handleJsonLD(n.parentElement);
                        return;
                    }

                    const itemType = n.getAttribute?.("itemtype");
                    const typeOf = n.getAttribute?.("typeof");

                    if (matchesSchemaType(itemType) || matchesSchemaType(typeOf)) {
                        handleMicrodata(n.parentElement);
                        handleRDFa(n.parentElement);
                    } else {
                        processSchemas(n);
                    }
                });

                if (m.type === "attributes") {
                    const t = m.target;

                    if (
                        t.tagName === "SCRIPT" &&
                        t.type === "application/ld+json" &&
                        t.getAttribute("author") !== "tpt"
                    ) {
                        handleJsonLD(t.parentElement);
                    }

                    if (
                        m.attributeName === "itemtype" &&
                        matchesSchemaType(t.getAttribute("itemtype"))
                    ) {
                        handleMicrodata(t.parentElement);
                    }

                    if (
                        m.attributeName === "typeof" &&
                        matchesSchemaType(t.getAttribute("typeof"))
                    ) {
                        handleRDFa(t.parentElement);
                    }
                }
            });
        });

        observer.observe(document.body || document.documentElement, {
            childList: true,
            subtree: true,
            attributes: true,
            attributeFilter: ["itemtype", "typeof", "type"],
        });

        log("Schema disabler initialized with types:", schemaTypesToDisable);
    })(window.tptAddedSchemas);
</script><!-- END app snippet -->




<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 73853960345,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,r=/bytedance/i;function o(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var r=0,o=e.split(";");r<o.length;r++){var d=o[r],t=d.indexOf("=");if(-1!==t){var n=d.slice(0,t).trim();if(n){var i=void 0;try{i=decodeURIComponent(n)}catch(e){i=n}if("_shopify_s"===i){var a=d.slice(t+1).trim();try{return decodeURIComponent(a)}catch(e){return a}}}}}return}catch(e){return}}function d(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}return function(t,n,i,a){var s,c,u,l,f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},p=(c=(s={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,u=s.legacy,(l=navigator.userAgent).match(e)?"bot":l.match(c)?"modern":l.match(u)?"legacy":l.match(r)?"bot":"unknown"),h=function(e){var r=e.version,t=e.browserTarget,n=e.surface,i=e.shopId,a=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var c,u=e.status,l=e.errorMsg;if(!a)return d("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{var f=(new Date).getTime();c=JSON.stringify({metadata:{event_sent_at_ms:f},events:[{schema_id:"web_pixels_manager_load/3.2",payload:{version:r,bundle_target:t,page_url:s,status:u,surface:n,error_msg:l,shop_id:i,visit_token:o()},metadata:{event_created_at_ms:f}}]})}catch(e){return!1}var p,h=!1;try{"function"==typeof window.navigator.sendBeacon&&-1===(p=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===p.indexOf("iPad; CPU OS 12_")&&-1===p.indexOf("iPod touch; CPU iPhone OS 12_")&&(h=window.navigator.sendBeacon.bind(window.navigator)(a,c))}catch(e){h=!1}if(h)return!0;try{var m=new XMLHttpRequest;return m.open("POST",a,!0),m.setRequestHeader("Content-Type","text/plain"),m.send(c),!0}catch(e){return d("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:i,browserTarget:p,surface:t.surface,shopId:t.shopId,monorailEndpoint:t.monorailEndpoint});if(Boolean(null==(y=null==(m=window.Shopify)?void 0:m.analytics)?void 0:y.replayQueue))h.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var m,y;h.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var g=window.Shopify;g.analytics=g.analytics||{};var v=g.analytics;v.replayQueue=[],v.publish=function(e,r,o){return v.replayQueue.push([e,r,o]),!0};try{self.performance.mark("wpm:start")}catch(e){}var w,b="modern"===p?"modern":"legacy",P=(null!=a?a:{modern:"",legacy:""})[b],S=[(w={baseUrl:n,hashVersion:i,buildTarget:b}).baseUrl,"/wpm","/b",w.hashVersion,"modern"===w.buildTarget?"m":"l",".js"].join("");try{f.browserTarget=p,O(function(){try{O(_)}catch(e){h.emit({status:"failed",errorMsg:U(e)})}}),h.emit({status:"loading"})}catch(e){h.emit({status:"failed",errorMsg:U(e)})}}function C(){if(!function(){var e,r;return Boolean(null==(r=null==(e=window.Shopify)?void 0:e.analytics)?void 0:r.initialized)}()){var e=window.webPixelsManager.init(t)||void 0;if(e){var r=window.Shopify.analytics;r.replayQueue.forEach(function(r){var o=r[0],d=r[1],t=r[2];e.publishCustomEvent(o,d,t)}),r.replayQueue=[],r.publish=e.publishCustomEvent,r.visitor=e.visitor,r.initialized=!0}}}function _(){return h.emit({status:"failed",errorMsg:"".concat(S," has failed to load")})}function O(e){var r;!function(e){var r=e.src,o=e.async,d=void 0===o||o,t=e.onload,n=e.onerror,i=e.sri,a=e.scriptDataAttributes,s=void 0===a?{}:a,c=document.createElement("script"),u=document.querySelector("head"),l=document.querySelector("body");if(c.async=d,c.src=r,i&&(c.integrity=i,c.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{c.dataset[f]=s[f]}catch(e){}if(t&&c.addEventListener("load",t),n&&c.addEventListener("error",n),u)u.appendChild(c);else{if(!l)throw new Error("Did not find a head or body element to append the script");l.appendChild(c)}}({src:S,async:!0,onload:C,onerror:e,sri:(r=P,"string"==typeof r&&/^sha384-[A-Za-z0-9+/=]+$/.test(r)?P:""),scriptDataAttributes:f})}function U(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 73853960345,storefrontBaseUrl: "https://pulsechainbridge.cc",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://pulsechainbridge.cc/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["d5bdd5d0","656605ce"],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0510","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0510","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"My Store","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"dycdke-ms.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/pulsechainbridge.cc"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://pulsechainbridge.cc/cdn","2d9dfbe8w1156b718pbb247b16m64115e31",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"151544365209","themeStoreId":"2481","themePublished":"true","eventMetadataId":"8b9514eb-7d29-493e-ac8d-5fff44b1d1de","pageType":"home","shopId":"73853960345","storefrontBaseUrl":"https:\/\/pulsechainbridge.cc","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"d5bdd5d0\", \"656605ce\"]","isMerchantRequest":"false","hashVersion":"2d9dfbe8w1156b718pbb247b16m64115e31","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script><script>
  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  window.ShopifyAnalytics.meta.currency = 'USD';
  var meta = {"page":{"pageType":"home","requestId":"fbb6da0a-070e-4166-bd14-a372b54f5576-1787598118"}};
  for (var attr in meta) {
    window.ShopifyAnalytics.meta[attr] = meta[attr];
  }
</script>
<script class="analytics">
  (function () {
    var customDocumentWrite = function(content) {
      var jquery = null;

      if (window.jQuery) {
        jquery = window.jQuery;
      } else if (window.Checkout && window.Checkout.$) {
        jquery = window.Checkout.$;
      }

      if (jquery) {
        jquery('body').append(content);
      }
    };

    var hasLoggedConversion = function(token) {
      if (token) {
        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
      }
      return false;
    }

    var setCookieIfConversion = function(token) {
      if (token) {
        var twoMonthsFromNow = new Date(Date.now());
        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);

        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
      }
    }

    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
    if (trekkie.integrations) {
      return;
    }
    trekkie.methods = [
      'identify',
      'page',
      'ready',
      'track',
      'trackForm',
      'trackLink'
    ];
    trekkie.factory = function(method) {
      return function() {
        var args = Array.prototype.slice.call(arguments);
        args.unshift(method);
        trekkie.push(args);
        if (window.__TREKKIE_SHIM_QUEUE && (method == 'track' || method == 'page')) {
          try {
            window.__TREKKIE_SHIM_QUEUE.push({
              from: 'trekkie-stub',
              method: method,
              args: args.slice(1)
            });
          } catch (e) {
            // no-op
          }
        }
        return trekkie;
      };
    };
    for (var i = 0; i < trekkie.methods.length; i++) {
      var key = trekkie.methods[i];
      trekkie[key] = trekkie.factory(key);
    }
    trekkie.load = function(config) {
      trekkie.config = config || {};
      trekkie.config.initialDocumentCookie = document.cookie;
      var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
  var scriptFallback = document.createElement('script');
  scriptFallback.type = 'text/javascript';
  scriptFallback.onerror = function(error) {
          var Monorail = {
      produce: function produce(monorailDomain, schemaId, payload) {
        var currentMs = new Date().getTime();
        var event = {
          schema_id: schemaId,
          payload: payload,
          metadata: {
            event_created_at_ms: currentMs,
            event_sent_at_ms: currentMs
          }
        };
        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
      },
      sendRequest: function sendRequest(endpointUrl, payload) {
        // Try the sendBeacon API
        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
          var blobData = new window.Blob([payload], {
            type: 'text/plain'
          });

          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
            return true;
          } // sendBeacon was not successful

        } // XHR beacon

        var xhr = new XMLHttpRequest();

        try {
          xhr.open('POST', endpointUrl);
          xhr.setRequestHeader('Content-Type', 'text/plain');
          xhr.send(payload);
        } catch (e) {
          console.log(e);
        }

        return false;
      },
      isIos12: function isIos12() {
        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
      }
    };
    Monorail.produce('monorail-edge.shopifysvc.com',
      'trekkie_storefront_load_errors/1.1',
      {shop_id: 73853960345,
      theme_id: 151544365209,
      app_name: "storefront",
      context_url: window.location.href,
      source_url: "//pulsechainbridge.cc/cdn/s/trekkie.storefront.c3de4351cec0b617fdf79b803eb104cc6c0d8097.min.js"});

  };
  scriptFallback.async = true;
  scriptFallback.src = '//pulsechainbridge.cc/cdn/s/trekkie.storefront.c3de4351cec0b617fdf79b803eb104cc6c0d8097.min.js';
  first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//pulsechainbridge.cc/cdn/s/trekkie.storefront.c3de4351cec0b617fdf79b803eb104cc6c0d8097.min.js';
first.parentNode.insertBefore(script, first);

    };
    trekkie.load(
      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":73853960345,"isMerchantRequest":null,"themeId":151544365209,"themeCityHash":"1610168285799190702","contentLanguage":"en","currency":"USD","eventMetadataId":"8b9514eb-7d29-493e-ac8d-5fff44b1d1de"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["f43e7f5e","b5387b81","d5bdd5d0"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
    );

    var loaded = false;
    trekkie.ready(function() {
      if (loaded) return;
      loaded = true;

      window.ShopifyAnalytics.lib = window.trekkie;

      var originalDocumentWrite = document.write;
      document.write = customDocumentWrite;
      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
      document.write = originalDocumentWrite;

      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
      var token = match? match[1]: undefined;
      if (!hasLoggedConversion(token)) {
        setCookieIfConversion(token);
        
      }
    });

    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"fbb6da0a-070e-4166-bd14-a372b54f5576-1787598118","shopifyEmitted":true});

    var eventsListenerScript = document.createElement('script');
    eventsListenerScript.async = true;
    eventsListenerScript.src = "//pulsechainbridge.cc/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
  defer
  src="https://pulsechainbridge.cc/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js"
  data-application="storefront-renderer"
  data-shop-id="73853960345"
  data-render-region="gcp-us-central1"
  data-page-type="index"
  data-theme-instance-id="151544365209"
  data-theme-name="Horizon"
  data-theme-version="4.1.4"
  data-monorail-region="shop_domain"
  data-resource-timing-sampling-rate="10"
  data-shs="true"
  data-shs-beacon="true"
  data-shs-export-with-fetch="true"
  data-shs-logs-sample-rate="1"
  data-shs-beacon-endpoint="https://pulsechainbridge.cc/api/collect"
></script>
<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script><script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"73853960345","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":false},"visitor":{"country":"MA","language":"en"}}</script>
</head>

  <body class="page-width-narrow card-hover-effect-none">
    <a
  class="skip-to-content-link button-secondary"
  href="#MainContent"
>
  Skip to content
</a>




    

<theme-drawer id="chat-drawer">
  <dialog
    ref="panel"
    class="theme-drawer__dialog chat-drawer"
  >
    <shopify-chat
      mode="standalone"
      mode-switch
    ></shopify-chat>
  </dialog>
</theme-drawer>

<script type="module">
  const chatDrawer = document.querySelector('#chat-drawer');
  const shopifyChat = document.querySelector('shopify-chat');

  document.addEventListener('theme-drawer:open', (event) => {
    if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return;
    shopifyChat?.setAttribute('mode', 'managed');
  });

  document.addEventListener('theme-drawer:close', (event) => {
    if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return;
    // If mode is still managed, this is a theme-initiated close (backdrop /
    // Escape) — close the chat so the FAB appears. If mode is already
    // standalone, the close was triggered by an undock (enter-standalone sets
    // mode before closing the drawer) — leave the chat open as a floating panel.
    if (shopifyChat?.getAttribute('mode') === 'managed') {
      shopifyChat?.removeAttribute('open');
    }
    shopifyChat?.setAttribute('mode', 'standalone');
  });

  document.addEventListener('shopify-chat:enter-managed', () => {
    // Captured at event-fire time — the dock-transition animation hint below
    // depends on state as it was when the event was dispatched.
    const isStandaloneAndOpen = shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone';

    // The activator-click path (FAB click on desktop with stored
    // preferredMode=managed) dispatches enter-managed *before* calling show(),
    // so the chat's `open` attribute at event time understates the imminent
    // outcome. Defer to a microtask: by then show() (if any) has run, and we
    // can distinguish the viewport-driven mobile→desktop transition that left
    // a minimized FAB (chat stays closed → don't open an empty drawer) from
    // an activator click (chat just opened → open the drawer).
    queueMicrotask(() => {
      if (!shopifyChat?.hasAttribute('open') && !chatDrawer?.hasAttribute('open')) {
        return;
      }
      chatDrawer?.open?.(isStandaloneAndOpen ? { enter: 'inline-start' } : undefined);
    });
  });

  document.addEventListener('shopify-chat:enter-standalone', () => {
    shopifyChat?.setAttribute('mode', 'standalone');
    chatDrawer?.close?.();
  });

  document.addEventListener('shopify-chat:close', () => {
    if (shopifyChat?.getAttribute('mode') === 'managed') {
      chatDrawer?.close?.();
    }
  });

  document.addEventListener('megaMenu:hover', () => {
    if (shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone') {
      shopifyChat?.removeAttribute('open');
    }
  });

  // After the chat upgrades it self-restores its preferred mode from
  // sessionStorage. Reconcile any mismatch with the theme-drawer's state
  // — the drawer is the source of truth for which mode the chat should
  // be in (open → managed, closed → standalone).
  customElements.whenDefined('shopify-chat').then(() => {
    const mode = chatDrawer?.hasAttribute('open') ? 'managed' : 'standalone';
    if (shopifyChat?.getAttribute('mode') !== mode) {
      // When switching managed → standalone (e.g. narrow viewport skipped
      // drawer restore), also close the chat so it renders as the FAB
      // rather than an open standalone panel.
      if (mode === 'standalone' && shopifyChat?.hasAttribute('open')) {
        shopifyChat?.removeAttribute('open');
      }
      shopifyChat?.setAttribute('mode', mode);
    }
  });
</script>




    <div class="page-wrapper">
      <div id="header-group">
        <!-- BEGIN sections: header-group -->
<div id="shopify-section-sections--20550829637785__header_announcements_9jGBFp" class="shopify-section shopify-section-group-header-group">








  <style data-shopify>
    .color-custom-sections--20550829637785__header_announcements_9jGBFp,
    .color-custom-sections--20550829637785__header_announcements_9jGBFp .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: var(--palette-darkest);
        --color-border-rgb: var(--palette-darkest-rgb);
      
    }

    
      .color-custom-sections--20550829637785__header_announcements_9jGBFp {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-sections--20550829637785__header_announcements_9jGBFp {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>



<div class="section-background color-custom-sections--20550829637785__header_announcements_9jGBFp"></div>
<aside
  class="announcement-bar spacing-style section section--page-width color-custom-sections--20550829637785__header_announcements_9jGBFp"
  style="--padding-block-start: 15px; --padding-block-end:15px; --padding-inline-start:0px; --padding-inline-end:0px;
; --border-bottom-width: 1px; --color-border: #DFDFDF;"
>
  

  <announcement-bar-component
    class="announcement-bar__slider"
    
  >
    

    <div class="announcement-bar__slides">
      



<slideshow-slide
    ref="slides[]"
    class="
      announcement-bar__slide
      text-block
      text-block--AVE5FbktEYkdzYk5VN__announcement_BxgCk9
      text-block--align-center
      text-block--full-width
      custom-typography
      custom-font-size
      
    "
    style="
      
--font-size: clamp(3.125rem, 5.142857142857143vw, 4.5rem);      --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--heading-);        --letter-spacing: var(--letter-spacing--heading-normal);
      
      --width: 100%;
      --text-align: center;
      --line-height: 1;
    "
    
    aria-hidden="false"
  >
    <p class="announcement-bar__text">
      PulseChain Bridge
    </p>

    
  </slideshow-slide>

    </div>
  </announcement-bar-component>
</aside>




</div><header id="shopify-section-sections--20550829637785__header_section" class="shopify-section shopify-section-group-header-group header-section">





<script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "Organization",
    "name": "My Store",
    
      "logo": "https:\/\/pulsechainbridge.cc\/cdn\/shop\/files\/images.jpg?v=1787590849\u0026width=500",
    
    "url": "https:\/\/pulsechainbridge.cc"
  }
</script>

<header-component
  id="header-component"
  class="header"
  data-theme-color="rgb(255 255 255)"
  data-bubble-style="default"
  
  
    sticky="always"
  
  data-skip-node-update
  data-scroll-direction="none"
  
  
    data-transparent-background="bottom"
  
  style="
    --color-background-top-row: rgba(255 255 255 / 1.0);
    --color-background-bottom-row: rgba(255 255 255 / 1.0);
    
    
      --cart-bubble-background: var(--palette-darkest);
      --cart-bubble-text: #ffffff;
    
    
  "
>
  <div class="header__underlay header__underlay-closed"></div>
  <div
    class="header__underlay header__underlay-open"
  ></div><h1 class="visually-hidden">My Store</h1>
    

    

    
    
      <div
        class="header__row header__row--top color-#ffffff section section--full-width-margin section--page-width color-custom-top-sections--20550829637785__header_section"
        ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px; --border-bottom-color-mobile: var(--color-border);">
        <div class="header__columns spacing-style">
          <style data-shopify>
    .color-custom-top-sections--20550829637785__header_section,
    .color-custom-top-sections--20550829637785__header_section .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: var(--palette-darkest);
        --color-border-rgb: var(--palette-darkest-rgb);
      
    }

    
      .color-custom-top-sections--20550829637785__header_section {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-top-sections--20550829637785__header_section {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>


      
      
<div
      class="header__column header__column--left"
      data-testid="header-top-left"
    >
      
        
          
              



    <div
      class="header__drawer"
      ref="headerDrawerContainer"
      data-hydration-key="header-drawer-mobile"
      
    >
      







  <style data-shopify>
    .color-custom-AdmEyQksyNndFaEhYa__header-menu-1,
    .color-custom-AdmEyQksyNndFaEhYa__header-menu-1 .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: var(--palette-darkest);
        --color-border-rgb: var(--palette-darkest-rgb);
      
    }

    
      .color-custom-AdmEyQksyNndFaEhYa__header-menu-1 {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-AdmEyQksyNndFaEhYa__header-menu-1 {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>



<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/header-drawer.js?v=121243031541024704371787587458"
  type="module"
  fetchpriority="low"
></script>

<header-drawer
  class="header-drawer "
  style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;"
>
  <details
    id="Details-menu-drawer-container"
    data-skip-node-update="true"
    class="menu-drawer-container"
    ref="details"
    scroll-lock
  >
    <summary
      class="header__icon header__icon--menu header__icon--summary"
      aria-label="Menu"
      on:click="/toggle"
    >
      <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
  <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
      <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M3.75 3.75L10.25 10.25M10.25 3.75L3.75 10.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
    </summary>
    <div
      ref="menuDrawer"
      class="
        menu-drawer
        
          color-custom-AdmEyQksyNndFaEhYa__header-menu-1
        
      "
    >
      <button
        class="button close-button menu-drawer__close-button focus-inset"
        type="button"
        aria-label="Close"
        on:click="/close"
      >
        <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M3.75 3.75L10.25 10.25M10.25 3.75L3.75 10.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      </button>
      <nav
        class="menu-drawer__navigation"
        style="--menu-top-level-font-family: var(--font-body--family);
--menu-top-level-font-size-desktop: 0.875rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none;

  --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height:
  var(--menu-font-2xl--line-height);

--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);

--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style:
var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case:
none;

    --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height:
    var(--menu-font-sm--line-height); --menu-parent-font-color: var(--color-foreground-subdued);
    --menu-parent-active-font-color: var(--color-foreground);
  
--menu-child-font-family: var(--font-body--family); --menu-child-font-style:var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case:
none;

    --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
    --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: var(--color-foreground-subdued);
  

        "
        aria-label="Primary"
      >
        <ul
          class="menu-drawer__menu has-submenu"
          role="list"
        >
            
            

              <li
                style="--menu-drawer-animation-index: 1;"
                class="menu-drawer__list-item--flat"
              >
                
<a
                    id="HeaderDrawer-pulsechain-bridge"
                    href="/pages/pulsechain-bridge"
                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element"
                    
                  >
                    <span class="menu-drawer__menu-item-text wrap-text">PulseChain Bridge</span>
                  </a>
                
              </li>
        </ul>
      </nav>
      <div
        class="menu-drawer__utility-links menu-drawer__animated-element"
        style="--menu-drawer-animation-index: 1;"
      >
        
        </div>

      
    </div>
    <div
      class="menu-drawer__backdrop"
      on:click="header-drawer/close"
    ></div>
  </details>
</header-drawer>



    </div>

  

<style data-shopify>
  .header__underlay {
    --color-submenu: rgb(255 255 255);
  }
</style>




            
        
      
        
          
              
            
        
      
        
          
              



    




  <style data-shopify>
    .color-custom-AdmEyQksyNndFaEhYa__header-menu,
    .color-custom-AdmEyQksyNndFaEhYa__header-menu .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: var(--palette-darkest);
        --color-border-rgb: var(--palette-darkest-rgb);
      
    }

    
      .color-custom-AdmEyQksyNndFaEhYa__header-menu {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-AdmEyQksyNndFaEhYa__header-menu {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>



    

    <header-menu
      ref="headerMenu"
      class="header-menu"
      
      data-hydration-key="header-menu"
    >
      <div class="header-menu__inner">
        <nav
          class="menu-list"
          aria-label="Primary"
          style="--menu-top-level-font-family: var(--font-body--family);
--menu-top-level-font-size-desktop: 0.875rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none;

  --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height:
  var(--menu-font-sm--line-height);

--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
"
        >
          
          <overflow-list
  
    ref="overflowMenu"
  
  
    class="overflow-menu background-matches-parent"
  
  
    minimum-items="2"
  
  
    data-testid="header-menu-overflow-list"
  
  
    data-skip-node-update
  
>
  <template shadowrootmode="open">
    <link href="//pulsechainbridge.cc/cdn/shop/t/1/assets/overflow-list.css?v=16727044177065489451787587458" rel="stylesheet" type="text/css" media="all" />

    <ul part="list">
      <slot></slot>
      <slot
        name="more"
        part="more"
        hidden
        
      >
        <li
          part="more"
        >
          <button
            class="button"
            type="button"
            tabindex="0"
            
          >
            More
          </button>
        </li>
      </slot>
      <li
        part="placeholder"
        hidden
      ></li>
    </ul>

    <div part="overflow">
      <ul part="overflow-list">
        <slot name="overflow"></slot>
      </ul>
    </div>
  </template>

  
      
        <li
          class="menu-list__list-item"
          on:blur="/deactivate"
          on:pointerenter="/activate"
          on:pointerleave="/deactivate"
        ><a
            href="/pages/pulsechain-bridge"
            data-skip-node-update="true"
            class="menu-list__link"
            
            ref="menuitem"
          >
            <span class="menu-list__link-title">PulseChain Bridge</span>
          </a></li>
      
      <li
        class="menu-list__list-item"
        slot="more"
        on:blur="/deactivate"
        on:pointerenter="/activate"
        on:pointerleave="/deactivate"
      >
        <button
          class="menu-list__link button-unstyled"
          aria-haspopup="true"
          aria-expanded="false"
          ref="menuitem"
          on:click="/toggle"
          data-testid="header-menu-more-button"
        >
          <span class="menu-list__link-title">More</span>
        </button>
      </li>
    
</overflow-list>

        </nav>
      </div>

      <script
        src="//pulsechainbridge.cc/cdn/shop/t/1/assets/header-menu.js?v=1177411761452820701787587458"
        type="module"
        fetchpriority="low"
      ></script>
    </header-menu>


<style data-shopify>
  .header__underlay {
    --color-submenu: rgb(255 255 255);
  }
</style>




            
        
      
    </div><div
      class="header__column header__column--center"
      data-testid="header-top-center"
    >
      
        
          
              




<a
  
  href="/"
  class="size-style spacing-style header-logo"
  style="
    --size-style-width: ;--size-style-height: ;
    --padding-block-start: 0px;--padding-block-end: 0px;
    --font-family: var(--font-body--family);
    --font-style: var(--font-body--style);
    --font-weight: 600;
  "
  
>
  

  <span
    class="header-logo__image-container header-logo__image-container--original"
    data-testid="header-logo"
  >
    
  
  
  
  

  

  

  

  <img src="//pulsechainbridge.cc/cdn/shop/files/images.jpg?height=100&amp;v=1787590849" alt="My Store - Home" width="108" height="100" class="header-logo__image" srcset="//pulsechainbridge.cc/cdn/shop/files/images.jpg?height=100&amp;v=1787590849 1x, //pulsechainbridge.cc/cdn/shop/files/images.jpg?height=200&amp;v=1787590849 2x, //pulsechainbridge.cc/cdn/shop/files/images.jpg?height=300&amp;v=1787590849 3x" style="--header-logo-image-width: 108px;--header-logo-image-width-mobile: 87px; --header-logo-image-height: 100px; --header-logo-image-height-mobile: 80px;">


  </span>

  
</a>





            
        
      
    </div><div
      class="header__column header__column--right"
      data-testid="header-top-right"
    >
      
        
          
              
  
  

            
        
      
        
          
              



            
        
      
        
          
              

<script
  type="module"
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/cart-icon.js?v=109428858171217037751787587458"
  fetchpriority="low"
></script>





<header-actions
  
>
  
    
    <div
      class="account-button header-actions__action color-custom-popover"
    >
      <shopify-store store-domain="https://pulsechainbridge.cc" country="MA" language="en"></shopify-store>
<shopify-account
        menu=""
        
      >
        
          <span
            slot="signed-out-avatar"
            class="account-button__text header-actions__text-style hidden"
          >
            Account
          </span>

          <span
            slot="signed-out-avatar"
            class=""
            aria-hidden="true"
          >
            
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="15"
    height="17"
    viewBox="0 0 15 17"
    fill="none"
    slot="signed-out-avatar"
    class="account-button__icon"
  >
    <path
      stroke="currentColor"
      stroke-linejoin="round"
      stroke-width="var(--icon-stroke-width)"
      d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z"
    />
  </svg>

          </span>
        
      </shopify-account>
    </div>
  

  
    <button
      class="header-actions__action button-unstyled"
      on:click="#cart-drawer/toggle"
      aria-haspopup="dialog"
      aria-expanded="false"
      aria-controls="cart-drawer"
      aria-label="Cart"
      aria-describedby="cart-bubble-text"
      data-testid="cart-drawer-trigger"
    >
      
  <cart-icon
    class="header-actions__cart-icon"
    data-testid="cart-icon"
  >
    <span class="hidden">
      Cart
    </span>

    <span
      class="svg-wrapper "
      aria-hidden="true"
    >
      <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg>

    </span>

    

<div
  ref="cartBubble"
  class="cart-bubble visually-hidden"
  style="--cart-bubble-background-fallback: #000000; --cart-bubble-text-fallback: #ffffff;"
  
  
    data-maintain-ratio
  
>
  <span class="cart-bubble__background"></span>
  <span
    ref="cartBubbleText"
    id="cart-bubble-text"
    class="cart-bubble__text"
  >
    <span
      class="cart-bubble__text-count hidden"
      ref="cartBubbleCount"
      aria-hidden="true"
      data-testid="cart-bubble"
    >
0</span>
  </span>
</div>



  </cart-icon>

    </button>
  

  <span
    ref="liveRegion"
    class="visually-hidden"
    role="status"
    data-testid="cart-count-live-region"
  ></span>
</header-actions>

<script
  type="module"
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/header-actions.js?v=157135685635924702181787587458"
  fetchpriority="low"
></script>



          
        
      
    </div>
        </div>
      </div>
    
  
    

    

    
    
  

  
    <div class="header__row header__navigation-bar-row">
      



    
  

<style data-shopify>
  .header__underlay {
    --color-submenu: rgb(255 255 255);
  }
</style>




    </div>
  
</header-component>

<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/header.js?v=183210491532312943441787587458"
  type="module"
></script>




  <script type="module">
    import { hydrate } from '@theme/section-hydration';
    const url = new URL(window.location.href);
    url.searchParams.delete('page');
    hydrate('sections--20550829637785__header_section', url);
  </script>



</header>
<!-- END sections: header-group -->
      </div>

      <script>
        /**
         * Sets `--header-height` and `--header-group-height` to measured values before first paint.
         *
         * A few CSS rules position content relative to the header at first paint — a hero sized to
         * the remaining viewport, a transparent header's negative margin. Without a measured value
         * those rules use the `60px` fallback from `sections/header.liquid`, and the content visibly
         * jumps once `header.js` corrects the values after load.
         *
         * Measuring forces layout mid-parse, so it only runs where a consuming rule exists.
         * Callers opt in: the transparent-header branch below, or `snippets/measure-header-heights.liquid`,
         * which any new first-paint consumer must render too.
         *
         * Measures once per page; after load, header.js's ResizeObservers keep the values fresh.
         * The group-height walk mimics calculateHeaderGroupHeight() in utilities.js — keep them
         * in sync.
         */
        window.measureHeaderHeights = (function () {
          let measured = false;

          return function measureHeaderHeights() {
            if (measured) return;

            const header = document.querySelector('#header-component');
            const headerGroup = document.querySelector('#header-group');

            if (!header || !headerGroup) return;
            measured = true;

            const headerHeight = header.offsetHeight;

            let headerGroupHeight = 0;
            for (const element of headerGroup.children) {
              if (element instanceof HTMLElement) headerGroupHeight += element.offsetHeight;
            }

            /**
             * A transparent header is absolutely positioned, so the loop above counts its section
             * wrapper as 0px. When a section follows it in the group, header.liquid pushes that
             * section down by the header's height using a margin, which offsetHeight also
             * excludes — so the header's height has to be added back manually.
             */
            if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) {
              headerGroupHeight += headerHeight;
            }

            document.body.style.setProperty('--header-height', `${headerHeight}px`);
            document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`);
          };
        })();

        /**
         * Transparent-header rules consume the measured heights at first paint on every
         * template, so the transparent case opts in globally here instead of per-section.
         */
        if (document.querySelector('#header-component')?.hasAttribute('transparent')) {
          measureHeaderHeights();
        }

        /**
         * Sets `--top-row-height`, consumed by the header underlays and submenus. Deferred to a
         * rAF so the `offsetHeight` read doesn't force layout mid-parse, and scoped to the
         * header, where all consumers live, so the write only invalidates the header subtree.
         * Mimics the `--top-row-height` write in updateHeaderHeights() in utilities.js
         */
        (function setTopRowHeight() {
          const header = document.querySelector('#header-component');
          const headerTopRow = header?.querySelector('.header__row--top');
          if (!headerTopRow) return;

          window.requestAnimationFrame(function () {
            header.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`);
          });
        })();

        /**
         * Sets `--transparent-header-offset-boolean` when the first section must offset itself
         * under a transparent header. The non-offset case relies on the `0` default declared in
         * sections/header.liquid — unlike updateTransparentHeaderOffset() in utilities.js, which
         * re-runs on editor changes and must write '0' to reset a previously written '1'.
         */
        (function updateTransparentHeaderOffset() {
          const header = document.querySelector('#header-component');
          const headerSection = document.querySelector('#header-group .header-section');
          if (!headerSection || !header?.hasAttribute('transparent')) return;

          const hasImmediateSection = headerSection.nextElementSibling?.classList.contains('shopify-section');
          if (!hasImmediateSection) {
            document.body.style.setProperty('--transparent-header-offset-boolean', '1');
          }
        })();

        /**
         * Sets the initial menu style (inline menu vs. drawer) on the header component.
         * Mimics setHeaderMenuStyle() in utilities.js
         */
        (function setHeaderMenuStyle() {
          const headerComponent = document.querySelector('#header-component');
          if (headerComponent) {
            const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0;
            const overflowList = headerComponent.querySelector('overflow-list');
            const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached');
            headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu';
          }
        })();
      </script>

      <main
        id="MainContent"
        class="content-for-layout"
        role="main"
        data-page-transition-enabled="false"
        data-product-transition="false"
        data-template="index"
      >
        <div id="shopify-section-template--20550829539481__section_AyTnCk" class="shopify-section section-wrapper">











<div class="section-background color-custom-template--20550829539481__section_AyTnCk"></div>
<div
  class="section section--page-width color-custom-template--20550829539481__section_AyTnCk"
  data-testid="ui-test-section"

  

  style="
    

    
  "
>
  <div class="custom-section-background">
    






  </div>

  <div
    class="border-style custom-section-content"
    style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
"
  >
    

    <div
      class="
        spacing-style
        layout-panel-flex
        layout-panel-flex--column
        section-content-wrapper
         mobile-column
      "
      style="
        --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;

--gap: 16px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;

        --padding-block-start: max(20px, calc(var(--spacing-scale) * 64px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 64px));
      "
      data-testid="section-content"
    >
      
  






  <span class="visually-hidden">PulseChain Bridge</span>
  <jumbo-text
    
  style="
    --font-family: var(--font-heading--family);
    --font-weight: var(--font-heading--weight);
    
      --color: var(--color-foreground);
    
    --text-align: left;
    
      --margin-left-nudge: -0.04em;
    
    --line-height: 0.8;
    --letter-spacing: -0.03em;
    --text-transform: none;
    --text-trim: trim-both cap text;
  "
  data-cap-text="true"
  

    data-text-effect="none"
    data-animation-repeat="false"
  ><span
        class="jumbo-text-line"
        style="--line-index: 1;"
        data-testid="jumbo-text-line"
        aria-hidden="true"
      >PulseChain Bridge</span></jumbo-text>


<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/jumbo-text.js?v=40893161465570559361787587458"
  type="module"
  async
></script>

















  <rte-formatter class=" spacing-style text-block text-block--AdWU1N2ZEYkRTQkhOY__text_4jWHE4 rte     rte   "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: fit-content;    --max-width: var(--max-width--body-normal);          ">
    <p>PulseChain Bridge: The PLS Bridge, Pulsechain Swap and the Full-State Fork of Ethereum</p>
  </rte-formatter>


















  <rte-formatter class=" spacing-style text-block text-block--AeEg0cWUrOGFZVGdkc__text_FEHhUp rte     rte   "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: fit-content;    --max-width: var(--max-width--body-normal);          ">
    <p>PulseChain is a layer-1 blockchain created as a full-state fork of Ethereum, designed to improve upon Ethereum's value proposition by offering faster block times, lower gas fees, and a pre-existing catalog of DeFi protocols that launched with the network. The native token, PLS, powers transactions, validator activation, and the pulse chain earn protocol ecosystem. The pulsechain bridge — also called the pls bridge — is the on-ramp that moves assets from Ethereum onto PulseChain, and the pulsechain swap on PulseX is where those bridged assets get traded. Whether you arrive through the pulsechain explorer at pulsescan, use the pulsechain bridge to move assets across chains, or run a pulsechain swap on the pulsex exchange, the intent is the same: give users a high-throughput, low-cost EVM environment where they can swap, earn, and participate in on-chain finance without the congestion of Ethereum mainnet.</p><p>This piece is a plain-language walkthrough of what pulsechain is, how the pulsechain bridge and pls bridge connect Ethereum to PulseChain, how the pulsechain swap works on PulseX, how the go pulse community drives the ecosystem, the role of pulsex and pulse x as the network's native DEX, and why gopulse has become one of the most active community-led networks in crypto. If you have searched for pulsechain bridge, pls bridge, pulsechain swap, pulsex price, or how to use plsx, the sections below cover all of it.</p><h2>What is PulseChain? The full-state fork of Ethereum</h2><p>PulseChain took a snapshot of the entire Ethereum system state and replicated it on a new network with several modifications. The result is a chain that launched with a pre-existing catalog of tokens, NFTs, and DeFi protocols — every ETH address that existed at the time of the fork received a free copy of its ETH balance in PLS on the Pulse network. These freemium PLS can only be used to pay for transactions and cannot be transferred or sold, allowing ETH users to experience the benefits of PulseChain without sacrificing their original ETH holdings.</p><p>The native token, PLS, has a fixed supply and is used to activate validators, pay for transactions, and bridge to other chains. PulseChain implements EIP-1559, meaning every transaction has a base fee that is burned and a tip that goes to the validator, making PLS deflationary over time. The network uses proof-of-stake as its consensus mechanism, so users can stake PLS to activate validators and earn rewards for helping secure the network. PulseChain also boasts a faster block time of approximately 10 seconds compared to Ethereum's 12 seconds.</p><p>To get PLS tokens, users participated in a sacrifice phase, where they donated cryptocurrency or fiat to supported addresses or charities in exchange for PLS. The sacrifice phase raised over $700 million for medical research and other causes. PulseChain is currently live on mainnet, and users can access it by changing their MetaMask settings to connect to the Pulse RPC endpoint or by using the PulseScan block explorer to view balances and transactions.</p><h2>PulseX: the pulsex exchange, pulse x DEX and the pulsechain swap</h2><p>PulseChain launched with its own decentralized exchange called PulseX, which is similar to Uniswap but built natively on the Pulse network. PulseX — often referred to as pulse x — allows users to swap any ERC-20 token or NFT on the PulseChain network. The pulsex exchange also burns a portion of the fees to reduce the supply of PLS over time, creating a deflationary pressure on the native token. PulseX had its own sacrifice phase, where users could get PLSX tokens by sacrificing PLS or other cryptocurrencies.</p><p>The PLSX token (often tracked as plsx) is the governance and utility token of the PulseX exchange. Users who want to track pulsex price can find it listed on major cryptocurrency data aggregators. The pulsechain swap functionality on PulseX lets users trade between PLS-native pairs with significantly lower gas costs compared to Ethereum mainnet, making it attractive for retail traders looking for yield opportunities and ecosystem activity that are not yet available on more congested networks.</p><h2>The pulsechain bridge and pls bridge: connecting Ethereum to PulseChain</h2><p>The pulsechain bridge — often called the pls bridge — is the infrastructure that allows users to move assets from Ethereum and other EVM-compatible chains onto PulseChain. By bridging tokens across chains through the pls bridge, users gain access to the PulseChain DeFi ecosystem — including PulseX, the pulse chain earn protocol, and a growing set of decentralized applications — while maintaining self-custody of their assets. The pulsechain bridge is a critical piece of the network's value proposition, because it is what turns PulseChain from an isolated fork into a connected financial playground.</p><p>For many users, the decision to engage with PulseChain right now is driven by the belief that the network's liquidity is finally beginning to reach a critical mass, transitioning from an experimental phase into a more robust financial environment. The pls bridge is what makes that transition possible, because it is the on-ramp that brings new capital and new users into the ecosystem. Once assets are on PulseChain, the pulsechain swap on PulseX lets users trade between PLS-native pairs at a fraction of Ethereum mainnet gas costs.</p><h2>Go pulse: the community behind pulsechain</h2><p>The movement surrounding PulseChain is a textbook example of a community-first network. The go pulse community — sometimes styled gopulse — has doubled down on its narrative of high throughput and low fees, positioning the network as a high-beta play on Ethereum's long-term dominance. Unlike venture-capital-backed chains that often suffer from predatory token unlocks, PulseChain's distribution model fostered a tribal but highly active liquidity environment.</p><p>On-chain data has revealed a steady increase in unique active wallets and transaction volume within the PulseChain ecosystem. Key actors — primarily DEX users and liquidity providers — are shifting capital back into PLS-native pairs, citing the significantly lower gas costs compared to Ethereum mainnet. This localized liquidity boom has caught the attention of retail traders looking for yield opportunities and ecosystem airdrops, and the pulses food of on-chain activity — the steady diet of swaps, deposits, and bridging that keeps the network alive — has grown substantially since launch.</p><h2>PulseScan: the pulsechain explorer</h2><p>PulseScan is the block explorer for the PulseChain network, serving the same role that Etherscan plays for Ethereum. Users can view their PLS balances, track transaction histories, monitor smart contract interactions, and verify the state of tokens and NFTs on the Pulse network. The pulsechain explorer is an essential tool for anyone navigating the ecosystem, because every swap on PulseX, every bridge transaction, and every validator reward is verifiable on-chain through PulseScan.</p><p>For users coming from Ethereum, PulseScan provides a familiar interface: search by address, transaction hash, or token contract, and the explorer returns the full record of on-chain activity. This transparency is what makes the go pulse ecosystem navigable for newcomers who may be bridging over for the first time.</p><h2>The DeFi ecosystem: puldex and the pulse chain earn protocol</h2><p>Unlike other Layer 1 solutions that struggle to attract developers, PulseChain launched with a pre-existing catalog of DeFi protocols, which are now seeing renewed inflows. The puldex landscape on PulseChain includes PulseX as the flagship DEX, along with a growing set of aggregators, lending protocols, and yield venues that have organically emerged since mainnet launch. The pulse chain earn protocol ecosystem lets users put their PLS and PLSX to work through staking, liquidity provision, and yield farming, all at a fraction of the gas cost of comparable activities on Ethereum.</p><p>The recent market reaction suggests that the bridge-and-wait era of PulseChain is evolving into a more active phase of on-chain finance. As more users move away from centralized intermediaries, the demand for networks that support native self-custody and peer-to-peer trading has intensified. PulseChain is precisely where that demand finds a home: a fast, cheap, EVM-compatible environment where users can be their own bank while maintaining access to every corner of the market.</p><h2>Tax considerations for pulsechain users</h2><p>For users active on PulseChain, tax reporting is an important consideration. Bridging assets from Ethereum to PulseChain, swapping on PulseX, earning rewards through the pulse chain earn protocol, and receiving airdropped PLS or PLSX all have tax implications that vary by jurisdiction. In the United States, hard forks and airdrops are treated as ordinary income at the time of receipt, meaning the fair market value of forked or airdropped coins is reportable when the user takes control of them.</p><p>DeFi activity on PulseChain — including liquidity pool deposits, staking rewards, and token swaps — generates taxable events that must be reported on Form 8949 and Schedule D. The IRS allows specific identification of cost basis lots, so users are not required to use FIFO; they can choose which units of a virtual currency are involved in a transaction if they have the necessary records. For users with complex on-chain activity spanning multiple wallets and chains, crypto tax software platforms like TokenTax can pull on-chain activity from major networks, match it with exchange records, and compute capital gains, losses, and token income automatically.</p><p>Users should keep detailed records of every bridge transaction, swap, and reward, and consult a qualified tax professional in their jurisdiction before filing. The complexity of managing assets across Ethereum and PulseChain remains a barrier for the uninitiated, but the right tooling — a unified interface for tracking balances and transactions across multiple chains — can simplify the process considerably.</p><h2>The controversy around pulsechain</h2><p>PulseChain and its sister project, HEX, are the brainchild of Richard Heart, an internet marketer turned crypto founder, and they are among the most controversial blockchain projects in the industry. Critics have accused PulseChain of being involved in a pump-and-dump scheme, and the sacrifice phase that raised over $700 million has been described by some as a clever way to avoid legal issues by not offering guarantees or expectations for donors.</p><p>The mainnet launch was bumpy: there were no major exchange listings at launch, expensive transaction fees initially, and dozens of fake versions of PLS that confused users. A Protos report outlined how sacrificers were bleeding value on their locked tokens while unable to bridge away from the chain, and over-the-counter dealers charged excessive prices for dumping locked tokens. The network has also faced technical issues, including a flash volatility event where the price of wrapped Bitcoin on PulseChain spiked and fell within minutes, revealing the network's low liquidity at the time.</p><p>Despite the controversy, there are also many supporters and fans of PulseChain who believe in its vision and potential. To them, PulseChain is a legitimate project that aims to improve Ethereum's performance and user experience while supporting good causes. The current momentum suggests that the network is successfully moving beyond its launch hype and into a phase of sustained utility for its core audience.</p><h2>What users should consider before engaging</h2><p>Before deciding to engage with PulseChain, it is vital to perform your own due diligence on the specific dApps and tokens you intend to interact with. The network is fast and cheap, but like any on-chain environment, it requires a high degree of personal responsibility. Traders should focus on understanding the bridge mechanics, the liquidity profiles of the assets they are targeting, and the tax implications of their activity.</p><p>For users who want to act on the PulseChain trend while keeping control of their assets, multi-chain self-custody wallets make it easier to manage tokens across different networks and dApps without juggling multiple apps. By using a wallet that supports a wide array of chains, users can maintain a high-level view of their risk and exposure, which is critical when navigating newer or more volatile ecosystems. Whether holding for the long term or looking for short-term DeFi yields, the priority should always be safety and ease of use.</p><h2>Conclusion: pulsechain as a community-led financial playground</h2><p>PulseChain remains one of the most polarizing yet active corners of the crypto world. The current momentum suggests that the network is successfully moving beyond its launch hype and into a phase of sustained utility for its core audience. While it may remain a niche compared to the giants of the industry, its ability to maintain a liquid and active on-chain economy is a signal that community-led forks still have a place in the market.</p><p>For traders, PulseChain is the answer to where to find high-beta, low-gas DeFi activity outside of Ethereum mainnet. For builders, it is an EVM-compatible environment with a pre-existing user base and a growing set of protocols. For the network as a whole, the pulsechain bridge and pls bridge, the pulsechain swap on PulseX, PulseScan, and the pulse chain earn protocol together form the connective tissue that makes the go pulse ecosystem feel unified. As the infrastructure for on-chain finance continues to mature, PulseChain is positioned to remain a community-led financial playground — fast, cheap, and beneath every meaningful pulsechain swap.</p>
  </rte-formatter>















<a
  
    href="/collections/all"
  
  class="
    size-style
    button-unstyled
    button-unstyled--AdDlVVVQ1NUwrUEZQc__button_nxQcaG
  "
  style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
  Shop now
</a>





    </div>
  </div>
</div>





</div>
      </main>

      <footer>
        <!-- BEGIN sections: footer-group -->
<div id="shopify-section-sections--20550829670553__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper">






  <style data-shopify>
    .color-custom-sections--20550829670553__footer_m9NzUG,
    .color-custom-sections--20550829670553__footer_m9NzUG .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: var(--palette-darkest);
        --color-border-rgb: var(--palette-darkest-rgb);
      
    }

    
      .color-custom-sections--20550829670553__footer_m9NzUG {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-sections--20550829670553__footer_m9NzUG {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>



<div
  class="section-background color-custom-sections--20550829670553__footer_m9NzUG"
></div>
<div
  class="section section--page-width color-custom-sections--20550829670553__footer_m9NzUG"
>
  
  <div
    class="
      footer-content
      spacing-style
      
      
    "
    style="
      --padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 30px));
      --footer-gap: 20px;
      --grid-columns: 2;
      --last-row-count: 2;
      --tablet-last-row-count: 2;
    "
  >
    










<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
  "
  style="
    
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 

    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    






    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;

--gap: 6px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  











  <div class=" spacing-style text-block text-block--ASjFka3ZBRlNjeTBUT__text_LWt8Pz h4    text-block--align-left  "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: 100%;    --max-width: var(--max-width--body-normal);          --text-align: left;          ">
    <h2>Join our email list</h2>
  </div>


















  <rte-formatter class=" spacing-style text-block text-block--AZXM1UWpvdUpHTTlPR__text_f9CFLH rte    text-block--align-left rte   "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: 100%;    --max-width: var(--max-width--body-normal);          --text-align: left;          ">
    <p>Get exclusive deals and early access to new products.</p>
  </rte-formatter>







</div>
</div>















<div
  class="email-signup-block size-style spacing-style"
  style="
    --size-style-width: 100%;--size-style-height: ;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
  "
  
>
  
<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
    
<div
      class="email-signup__input-group email-signup__input-group--integrated email-signup__input-group--arrow"
      style="
        --border-width: 1px;
        --border-radius: 100px;
        --color-input-background: #ffffff; --color-input-text: #333333; --color-input-text-rgb: 51 51 51; --color-input-border: #DFDFDF;
      "
    >
      <label
        for="EmailInput-AcDZYNXBDNmZxclVaW__email_signup_crihX7"
        class="visually-hidden"
      >
        Email
      </label>
      <input
        id="EmailInput-AcDZYNXBDNmZxclVaW__email_signup_crihX7"
        class="email-signup__input email-signup__input--all paragraph "
        type="email"
        name="contact[email]"
        autocorrect="off"
        autocapitalize="off"
        autocomplete="email"
        placeholder="Email address"
        required
        
      >
      <button
        class="email-signup__button email-signup__button--integrated email-signup__button--arrow paragraph button-unstyled button-unstyled--AcDZYNXBDNmZxclVaW__email_signup_crihX7"
        
          aria-label="Sign up"
        
      >
        
          <svg
            viewBox="0 0 20 20"
            xmlns="http://www.w3.org/2000/svg"
            focusable="false"
            aria-hidden="true"
            class="email-signup__button-icon"
          >
            


<path
      clip-rule="evenodd"
      d="m11.246 5.31759c.0322-.07821.0833-.14723.1486-.20093.0654-.0537.143-.09041.2259-.10686.083-.01645.1688-.01214.2497.01257.0808.0247.1544.06902.214.12902l4.104 4.104c.0478.04765.0857.10426.1115.16659.0259.06232.0392.12913.0392.19661 0 .06747-.0133.13429-.0392.19661-.0258.06233-.0637.11893-.1115.16659l-4.104 4.10401c-.0963.0963-.227.1504-.3632.1504s-.2669-.0541-.3632-.1504-.1504-.227-.1504-.3632.0541-.2669.1504-.3632l3.2288-3.2278h-11.0736c-.13606 0-.26654-.0541-.36275-.15027-.0962-.0962-.15025-.22669-.15025-.36274 0-.13606.05405-.26654.15025-.36275.09621-.0962.22669-.15025.36275-.15025h11.0736l-3.2288-3.2278c-.0721-.07178-.1212-.16335-.1411-.2631s-.0097-.20316.0293-.2971z"
      fill="currentColor"
      fill-rule="evenodd"
    />
          </svg>
        
      </button>
    </div></form>
</div>





  </div>
</div>




</div><div id="shopify-section-sections--20550829670553__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities">






  <style data-shopify>
    .color-custom-sections--20550829670553__footer_utilities_jLGE8U,
    .color-custom-sections--20550829670553__footer_utilities_jLGE8U .text-block {
      /* Background */
      --color-background: #ffffff;
      --color-background-rgb: 255 255 255;

      /* Opacity values adjusted for background brightness */
      
--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
0.4; --opacity-30-60: 0.3; --opacity-60: 0.6;


      
        /* Foreground / text — explicit or smart-contrasted */
        --color: #000000;
        --color-rgb: 0 0 0;
        --color-foreground: #000000;
        --color-foreground-rgb: 0 0 0;
        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
        --color-border: var(--palette-darkest);
        --color-border-rgb: var(--palette-darkest-rgb);
      
    }

    
      .color-custom-sections--20550829670553__footer_utilities_jLGE8U {
        /* Form-related tokens stay on .color-custom only — .text-block is a prose
           container (text/announcement/inline-text/blog-post-description/
           collection-link/price/sku) and never holds form inputs. */
        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
      }
    

    .color-custom-sections--20550829670553__footer_utilities_jLGE8U {
      color: var(--color, var(--color-foreground));
      background-color: var(--color-background);
    }
  </style>



<div
  class="section-background color-custom-sections--20550829670553__footer_utilities_jLGE8U"
></div>
<div
  class="section section--page-width color-custom-sections--20550829670553__footer_utilities_jLGE8U"
  
>
  <div
    class="utilities utilities--blocks-3 spacing-style"
    style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 1px; --divider-color: #DFDFDF; --gap: 24px;"
    data-testid="footer-utilities"
  >
    

<div
  class="
    footer-utilities__group-copyright
    custom-typography
    custom-font-size
  "
  style="
    
--font-size: 0.75rem;      --font-weight: ;--font-family: ;    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-);
    
  "
  
>
  <span class="footer-utilities__text">
    &copy; 2026
    <a href="/" title="">My Store</a>, <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a>
</span>
</div>






  <anchored-popover-component
    data-hover-triggered="true"
  >
    <button
      class="policy-list-trigger button-unstyled"
      popovertarget="terms-policies-popover"
      popovertargetaction="toggle"
      ref="trigger"
      style="
        
--font-size: 0.75rem;      --font-weight: ;--font-family: ;    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-);
        
      "
      
    >
      Terms and Policies
    </button>
    <div
      class="terms-policies-popover color-custom-popover"
      id="terms-policies-popover"
      popover="auto"
      ref="popover"
    >
      <ul
        class="
          policy_list list-unstyled
          custom-typography
          custom-font-size
        "
      ><li>
              <a
                href="/policies/privacy-policy"
                class="footer-utilities__text"
              >Privacy policy</a>
            </li></ul>
    </div>
  </anchored-popover-component>






<div
  class="social-icons__wrapper social-icons__wrapper--ASlNESkFCNUkwRVdyd__social_links_Ew63Kq"
  
>
  
  

  
    

    
    
      
    
  
    

    
    
      
    
  
    

    
    
      
    
  
    

    
    
      
    
  
    

    
    
      
    
  
    

    
    
  
    

    
    
  
    

    
    
  
    

    
    
  
    

    
    
  
    

    
    
  
    

    
    
  
    

    
    
  
</div>





  </div>
</div>




</div>
<!-- END sections: footer-group -->
      </footer>
    </div>

    

    <div
      id="shopify-section-cart-drawer-section"
      class="shopify-section"
    >
  

  <script
    type="module"
    src="//pulsechainbridge.cc/cdn/shop/t/1/assets/cart-drawer.js?v=101430053943909765251787587458"
    fetchpriority="low"
  ></script>

  

  <theme-drawer
    id="cart-drawer"
    data-skip-node-update
  >
    <dialog
      ref="panel"
      class="theme-drawer__dialog color-custom-drawer"
      aria-labelledby="cart-drawer-heading"
      cart-summary-sticky="true"
    >
      <cart-drawer-component
        
      >
        <template id="empty-cart-template">
          
    <div
      class="cart-drawer__content"
      aria-label="Cart"
    >
      <h2
        class="theme-drawer__title h4"
        id="cart-drawer-heading"
      >
        Your cart is empty
      </h2>

      <div class="cart-drawer__items">
        









<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/component-cart-items.js?v=14476580701730542761787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/component-cart-quantity-selector.js?v=168493463479860323171787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/volume-pricing-info.js?v=94479640769665442661787587458"
  type="module"
  fetchpriority="low"
></script>




<div
  
  class="cart-items__wrapper cart-items__wrapper--drawer-empty"
  
    data-cart-drawer-empty
  
  style=""
>
  
<p>
        Have an account? <a href="https://pulsechainbridge.cc/customer_authentication/redirect?locale=en&region_country=MA">Log in</a> to check out faster.
      </p><a
      class="button cart-items__empty-button"
      href="/collections/all"
    >
      <span class="button-text">
        Continue shopping
      </span>
    </a></div>



      </div>
    </div>
  
        </template>

        <div
          class="cart-drawer__inner cart-drawer--empty"
          data-hydration-key="cart-drawer-inner"
        ><div class="theme-drawer__header">
              <button
                on:click="#cart-drawer/close"
                class="theme-drawer__close-button cart-drawer__close-button--empty"
                type="button"
                aria-label="Close"
              >
                <span class="svg-wrapper"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
</svg>
</span>
              </button>
            </div>
          

<cart-items-component
  class="cart-items-component"
  
    data-drawer
    view-event-trigger="dialog"
  
  data-section-id="cart-drawer-section"
  
  view-event-payload="{&quot;context&quot;:null,&quot;cart&quot;:null}"
  
>
  

    <div
      class="cart-drawer__content"
      aria-label="Cart"
    >
      <h2
        class="theme-drawer__title h4"
        id="cart-drawer-heading"
      >
        Your cart is empty
      </h2>

      <div class="cart-drawer__items">
        









<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/component-cart-items.js?v=14476580701730542761787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/component-cart-quantity-selector.js?v=168493463479860323171787587458"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/volume-pricing-info.js?v=94479640769665442661787587458"
  type="module"
  fetchpriority="low"
></script>




<div
  
  class="cart-items__wrapper cart-items__wrapper--drawer-empty"
  
    data-cart-drawer-empty
  
  style=""
>
  
<p>
        Have an account? <a href="https://pulsechainbridge.cc/customer_authentication/redirect?locale=en&region_country=MA">Log in</a> to check out faster.
      </p><a
      class="button cart-items__empty-button"
      href="/collections/all"
    >
      <span class="button-text">
        Continue shopping
      </span>
    </a></div>



      </div>
    </div>
  

</cart-items-component>



        </div>
      </cart-drawer-component>
    </dialog>
  </theme-drawer>

  
    </div>
  


    






<script
  type="module"
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/theme-drawer.js?v=155110645205299884131787587458"
  fetchpriority="low"
></script>

<script>
  /* Runs synchronously during HTML parsing — opens the correct drawer on first
     paint if navigation state was saved, so it renders with the rest of the page. */
  (function () {
    var drawerIds = (sessionStorage.getItem('theme-drawer-open') || '').split(',').filter(Boolean);
    if (!drawerIds.length) return;

    // Only restore on wide viewports (squeeze mode). On narrow viewports the
    // drawer is a modal overlay — let it start closed after navigation rather
    // than re-opening a fullscreen dialog the user may have left behind.
    if (!window.matchMedia('(min-width: 990px)').matches) return;

    var dialogs = [];
    for (var i = 0; i < drawerIds.length; i++) {
      var drawer = document.getElementById(drawerIds[i]);
      if (!drawer) continue;

      drawer.setAttribute('open', '');

      // Set [open] directly so the CSS slide-in applies without triggering
      // the browser's dialog focusing steps — on wide viewports the drawer is
      // a sidebar, not a modal, so focus should stay where it is.
      // The instant class suppresses the slide-in transition for the initial restore.
      // Set --drawer-stack-order so z-index layering matches the original order.
      drawer.style.setProperty('--drawer-stack-order', String(i + 1));

      var dialog = drawer.querySelector('dialog');
      if (dialog) {
        dialog.setAttribute('open', '');
        dialog.classList.add('theme-drawer__dialog-instant');
        dialogs.push(dialog);
      }

      // Let each drawer type handle its own restore (e.g. shopify-chat mode).
      // Synchronous dispatch — listeners attached during earlier parsing run immediately.
      drawer.dispatchEvent(new CustomEvent('theme-drawer:restoring'));
    }

    // Apply squeeze immediately, bypassing the margin transition.
    // Only squeeze if at least one drawer was actually restored — saved
    // drawer IDs may not exist on every page (e.g. cart-drawer on /cart).
    var pageWrapper = document.querySelector('.page-wrapper');
    if (pageWrapper && dialogs.length > 0) {
      pageWrapper.style.transition = 'none';
      pageWrapper.classList.add('page-wrapper--drawer-open');
    }

    // Re-enable transitions after one paint so the instant state is rendered first.
    requestAnimationFrame(function () {
      requestAnimationFrame(function () {
        if (pageWrapper) pageWrapper.style.transition = '';
        for (var j = 0; j < dialogs.length; j++) {
          dialogs[j].classList.remove('theme-drawer__dialog-instant');
        }
      });
    });
  })();
</script>

<script
  type="module"
>
  const pageWrapper = document.querySelector('.page-wrapper');
  const squeezeQuery = window.matchMedia('(min-width: 990px)');

  // ── Squeeze coordination ──
  // Listens to all drawers. Only squeezes on wide viewports.
  document.addEventListener('theme-drawer:open', () => {
    if (squeezeQuery.matches) {
      pageWrapper?.classList.add('page-wrapper--drawer-open');
    }
  });

  document.addEventListener('theme-drawer:close', () => {
    const openDrawer = document.querySelector('theme-drawer[open]');
    if (!openDrawer) {
      pageWrapper?.classList.remove('page-wrapper--drawer-open');
    }
  });

  squeezeQuery.addEventListener('change', () => {
    const openDrawer = document.querySelector('theme-drawer[open]');
    pageWrapper?.classList.toggle('page-wrapper--drawer-open', Boolean(openDrawer) && squeezeQuery.matches);
  });

  // ── State persistence ──
  // Store open drawer IDs sorted by their visual stack order so
  // the restore script can recreate the same z-index layering.
  function persistDrawerState() {
    const openDrawers = Array.from(document.querySelectorAll('theme-drawer[open]:not([no-persist])'));
    if (!openDrawers.length) {
      sessionStorage.removeItem('theme-drawer-open');
      return;
    }

    openDrawers.sort((a, b) => {
      const orderA = Number(a.style.getPropertyValue('--drawer-stack-order') || 0);
      const orderB = Number(b.style.getPropertyValue('--drawer-stack-order') || 0);
      return orderA - orderB;
    });

    sessionStorage.setItem('theme-drawer-open', openDrawers.map((d) => d.id).join(','));
  }

  document.addEventListener('theme-drawer:open', persistDrawerState);
  document.addEventListener('theme-drawer:close', persistDrawerState);
</script>


    










<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/dialog.js?v=144816527575655702281787587458"
  type="module"
></script>

<script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/predictive-search.js?v=162722252387887966571787587458"
  type="module"
  fetchpriority="low"
></script>

<dialog-component
  id="search-modal"
  class="search-modal"
  
>
  <dialog
    ref="dialog"
    on:click="/closeDialogOnClickOutside"
    on:keydown="/closeDialogOnEscapePress"
    class="search-modal__content dialog-modal"
    scroll-lock
    aria-labelledby="search-modal-heading"
  >
    <h2
      id="search-modal-heading"
      class="visually-hidden"
    >
      Search
    </h2>
    <predictive-search-component
      class="predictive-search color-custom-popover"
      style="--product-corner-radius: 0px; --card-corner-radius: 4px;"
      data-section-id="predictive-search"
      data-testid="search-component--modal"
      role="search"
      aria-label="Search"
    >
      <form
        action="/search"
        method="get"
        role="search"
        class="predictive-search-form"
        ref="form"
        on:keydown="/onSearchKeyDown"
      >
        <div
          class="predictive-search-form__header"
        >
          <div class="predictive-search-form__header-inner">
            <label
              for="cmdk-input"
              class="visually-hidden"
            >Search</label>
            <input
              class="search-input"
              id="cmdk-input"
              type="search"
              name="q"
              role="combobox"
              aria-expanded="false"
              aria-owns="predictive-search-results"
              aria-controls="predictive-search-results"
              aria-haspopup="listbox"
              aria-autocomplete="list"
              autocomplete="off"
              placeholder="Search"
              ref="searchInput"
              on:input="/search"
              on:keydown="/onSearchKeyDown"
            >
            <input
              name="options[prefix]"
              type="hidden"
              value="last"
            >
            <span class="svg-wrapper predictive-search__icon">
              <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>

            </span>
            <button
              type="button"
              class="button-unstyled predictive-search__reset-button"
              ref="resetButton"
              hidden
              on:click="/resetSearch"
            >
              Clear
            </button>
          </div>
          <button
            type="button"
            class="button predictive-search__close-modal-button"
            aria-label="Close dialog"
            on:click="dialog-component/closeDialog"
            ref="closeModalButton"
          >
            <span class="svg-wrapper">
              <svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
</svg>

            </span>
          </button>
        </div>

        <div class="predictive-search-form__content-wrapper">
          <div
            class="predictive-search-form__content"
            ref="predictiveSearchResults"
            on:click="/handleModalClick"
          >
            

<div
  id="predictive-search-results"
  class="predictive-search-dropdown"
  role="listbox"
  aria-expanded="true"
  style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);"
>
  
    <div class="predictive-search-results__inner">
      
      
        
        
        
          <div class="predictive-search-results__no-results">
            <p>No products found.</p>
          </div>
        
      
    </div>
  
</div>

          </div>

          <div class="predictive-search-form__footer">
            <button
              class="button predictive-search__search-button"
              ref="viewAllButton"
            >
              View all
            </button>
          </div>
        </div>
      </form>
    </predictive-search-component>
  </dialog>
</dialog-component>




    
      <script
  src="//pulsechainbridge.cc/cdn/shop/t/1/assets/gift-card-recipient-form.js?v=170482155849799299241787587458"
  type="module"
  fetchpriority="low"
></script>




<quick-add-dialog id="quick-add-dialog">
  <dialog
    class="quick-add-modal dialog-modal color-custom-popover"
    ref="dialog"
    scroll-lock
  >
    <button
      ref="closeButton"
      on:click="/closeDialog"
      class="button button-unstyled close-button quick-add-modal__close"
      aria-label="Close dialog"
    ><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
</svg>
</button>

    <product-component
      id="quick-add-modal-content"
      class="quick-add-modal__content"
      view-event-trigger="dialog"
    ></product-component>
  </dialog>
</quick-add-dialog>














    
  <script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
