CINXE.COM
Flow Primer | Your Guide to Understanding Flow Blockchain
<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Mon Mar 24 2025 15:13:46 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="flow.com" data-wf-page="62f0de3f46e67e957bb94dab" data-wf-site="5f734f4dbd95382f4fdfa0ea" lang="en"><head><meta charset="utf-8"/><title>Flow Primer | Your Guide to Understanding Flow Blockchain</title><meta content="Discover the Flow Primer, your essential guide to understanding the Flow blockchain. Learn about its architecture, features, and how it’s revolutionizing the world of decentralized applications." name="description"/><meta content="Flow Primer | Your Guide to Understanding Flow Blockchain" property="og:title"/><meta content="Discover the Flow Primer, your essential guide to understanding the Flow blockchain. Learn about its architecture, features, and how it’s revolutionizing the world of decentralized applications." property="og:description"/><meta content="Flow Primer | Your Guide to Understanding Flow Blockchain" property="twitter:title"/><meta content="Discover the Flow Primer, your essential guide to understanding the Flow blockchain. Learn about its architecture, features, and how it’s revolutionizing the world of decentralized applications." property="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="goOrjM0FiQtmK2lUJ9Y5NpPJA-fMUUc_6Q6Vmd7-XIY" name="google-site-verification"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/css/flow-com.webflow.c9c2f9eff.min.css" rel="stylesheet" type="text/css"/><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/616b1520779838b5f9174363_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/616b1548fd01d005fc2bc2c7_logo256.png" rel="apple-touch-icon"/><link href="https://flow.com/primer" rel="canonical"/><style> .w-webflow-badge { display: none !important; } </style> <!-- Google Tag Manager -- Managed by Fernando --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MKNRTMBS');</script> <!-- End Google Tag Manager --> <!-- Customer.io Source --> <script> !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.src="https://cdp.customer.io/v1/analytics-js/snippet/" + key + "/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n);analytics._writeKey=key;analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.15.3"; analytics.load("bcf877cb5e139c0980dc"); analytics.page(); }}(); </script> <meta name="facebook-domain-verification" content="dhlb5fcuitl7owilmsg6xh307ohoyc" /> <meta name="google-site-verification" content="X9Zy6GZWHtTYhYMFuXTQe0bhDgNud-rh69tz47fEWpc" /></head><body><div class="w-embed w-iframe"><!-- Google Tag Manager (noscript) - Managed by Fernando --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MKNRTMBS" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --></div><div class="page-wrapper"><div class="top-bar_component"><section class="banner10_component is--rewards"><div class="padding-global"><div class="banner10_content-wrapper"><div class="banner10_content"><div class="text-weight-medium">Flow Community Rewards are here. Earn points for engaging in the ecosystem, spend points on prizes. <a href="https://flow.com/post/flow-rewards-season-1-is-here" target="_blank" class="link-gradient-rewards">Learn more.</a></div></div><a aria-label="Hide Notification Bar" data-w-id="0eaad23c-eb64-7ba8-eec9-52106c88f2f8" href="#" class="banner10_close-button is-white w-inline-block"><div aria-hidden="true" class="icon-embed-small w-embed"><svg width="100%" height="100%" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M22.8354 22.864L22.3639 23.3354C22.1036 23.5957 21.6815 23.5957 21.4211 23.3354L16 17.9142L10.5788 23.3353C10.3185 23.5957 9.89638 23.5957 9.63603 23.3353L9.16462 22.8639C8.90427 22.6036 8.90427 22.1815 9.16462 21.9211L14.5858 16.5L9.16462 11.0788C8.90427 10.8185 8.90427 10.3964 9.16462 10.136L9.63602 9.66463C9.89637 9.40428 10.3185 9.40428 10.5788 9.66463L16 15.0858L21.4211 9.66462C21.6815 9.40427 22.1036 9.40427 22.3639 9.66462L22.8354 10.136C23.0957 10.3964 23.0957 10.8185 22.8354 11.0788L17.4142 16.5L22.8354 21.9211C23.0957 22.1815 23.0957 22.6036 22.8354 22.864Z" fill="currentColor"/> </svg></div></a></div></div></section></div><div data-w-id="8f920117-d18e-1758-05f7-b4e78e006560" data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navigation w-nav"><div class="nav-container w-container"><a href="https://flow.com/" class="nav-logo-div w-nav-brand"><img loading="lazy" src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/63ce603ae36f46f6bb67e51e_flow-logo.svg" alt="flow logo" class="hide"/><div aria-label="Flow logo" class="nav-logo__embed w-embed"><svg width="100" height="42" viewBox="0 0 100 42" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="21" cy="21" r="21" fill="#00EF8B"></circle> <path d="M29.9732 17.7422H24.0898V23.6255H29.9732V17.7422Z" fill="white"></path> <path d="M18.2138 25.8297C18.2138 26.2665 18.0843 26.6934 17.8416 27.0566C17.599 27.4197 17.2541 27.7028 16.8506 27.8699C16.447 28.0371 16.003 28.0808 15.5746 27.9956C15.1463 27.9104 14.7528 27.7001 14.4439 27.3912C14.1351 27.0824 13.9248 26.6889 13.8396 26.2605C13.7544 25.8321 13.7981 25.3881 13.9652 24.9846C14.1324 24.5811 14.4154 24.2362 14.7786 23.9935C15.1417 23.7509 15.5687 23.6214 16.0055 23.6214H18.2138V17.7422H16.0055C14.4059 17.7422 12.8423 18.2165 11.5123 19.1052C10.1823 19.9939 9.14572 21.2569 8.5336 22.7347C7.92147 24.2125 7.76131 25.8387 8.07337 27.4075C8.38543 28.9763 9.15569 30.4174 10.2867 31.5484C11.4178 32.6795 12.8589 33.4497 14.4277 33.7618C15.9965 34.0738 17.6226 33.9137 19.1004 33.3016C20.5782 32.6894 21.8413 31.6528 22.73 30.3229C23.6186 28.9929 24.093 27.4292 24.093 25.8297V23.6214H18.2138V25.8297Z" fill="white"></path> <path d="M26.2984 14.8003H32.9151V8.91699H26.2984C24.1542 8.91919 22.0984 9.77198 20.5821 11.2882C19.0659 12.8044 18.2131 14.8602 18.2109 17.0044V17.7419H24.0901V17.0044C24.0912 16.4195 24.3244 15.8589 24.7384 15.4456C25.1524 15.0324 25.7135 14.8003 26.2984 14.8003Z" fill="white"></path> <path class="logotype" d="M57.3672 20.9504H54.6797V30.9713H50.9297V20.9504H48.9922V17.7379H50.9297V16.4879C50.9297 13.2504 52.9505 11.5879 56.0214 11.5879C56.4968 11.5919 56.9705 11.6478 57.4339 11.7546V15.5046C57.0296 15.3425 56.5985 15.2577 56.163 15.2546C55.9663 15.239 55.7684 15.2662 55.5832 15.3343C55.3979 15.4024 55.2296 15.5099 55.0899 15.6492C54.9501 15.7886 54.8422 15.9566 54.7735 16.1417C54.7049 16.3267 54.6771 16.5245 54.6922 16.7213V17.7171H57.3797L57.3672 20.9504ZM63.013 30.9713H59.2214V11.8713H63.013V30.9713Z" fill="black"></path> <path class="logotype" d="M71.4292 16.9087C72.851 16.9062 74.2415 17.3257 75.4247 18.1141C76.6079 18.9025 77.5306 20.0242 78.0758 21.3373C78.6211 22.6504 78.7644 24.0958 78.4876 25.4904C78.2108 26.885 77.5264 28.166 76.5211 29.1714C75.5157 30.1768 74.2346 30.8612 72.84 31.1379C71.4454 31.4147 70.0001 31.2714 68.687 30.7262C67.3739 30.1809 66.2521 29.2583 65.4638 28.0751C64.6754 26.8919 64.2559 25.5013 64.2584 24.0795C64.2466 23.1346 64.4241 22.1969 64.7803 21.3215C65.1365 20.4462 65.6642 19.651 66.3325 18.9828C67.0007 18.3146 67.7959 17.7868 68.6712 17.4306C69.5465 17.0744 70.4842 16.897 71.4292 16.9087ZM71.4292 27.5962C73.3667 27.5962 74.7625 25.9879 74.7625 24.0795C74.7834 23.629 74.7126 23.1789 74.5544 22.7565C74.3963 22.3341 74.1541 21.9483 73.8424 21.6222C73.5308 21.2962 73.1562 21.0368 72.7414 20.8597C72.3266 20.6826 71.8802 20.5916 71.4292 20.592C70.5213 20.6234 69.661 21.006 69.0298 21.6594C68.3986 22.3127 68.0458 23.1857 68.0458 24.0941C68.0458 25.0026 68.3986 25.8755 69.0298 26.5288C69.661 27.1822 70.5213 27.5649 71.4292 27.5962Z" fill="black"></path> <path class="logotype" d="M82.5576 17.1875L84.9951 26.3542L87.4326 19.0708L86.7659 17.1917H90.5159L93.7284 26.3583L96.1076 17.1917H99.9992L95.9034 30.975H91.9701L89.2284 23.4167L86.6659 30.9708H82.7076L78.6367 17.1875H82.5576Z" fill="black"></path> </svg></div></a><nav role="navigation" class="new-navigation-menu is--right-align w-nav-menu"><div data-delay="0" data-hover="false" class="new-navitaion__menu-item w-dropdown"><div class="new-nav-link w-dropdown-toggle"><div class="nav-link-text">About</div><div class="nav-link-dropdown-icon w-icon-dropdown-toggle"></div></div><nav class="navigation-dropdown-list is--pin-right w-dropdown-list"><a href="/core-protocol" class="navigation-dropdown-link w-dropdown-link">Vision</a><a href="/flow-roadmap" class="navigation-dropdown-link w-dropdown-link">Roadmap</a><a href="/upgrade/crescendo/cadence-1" class="navigation-dropdown-link icon w-dropdown-link">Why Cadence</a><a href="/blog" class="navigation-dropdown-link icon w-dropdown-link">Blog</a><a href="/careers" class="navigation-dropdown-link icon w-dropdown-link">Careers</a><a href="/mediakit" class="navigation-dropdown-link icon w-dropdown-link">Media Kit</a><a href="/use-cases" class="navigation-dropdown-link w-dropdown-link">Use Cases</a></nav></div><div data-delay="0" data-hover="false" class="new-navitaion__menu-item w-dropdown"><div class="new-nav-link w-dropdown-toggle"><div class="nav-link-text">Build</div><div class="nav-link-dropdown-icon w-icon-dropdown-toggle"></div></div><nav class="navigation-dropdown-list is--pin-right w-dropdown-list"><a href="https://developers.flow.com/build/getting-started/hello-world" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">Quickstart</a><a href="http://developers.flow.com/" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">Portal</a><a href="https://developers.flow.com/build/flow" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">Docs</a><a href="/certified-developers" class="navigation-dropdown-link icon w-dropdown-link">Certified Flow Devs</a><a href="/node-operation" class="navigation-dropdown-link icon w-dropdown-link">Run a Node</a><a href="https://github.com/onflow" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">GitHub</a><a href="https://status.onflow.org/" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">Network Status</a><a href="https://www.flowscan.io/" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">Block Explorer</a><div class="nav-social__desk"><div class="nav-social__wrapper"><a href="https://twitter.com/flow_blockchain" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M17.1761 4.24268H19.9362L13.9061 11.0201L21 20.2427H15.4456L11.0951 14.6493L6.11723 20.2427H3.35544L9.80517 12.9935L3 4.24268H8.69545L12.6279 9.3553L17.1761 4.24268ZM16.2073 18.6181H17.7368L7.86441 5.78196H6.2232L16.2073 18.6181Z" fill="currentColor"/> </svg></div></a><a href="https://discord.com/invite/J6fFnh2xx6" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M20.2752 6.02667C18.7615 4.74667 16.945 4.10667 15.0275 4L14.7248 4.32C16.4404 4.74667 17.9541 5.6 19.367 6.77333C17.6514 5.81333 15.7339 5.17333 13.7156 4.96C13.1101 4.85333 12.6055 4.85333 12 4.85333C11.3945 4.85333 10.8899 4.85333 10.2844 4.96C8.26606 5.17333 6.34862 5.81333 4.63303 6.77333C6.04587 5.6 7.55963 4.74667 9.27523 4.32L8.97248 4C7.05505 4.10667 5.23853 4.74667 3.72477 6.02667C2.00917 9.44 1.10092 13.28 1 17.2267C2.51376 18.9333 4.63303 20 6.85321 20C6.85321 20 7.55963 19.1467 8.06422 18.4C6.75229 18.08 5.54128 17.3333 4.73395 16.16C5.44037 16.5867 6.14679 17.0133 6.85321 17.3333C7.76147 17.76 8.66973 17.9733 9.57798 18.1867C10.3853 18.2933 11.1927 18.4 12 18.4C12.8073 18.4 13.6147 18.2933 14.422 18.1867C15.3303 17.9733 16.2385 17.76 17.1468 17.3333C17.8532 17.0133 18.5596 16.5867 19.2661 16.16C18.4587 17.3333 17.2477 18.08 15.9358 18.4C16.4404 19.1467 17.1468 20 17.1468 20C19.367 20 21.4862 18.9333 23 17.2267C22.8991 13.28 21.9908 9.44 20.2752 6.02667ZM8.66972 15.3067C7.66055 15.3067 6.75229 14.3467 6.75229 13.1733C6.75229 12 7.66055 11.04 8.66972 11.04C9.6789 11.04 10.5872 12 10.5872 13.1733C10.5872 14.3467 9.6789 15.3067 8.66972 15.3067ZM15.3303 15.3067C14.3211 15.3067 13.4128 14.3467 13.4128 13.1733C13.4128 12 14.3211 11.04 15.3303 11.04C16.3394 11.04 17.2477 12 17.2477 13.1733C17.2477 14.3467 16.3394 15.3067 15.3303 15.3067Z" fill="currentColor"/> </svg></div></a><a href="https://github.com/onflow" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path fill-rule="evenodd" clip-rule="evenodd" d="M12 3C7.02991 3 3 7.13058 3 12.2295C3 16.3078 5.57946 19.7634 9.15536 20.9849C9.60536 21.0693 9.77009 20.784 9.77009 20.5389C9.77009 20.3179 9.76205 19.7393 9.75804 18.9678C7.25491 19.5263 6.72455 17.7302 6.72455 17.7302C6.31473 16.6655 5.72411 16.3802 5.72411 16.3802C4.90848 15.8056 5.78438 15.8176 5.78438 15.8176C6.68839 15.8819 7.1625 16.7699 7.1625 16.7699C7.96607 18.1803 9.26786 17.7744 9.78214 17.5374C9.8625 16.9427 10.0955 16.5329 10.3527 16.3038C8.3558 16.0708 6.25446 15.2792 6.25446 11.7433C6.25446 10.7348 6.60402 9.91108 7.17857 9.26819C7.08616 9.03514 6.77679 8.09491 7.26696 6.8252C7.26696 6.8252 8.02232 6.57608 9.74196 7.76945C10.4612 7.56453 11.2286 7.46408 11.996 7.46006C12.7594 7.46408 13.5308 7.56453 14.25 7.76945C15.9696 6.57608 16.721 6.8252 16.721 6.8252C17.2112 8.09491 16.9018 9.03514 16.8094 9.26819C17.3839 9.9151 17.7335 10.7388 17.7335 11.7433C17.7335 15.2873 15.6281 16.0668 13.6232 16.2958C13.9446 16.5811 14.2339 17.1436 14.2339 18.0035C14.2339 19.237 14.2219 20.2335 14.2219 20.5349C14.2219 20.78 14.3826 21.0693 14.8406 20.9768C18.4246 19.7594 21 16.3038 21 12.2295C21 7.13058 16.9701 3 12 3Z" fill="currentColor"/> </svg></div></a><a href="https://flow.com/blog" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M19.875 3H7.5C6.87844 3 6.375 3.50344 6.375 4.125V8.625H4.12444C3.50287 8.625 3 9.14137 3 9.76294V18.2004C3 19.4441 4.00687 21 5.25 21H18.75C19.9914 21 21 19.4441 21 18.2004V4.125C21 3.50344 20.4966 3 19.875 3ZM6.375 18.2004C6.375 18.8214 5.87156 19.3254 5.25 19.3254C4.62844 19.3254 4.125 18.8214 4.125 18.2004V9.75H6.375V18.2004ZM17.625 17.625H9.75V16.5H17.625V17.625ZM17.625 14.25H9.75V13.125H17.625V14.25ZM17.625 10.875H9.75V7.5H17.625V10.875Z" fill="currentColor"/> </svg></div></a><a href="https://www.youtube.com/@FlowBlockchain" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M21.5933 7.20301C21.4794 6.78041 21.2568 6.39501 20.9477 6.08518C20.6386 5.77534 20.2537 5.55187 19.8313 5.43701C18.2653 5.00701 12.0003 5.00001 12.0003 5.00001C12.0003 5.00001 5.73633 4.99301 4.16933 5.40401C3.74725 5.52415 3.36315 5.75078 3.0539 6.06214C2.74464 6.3735 2.52062 6.75913 2.40333 7.18201C1.99033 8.74801 1.98633 11.996 1.98633 11.996C1.98633 11.996 1.98233 15.26 2.39233 16.81C2.62233 17.667 3.29733 18.344 4.15533 18.575C5.73733 19.005 11.9853 19.012 11.9853 19.012C11.9853 19.012 18.2503 19.019 19.8163 18.609C20.2388 18.4943 20.6241 18.2714 20.934 17.9622C21.2439 17.653 21.4677 17.2682 21.5833 16.846C21.9973 15.281 22.0003 12.034 22.0003 12.034C22.0003 12.034 22.0203 8.76901 21.5933 7.20301ZM9.99633 15.005L10.0013 9.00501L15.2083 12.01L9.99633 15.005Z" fill="currentColor"/> </svg></div></a></div></div></nav></div><div data-hover="false" data-delay="100" class="new-navitaion__menu-item w-dropdown"><div class="new-nav-link w-dropdown-toggle"><div class="nav-link-text">Explore</div><div class="nav-link-dropdown-icon w-icon-dropdown-toggle"></div></div><nav class="navigation-dropdown-list explore w-dropdown-list"><a href="https://store.flow.com/apps" target="_blank" class="navigation-dropdown-link icon w-dropdown-link">Apps</a><a href="https://wallet.flow.com/" target="_blank" class="navigation-dropdown-link w-dropdown-link">Flow Wallet</a><a href="/flow-tokenomics/technical-overview" class="navigation-dropdown-link w-dropdown-link">FLOW Coin</a><a href="/use-flow/bridges" class="navigation-dropdown-link w-dropdown-link">Bridge</a><a href="https://port.onflow.org/" target="_blank" class="navigation-dropdown-link w-dropdown-link">Port</a><div class="nav-social__desk"><div class="nav-social__wrapper"><a href="https://twitter.com/flow_blockchain" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M17.1761 4.24268H19.9362L13.9061 11.0201L21 20.2427H15.4456L11.0951 14.6493L6.11723 20.2427H3.35544L9.80517 12.9935L3 4.24268H8.69545L12.6279 9.3553L17.1761 4.24268ZM16.2073 18.6181H17.7368L7.86441 5.78196H6.2232L16.2073 18.6181Z" fill="currentColor"/> </svg></div></a><a href="https://discord.com/invite/J6fFnh2xx6" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M20.2752 6.02667C18.7615 4.74667 16.945 4.10667 15.0275 4L14.7248 4.32C16.4404 4.74667 17.9541 5.6 19.367 6.77333C17.6514 5.81333 15.7339 5.17333 13.7156 4.96C13.1101 4.85333 12.6055 4.85333 12 4.85333C11.3945 4.85333 10.8899 4.85333 10.2844 4.96C8.26606 5.17333 6.34862 5.81333 4.63303 6.77333C6.04587 5.6 7.55963 4.74667 9.27523 4.32L8.97248 4C7.05505 4.10667 5.23853 4.74667 3.72477 6.02667C2.00917 9.44 1.10092 13.28 1 17.2267C2.51376 18.9333 4.63303 20 6.85321 20C6.85321 20 7.55963 19.1467 8.06422 18.4C6.75229 18.08 5.54128 17.3333 4.73395 16.16C5.44037 16.5867 6.14679 17.0133 6.85321 17.3333C7.76147 17.76 8.66973 17.9733 9.57798 18.1867C10.3853 18.2933 11.1927 18.4 12 18.4C12.8073 18.4 13.6147 18.2933 14.422 18.1867C15.3303 17.9733 16.2385 17.76 17.1468 17.3333C17.8532 17.0133 18.5596 16.5867 19.2661 16.16C18.4587 17.3333 17.2477 18.08 15.9358 18.4C16.4404 19.1467 17.1468 20 17.1468 20C19.367 20 21.4862 18.9333 23 17.2267C22.8991 13.28 21.9908 9.44 20.2752 6.02667ZM8.66972 15.3067C7.66055 15.3067 6.75229 14.3467 6.75229 13.1733C6.75229 12 7.66055 11.04 8.66972 11.04C9.6789 11.04 10.5872 12 10.5872 13.1733C10.5872 14.3467 9.6789 15.3067 8.66972 15.3067ZM15.3303 15.3067C14.3211 15.3067 13.4128 14.3467 13.4128 13.1733C13.4128 12 14.3211 11.04 15.3303 11.04C16.3394 11.04 17.2477 12 17.2477 13.1733C17.2477 14.3467 16.3394 15.3067 15.3303 15.3067Z" fill="currentColor"/> </svg></div></a><a href="https://github.com/onflow" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path fill-rule="evenodd" clip-rule="evenodd" d="M12 3C7.02991 3 3 7.13058 3 12.2295C3 16.3078 5.57946 19.7634 9.15536 20.9849C9.60536 21.0693 9.77009 20.784 9.77009 20.5389C9.77009 20.3179 9.76205 19.7393 9.75804 18.9678C7.25491 19.5263 6.72455 17.7302 6.72455 17.7302C6.31473 16.6655 5.72411 16.3802 5.72411 16.3802C4.90848 15.8056 5.78438 15.8176 5.78438 15.8176C6.68839 15.8819 7.1625 16.7699 7.1625 16.7699C7.96607 18.1803 9.26786 17.7744 9.78214 17.5374C9.8625 16.9427 10.0955 16.5329 10.3527 16.3038C8.3558 16.0708 6.25446 15.2792 6.25446 11.7433C6.25446 10.7348 6.60402 9.91108 7.17857 9.26819C7.08616 9.03514 6.77679 8.09491 7.26696 6.8252C7.26696 6.8252 8.02232 6.57608 9.74196 7.76945C10.4612 7.56453 11.2286 7.46408 11.996 7.46006C12.7594 7.46408 13.5308 7.56453 14.25 7.76945C15.9696 6.57608 16.721 6.8252 16.721 6.8252C17.2112 8.09491 16.9018 9.03514 16.8094 9.26819C17.3839 9.9151 17.7335 10.7388 17.7335 11.7433C17.7335 15.2873 15.6281 16.0668 13.6232 16.2958C13.9446 16.5811 14.2339 17.1436 14.2339 18.0035C14.2339 19.237 14.2219 20.2335 14.2219 20.5349C14.2219 20.78 14.3826 21.0693 14.8406 20.9768C18.4246 19.7594 21 16.3038 21 12.2295C21 7.13058 16.9701 3 12 3Z" fill="currentColor"/> </svg></div></a><a href="https://flow.com/blog" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M19.875 3H7.5C6.87844 3 6.375 3.50344 6.375 4.125V8.625H4.12444C3.50287 8.625 3 9.14137 3 9.76294V18.2004C3 19.4441 4.00687 21 5.25 21H18.75C19.9914 21 21 19.4441 21 18.2004V4.125C21 3.50344 20.4966 3 19.875 3ZM6.375 18.2004C6.375 18.8214 5.87156 19.3254 5.25 19.3254C4.62844 19.3254 4.125 18.8214 4.125 18.2004V9.75H6.375V18.2004ZM17.625 17.625H9.75V16.5H17.625V17.625ZM17.625 14.25H9.75V13.125H17.625V14.25ZM17.625 10.875H9.75V7.5H17.625V10.875Z" fill="currentColor"/> </svg></div></a><a href="https://www.youtube.com/@FlowBlockchain" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M21.5933 7.20301C21.4794 6.78041 21.2568 6.39501 20.9477 6.08518C20.6386 5.77534 20.2537 5.55187 19.8313 5.43701C18.2653 5.00701 12.0003 5.00001 12.0003 5.00001C12.0003 5.00001 5.73633 4.99301 4.16933 5.40401C3.74725 5.52415 3.36315 5.75078 3.0539 6.06214C2.74464 6.3735 2.52062 6.75913 2.40333 7.18201C1.99033 8.74801 1.98633 11.996 1.98633 11.996C1.98633 11.996 1.98233 15.26 2.39233 16.81C2.62233 17.667 3.29733 18.344 4.15533 18.575C5.73733 19.005 11.9853 19.012 11.9853 19.012C11.9853 19.012 18.2503 19.019 19.8163 18.609C20.2388 18.4943 20.6241 18.2714 20.934 17.9622C21.2439 17.653 21.4677 17.2682 21.5833 16.846C21.9973 15.281 22.0003 12.034 22.0003 12.034C22.0003 12.034 22.0203 8.76901 21.5933 7.20301ZM9.99633 15.005L10.0013 9.00501L15.2083 12.01L9.99633 15.005Z" fill="currentColor"/> </svg></div></a></div></div></nav></div><div class="nav-social__mobile"><div class="nav-social__wrapper"><a href="https://twitter.com/flow_blockchain" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M17.1761 4.24268H19.9362L13.9061 11.0201L21 20.2427H15.4456L11.0951 14.6493L6.11723 20.2427H3.35544L9.80517 12.9935L3 4.24268H8.69545L12.6279 9.3553L17.1761 4.24268ZM16.2073 18.6181H17.7368L7.86441 5.78196H6.2232L16.2073 18.6181Z" fill="currentColor"/> </svg></div></a><a href="https://discord.com/invite/J6fFnh2xx6" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M20.2752 6.02667C18.7615 4.74667 16.945 4.10667 15.0275 4L14.7248 4.32C16.4404 4.74667 17.9541 5.6 19.367 6.77333C17.6514 5.81333 15.7339 5.17333 13.7156 4.96C13.1101 4.85333 12.6055 4.85333 12 4.85333C11.3945 4.85333 10.8899 4.85333 10.2844 4.96C8.26606 5.17333 6.34862 5.81333 4.63303 6.77333C6.04587 5.6 7.55963 4.74667 9.27523 4.32L8.97248 4C7.05505 4.10667 5.23853 4.74667 3.72477 6.02667C2.00917 9.44 1.10092 13.28 1 17.2267C2.51376 18.9333 4.63303 20 6.85321 20C6.85321 20 7.55963 19.1467 8.06422 18.4C6.75229 18.08 5.54128 17.3333 4.73395 16.16C5.44037 16.5867 6.14679 17.0133 6.85321 17.3333C7.76147 17.76 8.66973 17.9733 9.57798 18.1867C10.3853 18.2933 11.1927 18.4 12 18.4C12.8073 18.4 13.6147 18.2933 14.422 18.1867C15.3303 17.9733 16.2385 17.76 17.1468 17.3333C17.8532 17.0133 18.5596 16.5867 19.2661 16.16C18.4587 17.3333 17.2477 18.08 15.9358 18.4C16.4404 19.1467 17.1468 20 17.1468 20C19.367 20 21.4862 18.9333 23 17.2267C22.8991 13.28 21.9908 9.44 20.2752 6.02667ZM8.66972 15.3067C7.66055 15.3067 6.75229 14.3467 6.75229 13.1733C6.75229 12 7.66055 11.04 8.66972 11.04C9.6789 11.04 10.5872 12 10.5872 13.1733C10.5872 14.3467 9.6789 15.3067 8.66972 15.3067ZM15.3303 15.3067C14.3211 15.3067 13.4128 14.3467 13.4128 13.1733C13.4128 12 14.3211 11.04 15.3303 11.04C16.3394 11.04 17.2477 12 17.2477 13.1733C17.2477 14.3467 16.3394 15.3067 15.3303 15.3067Z" fill="currentColor"/> </svg></div></a><a href="https://github.com/onflow" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path fill-rule="evenodd" clip-rule="evenodd" d="M12 3C7.02991 3 3 7.13058 3 12.2295C3 16.3078 5.57946 19.7634 9.15536 20.9849C9.60536 21.0693 9.77009 20.784 9.77009 20.5389C9.77009 20.3179 9.76205 19.7393 9.75804 18.9678C7.25491 19.5263 6.72455 17.7302 6.72455 17.7302C6.31473 16.6655 5.72411 16.3802 5.72411 16.3802C4.90848 15.8056 5.78438 15.8176 5.78438 15.8176C6.68839 15.8819 7.1625 16.7699 7.1625 16.7699C7.96607 18.1803 9.26786 17.7744 9.78214 17.5374C9.8625 16.9427 10.0955 16.5329 10.3527 16.3038C8.3558 16.0708 6.25446 15.2792 6.25446 11.7433C6.25446 10.7348 6.60402 9.91108 7.17857 9.26819C7.08616 9.03514 6.77679 8.09491 7.26696 6.8252C7.26696 6.8252 8.02232 6.57608 9.74196 7.76945C10.4612 7.56453 11.2286 7.46408 11.996 7.46006C12.7594 7.46408 13.5308 7.56453 14.25 7.76945C15.9696 6.57608 16.721 6.8252 16.721 6.8252C17.2112 8.09491 16.9018 9.03514 16.8094 9.26819C17.3839 9.9151 17.7335 10.7388 17.7335 11.7433C17.7335 15.2873 15.6281 16.0668 13.6232 16.2958C13.9446 16.5811 14.2339 17.1436 14.2339 18.0035C14.2339 19.237 14.2219 20.2335 14.2219 20.5349C14.2219 20.78 14.3826 21.0693 14.8406 20.9768C18.4246 19.7594 21 16.3038 21 12.2295C21 7.13058 16.9701 3 12 3Z" fill="currentColor"/> </svg></div></a><a href="https://flow.com/blog" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M19.875 3H7.5C6.87844 3 6.375 3.50344 6.375 4.125V8.625H4.12444C3.50287 8.625 3 9.14137 3 9.76294V18.2004C3 19.4441 4.00687 21 5.25 21H18.75C19.9914 21 21 19.4441 21 18.2004V4.125C21 3.50344 20.4966 3 19.875 3ZM6.375 18.2004C6.375 18.8214 5.87156 19.3254 5.25 19.3254C4.62844 19.3254 4.125 18.8214 4.125 18.2004V9.75H6.375V18.2004ZM17.625 17.625H9.75V16.5H17.625V17.625ZM17.625 14.25H9.75V13.125H17.625V14.25ZM17.625 10.875H9.75V7.5H17.625V10.875Z" fill="currentColor"/> </svg></div></a><a href="https://www.youtube.com/@FlowBlockchain" target="_blank" class="nav-social__link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> <path d="M21.5933 7.20301C21.4794 6.78041 21.2568 6.39501 20.9477 6.08518C20.6386 5.77534 20.2537 5.55187 19.8313 5.43701C18.2653 5.00701 12.0003 5.00001 12.0003 5.00001C12.0003 5.00001 5.73633 4.99301 4.16933 5.40401C3.74725 5.52415 3.36315 5.75078 3.0539 6.06214C2.74464 6.3735 2.52062 6.75913 2.40333 7.18201C1.99033 8.74801 1.98633 11.996 1.98633 11.996C1.98633 11.996 1.98233 15.26 2.39233 16.81C2.62233 17.667 3.29733 18.344 4.15533 18.575C5.73733 19.005 11.9853 19.012 11.9853 19.012C11.9853 19.012 18.2503 19.019 19.8163 18.609C20.2388 18.4943 20.6241 18.2714 20.934 17.9622C21.2439 17.653 21.4677 17.2682 21.5833 16.846C21.9973 15.281 22.0003 12.034 22.0003 12.034C22.0003 12.034 22.0203 8.76901 21.5933 7.20301ZM9.99633 15.005L10.0013 9.00501L15.2083 12.01L9.99633 15.005Z" fill="currentColor"/> </svg></div></a></div></div></nav><div class="new-menu-button w-nav-button"><div class="w-icon-nav-menu"></div></div></div></div><div class="hero-bg__wrap"><img src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66702948768906f8f39b1e5d_flow-lights-1-mob.webp" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66702948768906f8f39b1e5d_flow-lights-1-mob-p-500.webp 500w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66702948768906f8f39b1e5d_flow-lights-1-mob-p-800.webp 800w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66702948768906f8f39b1e5d_flow-lights-1-mob.webp 991w" class="hero-bg__img-mobile"/><img src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/667023f99c2f9c9cd5ce818d_flow-lights-1.webp" loading="lazy" alt="" sizes="(max-width: 1919px) 100vw, 1920px" srcset="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/667023f99c2f9c9cd5ce818d_flow-lights-1-p-500.webp 500w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/667023f99c2f9c9cd5ce818d_flow-lights-1-p-800.webp 800w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/667023f99c2f9c9cd5ce818d_flow-lights-1-p-1080.webp 1080w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/667023f99c2f9c9cd5ce818d_flow-lights-1.webp 1920w" class="hero-bg__img"/></div><div class="main-wrapper is--relative"><section class="hero is--short"><div data-w-id="026a63d2-31cc-b94f-f0c5-fb5b686371b0" class="c-large"><div class="hero_grid is--short"><div class="heading__wrapper"><div class="mask margin-bottom-24"><div class="hero-uppertitle">Technical Vision</div></div><div class="mask"><div class="w-layout-vflex hero-title"><h1 class="heading-xlarge">Primer</h1></div></div></div></div></div></section><div class="section"><div class="container-10 w-container"><div class="w-row"><div class="column-13 w-col w-col-3"><ul role="list" class="w-list-unstyled"><li class="sidebar-list-row"><a href="#primer-intro" class="sidebar-list">Introduction</a></li><li class="sidebar-list-row"><a href="#prime-multi-node" class="sidebar-list">Multi-Node Architecture</a></li><li class="sidebar-list-row"><a href="#primer-developerexp" class="sidebar-list">Developer-First Experience</a></li><li class="sidebar-list-row"><a href="#consumer-friendly-onboarding" class="sidebar-list">Consumer-Friendly Onboarding</a></li><li class="sidebar-list-row"><a href="#primer-community" class="sidebar-list">Community</a></li><li class="sidebar-list-row"><a href="#primer-what-next" class="sidebar-list">What's Next</a></li></ul><a data-mpevent="primer_pdf_download" href="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/62f0de4b2f21085eca3fd2c6_Flow%20Primer.pdf" target="_blank" class="button-2 button-full-width primer w-button">Download PDF</a></div><div class="column-12 text-section w-col w-col-9"><div id="primer-introduction"><h2 id="primer-intro" class="primer-h2">Introduction<br/></h2><p class="inside-page-content"><strong>Flow, the blockchain for open worlds<br/><br/></strong>Flow is a fast, decentralized, and developer-friendly blockchain, designed as the foundation for a new generation of games, apps, and the digital assets that power them. It is based on a unique, multi-role architecture, and designed to scale without sharding, allowing for massive improvements in speed and throughput while preserving a developer-friendly, ACID-compliant environment.<br/><br/>Flow empowers developers to build thriving crypto- and crypto-enabled businesses. Applications on Flow can keep consumers in control of their own data; create new kinds of digital assets tradable on open markets accessible from anywhere in the world; and build open economies owned by the users that help make them valuable. <br/><br/>Smart contracts on Flow can be assembled like Lego blocks to power apps serving billions of people, from basketball fans to businesses with mission-critical requirements. <br/><br/>There are four pillars that make Flow unique among existing blockchains:<br/></p><ul role="list" class="list bullet"><li class="list-item-bullet"><strong class="list-item-bold">Multi-role architecture: </strong>Flow’s design is unique, allowing the network to scale to serve billions of users without sharding or reducing decentralization of consensus.</li><li class="list-item-bullet"><strong class="list-item-bold">Resource-oriented programming:</strong> smart contracts on Flow are written in Cadence, an easier and safer programming language for crypto assets and apps.</li><li class="list-item-bullet"><span class="list-item-8"><strong class="list-item-bold">Developer ergonomics:</strong> from upgradeable smart contracts and built-in logging support to the Flow Emulator, this network is designed for results.</span></li><li class="list-item-bullet"><strong class="list-item-bold">Consumer onboarding:</strong> Flow was designed for mainstream consumers, with payment onramps catalyzing a safe and low-friction path from fiat to crypto.</li></ul><p class="inside-page-content">While we originally started building Flow for our own use-cases, it has quickly become far bigger than us. Hundreds of developers in our <a href="http://chat.onflow.org" class="inside-page-text-link">discord</a> and thousands around the world agree: we’re being something special here. Let’s build the future together! <br/><br/></p></div><div><h3 id="prime-multi-node" class="primer-h2">Multi-Node Architecture<br/></h3><p class="inside-page-content">In a traditional blockchain, every node stores the entire state (account balances, smart contract code, etc.) and performs all of the work associated with processing every transaction in the chain. This is analogous to having a single worker build an entire car. <br/><br/>From manufacturing to CPU design, pipelining is a common technique for dramatically scaling up productivity. Flow applies pipelining to blockchains by separating the jobs of a validator node into four different roles: Collection, Consensus, Execution, and Verification. This separation of labor between nodes is vertical (across the different validation stages for each transaction) rather than horizontal (across different transactions, as with sharding). <br/><br/>In other words, every validator node still participates in the validation of every transaction, but they do so only at one of the stages of validation. They can therefore specialize for — and greatly increase the efficiency of — their particular stage of focus. <br/><br/>This allows Flow to scale to thousands of times higher throughput and lower cost while maintaining a shared execution environment for all operations on the network. In database terms, smart contracts and user accounts on Flow can always interact with each other in one atomic, consistent, isolated, and durable (ACID) transaction. This ensures good user experience and full composability, letting developers easily build on each other’s work.<br/></p><h3 class="primer-h3">Problems with Sharding</h3><p class="inside-page-content">Most proposals aim to improve the scalability of blockchains by fragmenting them into inter-connected networks: commonly shards, although sidechains have the same issues. These approaches remove serializability (“ACID”) guarantees common in database systems. <br/><br/>Loss of ACID guarantees makes building an app that needs to access data across fragments far more difficult and error-prone. Interactions between smart contracts become very complicated, and even individual large-scale applications would have to resort to complex mechanics to scale across shards due to latency issues and higher transaction failure rates. The combination dramatically limits the kinds of applications possible on the network as well as their network effects. <strong>Sharding effectively saddles the hardest part of scaling the blockchain onto application developers rather than solving it at the protocol level.<br/><br/></strong>A simple user action (purchasing a hat for a CryptoKitty using a stablecoin like TUSD) can take twelve transactions and seven blocks on a sharded blockchain. In an unsharded, ACID-compliant environment like Flow, the same action, and many more complex than it, can be handled by one atomic transaction in a single block.<br/><br/>Worse than the additional time and cost is the increased attack surface and complexity: it will be much harder to design, test, and harden the smart contract code on a sharded blockchain. <br/></p><h3 class="primer-h3">Separating Consensus from Compute<br/></h3><p class="inside-page-content">The core insight that led to architecture of Flow is that we can separate non-deterministic processes from deterministic ones and assign each to different types of nodes based on their technical capabilities to dramatically increase the blockchain throughput and solve several user- and developer experience problems with existing networks at the same time. Our realization was that tasks within a blockchain can be divided into two types: <br/></p><ul role="list" class="list bullet"><li class="list-item-bullet">Non-deterministic (or “subjective”) tasks, such as determining the presence and order of transactions in the blockchain</li><li class="list-item-bullet">Deterministic (or “objective”) tasks, such as computing the result of those ordered transactions once it has been determined</li></ul><p class="inside-page-content">Non-deterministic tasks require a coordinated consensus process (like Proof of Work or Proof of Stake). Deterministic tasks, on the other hand, always have a single, objectively-correct outcome. The critical insight behind Flow’s architecture was that the single biggest bottleneck to blockchain performance is the deterministic task of executing transactions after they’ve already been included into a block, and not the subjective process that requires consensus, i.e. the formation of the block itself. This insight is outlined in our first technical paper: <a href="https://arxiv.org/pdf/1909.05821.pdf" class="inside-page-text-link">Separating Consensus and Compute</a>.<br/></p><h3 class="primer-h3">Flow Multi-Role Architecture</h3><p class="inside-page-content">Flow pipelines the work of a blockchain miner or validator across four different roles that all require staking; a separation of concerns that significantly reduces redundant effort:</p><ul role="list" class="list bullet"><li class="list-item-bullet">Consensus Nodes decide the presence and order of transactions on the blockchain</li><li class="list-item-bullet">Verification Nodes are responsible for keeping the Execution Nodes in check</li><li class="list-item-bullet">Execution Nodes perform the computation associated with each transaction</li><li class="list-item-bullet">Collection Nodes enhance network connectivity and data availability for dapps</li></ul><p class="inside-page-content"><strong>Flow is designed such that even a single honest node, of any role, can punish and trigger recovery from invalid data introduced by dishonest Collection or Execution Nodes. <br/><br/></strong>Consensus and Verification Nodes together are the foundation of security in the Flow network and leverage cryptoeconomic incentives to hold the rest of the network accountable. These validators can optimize for security and decentralization: the roles of Consensus and Verification are streamlined to allow high levels of participation, even by individuals with consumer-grade hardware running on home internet connections. Consensus nodes run a variant of HotStuff, one of the most proven proof of stake algorithms. <br/></p><img src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/62f0de4b2f210850a33fd2c7_Flow-primer1.png" sizes="(max-width: 479px) 83vw, (max-width: 767px) 90vw, (max-width: 991px) 62vw, (max-width: 1279px) 65vw, 650px" srcset="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/62f0de4b2f210850a33fd2c7_Flow-primer1-p-500.png 500w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/62f0de4b2f210850a33fd2c7_Flow-primer1-p-800.png 800w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/62f0de4b2f210850a33fd2c7_Flow-primer1-p-1080.png 1080w, https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/62f0de4b2f210850a33fd2c7_Flow-primer1.png 1167w" alt="proof of stake"/><p class="inside-page-content"><br/>Execution and Collection Nodes, on the other hand, do work that is fully deterministic – making them less vulnerable to attack. The work of these nodes is also verified and held accountable by the other node types. These node roles can therefore safely optimize for security and scalability, allowing the network to scale. Operating these nodes requires dedicated server hardware in a professionally managed data center.<br/></p><h3 class="primer-h3">Specialized Proofs of Confidential Knowledge (SPoCKs)</h3><p class="inside-page-content">Specialized Proofs of Confidential Knowledge (SPoCKs) are a new cryptographic technique developed by the Flow team and formally defined in our <a href="https://www.onflow.org/technical-paper" class="inside-page-text-link">Technical Papers</a>. SPoCKs allow any number of provers to demonstrate to a third-party observer that they each have access to the same <em>confidential knowledge</em>. These proofs are non-interactive and don't reveal the confidential knowledge. Each prover’s SPoCK is <em>specialized</em> to them, and can’t be copied or forged by any other prover. <br/></p></div><div id="developer-first"><h2 id="primer-developerexp" class="primer-h2">Developer-First Experience</h2><p class="inside-page-content">Our experience developing blockchain applications like CryptoKitties and the Dapper Smart Contract wallet has led us to incorporate a number of improvements to developer ergonomics directly into the protocol layer on Flow. Several are outlined below.</p><h3><strong class="primer-h3">Cadence</strong></h3><p class="inside-page-content"><a href="https://github.com/onflow/cadence" class="inside-page-text-link">Cadence</a> is the first ergonomic, resource-oriented smart contract programming language. <br/><br/>While existing programming environments can be used to keep track of asset ownership, they are typically used in scenarios where they are <em>reflecting</em> ownership rather than defining it directly. Public blockchains are unique in that they are explicitly designed to manage ownership of digital assets with scarcity and full access control. Digital assets on public blockchains behave like physical assets: they cannot be copied or counterfeited, only moved. <br/><br/>Last year, the Flow team was investigating the use of <a href="https://wiki.c2.com/?LinearTypes" class="inside-page-text-link">Linear Types</a> in the context of blockchains, following <a href="https://src.acm.org/binaries/content/assets/src/2018/michael-coblenz.pdf" class="inside-page-text-link">academic</a> <a href="http://www.cs.cmu.edu/~balzers/publications/digital_contracts_as_session_types.pdf" class="inside-page-text-link">research</a> into better smart contract languages. At just about the same time, the Libra team defined a new programming model for <a href="https://developers.libra.org/docs/assets/papers/libra-move-a-language-with-programmable-resources/2019-09-26.pdf" class="inside-page-text-link">Move</a> based around a new ownership model inspired by Linear Types: resources. Resources are a new way of representing asset ownership and the properties of crypto-enabled digital assets directly in the programming language. From the Move paper’s introduction:<span><br/><em class="italic-text">The key feature of Move is the ability to define custom resource types. Resource types are used to encode safe digital assets with rich programmability.</em></span><em><br/></em>We were so struck by the power of Resource-Oriented Programming that it’s one of the defining features of Cadence, a programming language designed specifically for the new paradigm of crypto-enabled applications. <br/><br/><a href="https://medium.com/dapperlabs/resource-oriented-programming-bee4d69c8f8e"><strong class="inside-page-text-link">Resource-oriented programming</strong></a> is a new paradigm, designed to be secure and easy-to-use. For the first time, developers can create uniquely durable digital artifacts where ownership is tracked by the language itself, enabling a powerful new category of applications.<br/><br/>As the first high-level resource-oriented programming language, Cadence has a comfortable, ergonomic syntax making it very easy to read. It uses a strong, static type system to minimize runtime errors, and allows all methods, interfaces, and transactions to include pre- and post-conditions to enforce expected behaviour. This has resulted in a language that is easier to learn, significantly easier to audit, and ultimately much more productive than any current alternatives. You can start learning Cadence on Flow Playground: <a href="https://play.onflow.org" class="inside-page-text-link">play.onflow.org</a><br/></p><h3 class="primer-h3">Open source tooling</h3><p class="inside-page-content">The Flow team has open sourced a series of tools to help developers get started:<br/><br/><a href="https://github.com/onflow/flow-go-sdk"><strong class="inside-page-text-link">Flow Go SDK</strong></a>: the Go SDK is a great tool for developers looking for backend integration with scalability in mind. Go is one of the most popular backend programming languages when performance is a top priority, and has been the go-to choice for Dapper Labs.<br/><br/><a href="https://github.com/onflow/flow-js-sdk"><strong class="inside-page-text-link">Flow JavaScript SDK</strong></a>: for frontend developers, our JavaScript SDK will allow you to easily integrate and interact with Flow. Develop without using ABIs, construct composable interactions and create dapps that delight your users. We think you’re going to love building with our JavaScript SDK.<br/><br/><a href="https://github.com/onflow/flow/blob/master/docs/vscode-extension.md"><strong class="inside-page-text-link">Visual Studio Code Extension</strong></a>: interact with Flow and use the Cadence language natively in Visual Studio Code. Statically check your Cadence code for errors and test your smart contracts without leaving the comfort of this industry-leading IDE.<br/><br/><a href="https://github.com/onflow/flow-playground"><strong class="inside-page-text-link">Flow Playground GUI</strong></a>: the hosted, in-browser development environment where users can learn and try out Cadence smart contract language without any setup needed. We make it easy for any new developer to get a taste of Cadence, the powerful new language for smart contract development.<br/><br/><strong>Standards Proposals: </strong><a href="https://github.com/onflow/flow-FT" class="inside-page-text-link">FTs (Fungible tokens)</a> and <a href="https://github.com/onflow/flow-NFT" class="inside-page-text-link">NFTs (Non-fungible tokens)</a> are the Flow equivalent of Ethereum’s ERC-20 and ERC-721 tokens, respectively.<br/></p><h3 class="primer-h3">Upgradable Smart Contracts</h3><p class="inside-page-content">One of the most important promises made by smart contract platforms is that users can trust the smart contract code instead of trusting the smart contract authors. This aspect of blockchains unlocks use cases that we are only beginning to explore, the most impactful of which might be the concept of <a href="https://jessewalden.com/4-eras-of-blockchain-computing-degrees-of-composability/" class="inside-page-text-link">open services and composability</a>.<br/><br/>In their first incarnation, smart contract platforms were designed such that contract code could never be changed once released. Immutability is the most straightforward method to demonstrate to potential users of publicly runnable blockchain code that it can be trusted; if the code can’t be changed, even by the original authors, you know definitively what the running the code will be doing when invoked.<br/><br/>Unfortunately, software is hard to get right the first time. There are no shortage of examples of smart contracts that – even with incredibly talented teams and motivated communities – had subtle problems that led to a massive loss of funds.<br/><br/>Many developers have expressed the desire to fix or improve a smart contract after it has been deployed, and developers have gone to a lot of time and trouble to build mechanisms to allow for upgrades or migrations, using proxy contracts and similar patterns. However, having each developer “roll their own” mechanism for upgradability adds complexity, and makes those smart contracts harder to trust.<br/><br/>On Flow contracts are mutable by default and therefore can be upgraded. This is not only convenient and a time saving for day-to-day development but also reduces the operational overheads of managing deployed code. Once developers are ready to lock the contract forever, immutability can be enforced by deleting the keys to the account containing the contract.<br/></p><h3 class="primer-h3">Fast, Deterministic Finality</h3><p class="inside-page-content">From the standpoint of end users, the speed of a blockchain is most practically measured by the time it takes before they (or their client software) can be confident their transaction is permanently included in the chain. This is commonly referred to as “finality”. In Bitcoin, most people define finality as six block confirmations which can take more than an hour. Ethereum improves on this by achieving <a href="https://blog.ethereum.org/2016/05/09/on-settlement-finality/" class="inside-page-text-link">probabilistic finality</a> after about 6 minutes. <br/><br/>On Flow, deterministic finality is achieved within seconds: once Consensus Nodes determine which block a transaction will be a part of, user agents can in most cases execute the transaction locally and give feedback to the user almost immediately. In cases where results may be influenced by other transactions in the network, users will either choose to trust an execution node, using modern APIs to get feedback within a couple of seconds, or wait until the results of the transaction are sealed into the blockchain along with all the relevant execution and verification receipts. This process of block sealing and formal observation takes around 10 blocks; about ten seconds at launch. <br/></p><h3 class="primer-h3">Built-in Logging Support</h3><p class="inside-page-content">Sometimes, the only way to be sure that a complicated piece of software is working as expected is to log its behaviour, in detail, over a long period of time. Existing smart contract platforms don’t include a logging facility for the simple fact that storing a complete log record of the entire blockchain is completely intractable. Too much data!<br/><br/>Flow recognizes that since all smart contract transactions are fully deterministic, there is no need to store the actual logs for every transaction inside the network. Instead, Flow simply marks which transactions would have produced log messages for which topics. If someone wants to “examine” the logs, they can query the blockchain for the subset of transactions tagged with a particular topic and then re-run the transactions locally to generate those logs for analysis. This technique also makes event logging dramatically more efficient.<br/></p></div><div><h2 id="consumer-friendly-onboarding" class="primer-h2">Consumer-Friendly Onboarding<br/></h2><p class="inside-page-content">In addition to mainstream-ready payment on-ramps (from other crypto tokens as well as fiat currencies), the Flow network makes it easy to build applications that people want to use:<br/></p><h3 class="primer-h3">Human Readable Security<br/></h3><p class="inside-page-content">On current networks, it’s nearly impossible for an app or wallet software to provide a human-readable message clearly outlining what permissions they’re giving when authorizing a transaction. The Flow transaction format makes very strong guarantees about what kinds of changes a transaction can and can not make. This makes it easy for the wallet to ensure users are making informed decisions about what they are approving. <br/><br/>It will be up to wallet software to display this information to the users, but by making the Flow transaction format easy to statically analyze, we create the possibility for a more transparent transaction approval process.<br/></p><h3 class="primer-h3">Smart User Accounts: no more seed words or lost keys<br/></h3><p class="inside-page-content">Flow is designed with flexibility in mind. Over the past year, Dapper Labs has pioneered a variety of usability enhancements to the Ethereum account model as part of the Dapper Smart Contract Wallet. Those enhancements are part of the native account model on Flow:<br/></p><ul role="list" class="list bullet"><li class="list-item-bullet">Optional, modular, smart contract functionality built into every Flow wallet</li><li class="list-item-bullet">This supports automated processes or more sophisticated authorization controls, in turn enabling good user experience. For example, dapps can easily make sure consumers never lose their assets – or access to their accounts – with secure account recovery flows</li><li class="list-item-bullet">Added security through optional multiple signature support, with the ability to cycle out old keys regularly to avoid security leaks</li></ul></div><div id="primer-community"><h2 class="primer-h2"><strong id="primer-community2">Community</strong><br/></h2><p class="inside-page-content">Flow is committed to a world of open ecosystems: a world where software developers, content creators, and consumers alike are appropriately incentivized and rewarded for the value they contribute to the network. <br/><br/>The technical architecture is just one example of how Flow will ensure inclusivity and participation at the protocol level: our community evangelism and efforts toward governance are equally if not more important. <br/></p><h3 class="primer-h3">Node Operator Fees and Rewards<br/></h3><p class="inside-page-content">On Flow, validator node operators supporting the network receive a portion of the transaction fees that pass through the system proportional with the work they do and their associated stake. Unlike miners or validators for other blockchains, validators on Flow can get started as Consensus or Verification Nodes with relatively cheap hardware, ensuring broad, equitable participation and decentralization. <br/><br/>In the early years of the network when fees are low, the network will provide additional rewards to node operators proportional with their efforts and associated stake.<br/></p><h3 class="primer-h3">Developer Ecosystem<br/></h3><p class="inside-page-content">A healthy and vibrant ecosystem is the most important long-term determinant of success for a blockchain. It is a fundamental requirement that Flow engages with a large and diverse set of stakeholders. Most importantly, this extends beyond the investor base and includes the developers and ecosystem partners that choose to build on top of the network. <br/><br/>In addition to a technical design optimized for developer experience and performance, the Flow team is taking additional steps to ensure a healthy ecosystem: <br/></p><ul role="list" class="list bullet"><li class="list-item-bullet"><p class="inside-page-content no-top-margin"><strong>Developer Alpha Program:</strong> over the coming months, the Flow team will begin demonstrating the capabilities of the network to interested blockchain developers for technical feedback. Whether you’re an independent hobbyist or a venture-backed powerhouse, the Flow team wants to hear from you.<strong><br/></strong></p></li><li class="list-item-bullet"><p class="inside-page-content no-top-margin"><strong>Ecosystem Development:</strong> a portion of Flow tokens will be set aside for ecosystem development to bootstrap adoption and reward early participants in the network. These participation rewards will be distributed via a number of different programs including competitions, hackathons, and contributions to open source development. In addition to accelerating adoption, setting aside a portion of tokens for long-term ecosystem development also ensures a path to diversifying and decentralizing network participation and governance, ensuring global access from a variety of participants.<strong><br/></strong></p></li></ul><h3 class="primer-h3">Content Partners<br/></h3><p class="inside-page-content">Blockchain lets brands and influencers connect directly with their fans in new ways. Digital scarcity and true ownership of assets create the space for gamified social experiences that go beyond individual apps, creating collector economies around every unique IP. Flow is working with independents that are breaking the mold as well as some of the world’s leading entertainment studios, IP holders, and publishers to ensure our platform serves their needs. <br/><br/>Flow will sponsor the creation of an entertainment industry council for C-level executives from global IP holders, game publishers, entertainment studios, and cultural influencers. The council will help identify risks and opportunities, remove friction-points for consumer adoption, and help catalyze a healthy global entertainment ecosystem.<br/></p><h3 class="primer-h3">Get started by joining the community<br/></h3><p class="inside-page-content">Together with our community Flow can power an open and trustworthy internet for billions of consumers. We’re looking for developers, companies, and ambassadors to bring this new digital world to life. These teams and individuals will work closely with our team and receive mentorship in order to establish sustainable products, services, businesses, and communities on Flow. If you’re interested in building the future on Flow, please <a href="https://buildwithflow.typeform.com/to/QFMOaM" class="inside-page-text-link">tell us more.</a><br/></p></div><div id="primer-what-next"><h2 class="primer-h2">What’s Next<br/></h2><ul role="list" class="w-list-unstyled"><li class="list-item-9"><a href="https://buildwithflow.typeform.com/to/QFMOaM"><strong class="inside-page-text-link inline-link">Tell us what you're building</strong></a></li><li><a href="https://www.onflow.org/technical-paper"><strong class="inside-page-text-link inline-link">Flow Technical Papers</strong></a></li><li><a href="https://twitter.com/flow_blockchain"><strong class="inside-page-text-link inline-link">Follow Flow on Twitter</strong></a></li><li><a href="http://chat.onflow.org"><strong class="inside-page-text-link">Join our Discord</strong></a></li></ul></div></div></div></div></div></div><section class="section__subscribe"><div class="padding-global"><div class="container-xlarge"><div class="padding-section-large"><div class="w-layout-grid subscribe_wrapper"><div id="w-node-_97eba86a-2618-b861-d064-f118f51b6193-f51b618e" class="image__wrapper is--subscribe"><div class="subscribe-icon w-embed"><svg width="146" height="146" viewBox="0 0 146 146" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="73" cy="73" r="72" fill="white"/> <path d="M105.26 61.0537H84.7578V81.5558H105.26V61.0537Z" fill="#262626"/> <path d="M64.2693 89.2369C64.2693 90.7589 63.818 92.2468 62.9724 93.5123C62.1268 94.7778 60.9249 95.7642 59.5187 96.3466C58.1125 96.9291 56.5652 97.0815 55.0724 96.7846C53.5796 96.4876 52.2084 95.7547 51.1322 94.6785C50.0559 93.6022 49.323 92.231 49.0261 90.7382C48.7291 89.2454 48.8815 87.6981 49.464 86.2919C50.0464 84.8857 51.0328 83.6839 52.2983 82.8383C53.5639 81.9927 55.0517 81.5413 56.5737 81.5413H64.2693V61.0537H56.5737C50.9996 61.0537 45.5507 62.7066 40.916 65.8034C36.2813 68.9002 32.669 73.3018 30.5359 78.4516C28.4028 83.6014 27.8447 89.2681 28.9321 94.7351C30.0196 100.202 32.7038 105.224 36.6452 109.165C40.5867 113.107 45.6085 115.791 51.0755 116.879C56.5425 117.966 62.2092 117.408 67.359 115.275C72.5088 113.142 76.9104 109.529 80.0072 104.895C83.104 100.26 84.7569 94.811 84.7569 89.2369V81.5413H64.2693V89.2369Z" fill="#262626"/> <path d="M92.4487 50.8039H115.506V30.3018H92.4487C84.9764 30.3094 77.8124 33.2812 72.5287 38.5649C67.245 43.8486 64.2732 51.0126 64.2656 58.4849V61.0549H84.7532V58.4849C84.757 56.4465 85.5695 54.4928 87.0123 53.0527C88.455 51.6127 90.4102 50.8039 92.4487 50.8039Z" fill="#262626"/> </svg></div></div><div id="w-node-_8a6a8b10-414d-ba02-ea8d-060678ae4f14-f51b618e" class="subscribe_right"><div class="heading-subheading__wrapper"><div class="heading__wrapper is--subscribe"><h3 class="heading-medium">Stay up to date with the latest news on Flow.</h3></div><div id="w-node-e32e5607-42c9-ab12-5e56-a46a8ff036c8-f51b618e" class="subheading__wrapper"><p class="text-size-regular">Stay up to date with the latest news on Flow.</p></div></div><div class="subscribe__form"><div class="up-to-date-form-wrapper w-form"><form id="subscriptionForm" name="email-form" data-name="Email Form" method="get" class="up-to-date-form" data-wf-page-id="62f0de3f46e67e957bb94dab" data-wf-element-id="e32e5607-42c9-ab12-5e56-a46a8ff036cc"><input class="text-field-60px w-input" maxlength="256" name="Email" data-name="Email" placeholder="Enter your email address" type="email" id="email" required=""/><input type="submit" data-wait="Please wait..." class="primary-button submit w-button" value="Submit"/></form><div class="success-message w-form-done"><div>Thank you! You're all set.</div></div><div class="error-message w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div></div></div></div></section><footer class="section-footer"><div class="padding-global"><div class="container-xlarge"><div class="padding-section-medium"><div class="w-layout-grid _3-footer-grid"><div><a id="w-node-_8fa4cb87-376c-0341-bcd5-dedb0834e718-0834e712" href="https://flow.com/" class="footer-logo-link w-inline-block"><img src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/63ce603ae36f46f6bb67e51e_flow-logo.svg" loading="lazy" alt="flow logo" class="footer-logo-img"/></a><div class="footer-social-icons"><a aria-label="Visit our Twitter profile" href="https://twitter.com/flow_blockchain" target="_blank" class="footer-social-icon w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/64f4740e89a029c41f7821cf_X%20-%20Negative.svg" alt="Twitter logo"/></a><a aria-label="Visit our Instagram profile" href="https://www.instagram.com/flowblockchain" target="_blank" class="footer-social-icon w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/63cec770799e2958d15306a0_Instagram%20-%20Negative.svg" alt="Instagram Logo"/></a><a aria-label="Visit our Youtube profile" href="https://www.youtube.com/@FlowBlockchain" target="_blank" class="footer-social-icon w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/63cec77005a49eaba248e147_YouTube%20-%20Negative.svg" alt="Youtube Logo"/></a><a aria-label="Visit our Telegram profile" href="https://t.me/flow_blockchain" target="_blank" class="footer-social-icon w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/63cec770b75d5482a08014db_Telegram%20-%20Negative.svg" alt="Telegram Logo"/></a><a aria-label="Visit our Discord profile" href="https://discord.com/invite/J6fFnh2xx6" target="_blank" class="footer-social-icon last w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/63d0398494fe5d96e72f4cc0_Social%20Icon.svg" alt="Discord logo"/></a></div></div><div id="w-node-_8fa4cb87-376c-0341-bcd5-dedb0834e725-0834e712" class="footer-nav__column"><div class="footer-column-header">Start Building</div><div class="footer-nav__list"><a href="https://developers.flow.com/" target="_blank" class="new-footer-link">Developer portal</a><a href="https://github.com/onflow" target="_blank" class="new-footer-link">GitHub</a></div></div><div id="w-node-_8fa4cb87-376c-0341-bcd5-dedb0834e72c-0834e712" class="footer-nav__column"><div class="footer-column-header">Flow</div><div class="footer-nav__list"><a href="https://docs.google.com/forms/d/e/1FAIpQLSer5ZX0pRWsXF0U0bsgW4Zo8Pmlw0V927ZydDq_ej-qyIJ9_A/viewform" target="_blank" class="new-footer-link">Business Development</a><a href="/node-operation" class="new-footer-link">Node Operation</a><a href="/token-distribution" class="new-footer-link">Coin Distribution</a><a href="https://flow.com/flow-tokenomics/technical-overview" class="new-footer-link">Flow Tokenomics</a><a href="/mediakit" class="new-footer-link">Flow.com Logo & Mediakit</a><a href="/careers" class="new-footer-link">Careers</a><a href="/faq" class="new-footer-link">FAQ</a></div></div><div id="w-node-_8fa4cb87-376c-0341-bcd5-dedb0834e73b-0834e712" class="footer-nav__column"><div class="footer-column-header">Get Connected</div><div class="footer-nav__list"><a href="/blog" class="new-footer-link">Blog</a><a href="https://port.onflow.org/" target="_blank" class="new-footer-link">Flow Port</a><a href="https://www.flowverse.co/" target="_blank" class="new-footer-link">Flowverse</a></div></div></div><div class="spacer-medium"></div><div class="div-block-129"><div class="footer-copyright">© <span class="copyright-year">2025</span> All Rights Reserved</div></div></div></div></div></footer><div class="code-global-revamp w-embed"><style> html { /* Adjust font size */ font-size: 100%; -webkit-text-size-adjust: 100%; /* Font varient */ font-variant-ligatures: none; -webkit-font-variant-ligatures: none; /* Smoothing */ text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, .01) 0 0 1px; } /* Fixes to typography conflicts */ /* Override old theme default styles */ p {line-height: 1.4 !important; margin-bottom:0;} a {color:inherit;} .body-epilogue h1,.body-epilogue h2,.body-epilogue h3,.body-epilogue h4,.body-epilogue h5,.body-epilogue h6 {font-family: Epilogue,sans-serif; margin: 0; } .text-weight-bold {font-weight: 700 !important;} .text-weight-medium {font-weight: 500 !important;} .text-weight-regular {font-weight: 400 !important;} /* Get rid of bottom margin on last element in any rich text element */ .w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { margin-bottom: 0; } /* Make sure Client-first spacing system works */ .padding-top{ padding-bottom: 0!important; padding-left: 0!important; padding-right: 0!important; } .padding-bottom{ padding-top: 0!important; padding-left: 0!important; padding-right: 0!important; } .padding-left{ padding-top: 0!important; padding-bottom: 0!important; padding-right: 0!important; } .padding-rigt{ padding-top: 0!important; padding-left: 0!important; padding-bottom: 0!important; } .padding-top{ padding-bottom: 0!important; padding-left: 0!important; padding-right: 0!important; } .padding-vertical{ padding-left: 0!important; padding-right: 0!important; } /* Max Font Size */ @media screen and (min-width:1440px) { body {font-size: 16px;} } /* Snippet prevents all click and hover interaction with an element */ .clickable-off { pointer-events: none; } /* Snippet enables all click and hover interaction with an element */ .clickable-on{ pointer-events: auto; } /* 2024 THEME - BEGIN */ /* Nav open animate icon */ .new-nav-link.w--open .nav-link-dropdown-icon::before {transform: rotate(180deg);} .new-nav-link .nav-link-dropdown-icon::before {transition: transform 0.3s ease-out;display:block;} /* Styles footer */ .footer-nav__list, .footer-social-icons { transition: opacity 0.3s ease-out; } /* Circle animation links footer */ .new-footer-link { position:relative; transition: padding-left 0.3s ease-out; } .new-footer-link::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 0; height: 0; background-color: var(--green--500-flow-green); border-radius: 50%; transition: width 0.3s ease-out, height 0.3s ease-out; } .new-footer-link:hover { padding-left: 1rem; } .new-footer-link:hover::before { width: 9px; height: 9px; } .footer-social-icons:hover .footer-social-icon:not( :hover) { opacity: 0.5; } .social-icons1_list:hover .social-icons1_link:not( :hover ) {opacity:0.5;} /* Components */ /* Visual Banner */ .visual-banner:hover .visual-banner__image {transform: scale(1.05);} /* 2024 THEME - END */ </style></div></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=5f734f4dbd95382f4fdfa0ea" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/js/webflow.schunk.4a394eb5af8156f2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/js/webflow.schunk.bb4e00c9f8629818.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/js/webflow.410bbecf.49e5ec1111a3f0b6.js" type="text/javascript"></script><!--Customer.io Subscription Form integration--> <script type="text/javascript"> (function() { var t = document.createElement('script'), s = document.getElementsByTagName('script')[0]; t.async = true; t.id = 'cio-forms-handler'; t.setAttribute('data-site-id', '64a3b711ab0fcfa29948'); t.setAttribute('data-base-url', 'https://customerioforms.com'); t.src = 'https://customerioforms.com/assets/forms.js'; s.parentNode.insertBefore(t, s); })(); </script> <!--Notification Bar cookie settings --> <script src="https://cdn.jsdelivr.net/npm/js-cookie/dist/js.cookie.min.js"></script> <script> $(document).ready(function() { // Check if the cookie exists if (typeof Cookies.get("notification") !== 'undefined') { $('.top-bar_component').remove(); } // Bind click event to close button $(document).on('click', '.banner10_close-button', function() { Cookies.set('notification', 'notification closed', { expires: 7, secure: true }); }); }); </script> <script> Webflow.push(function() { $('.copyright-year').text(new Date().getFullYear()); }); </script></body></html>