<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Documentation | Electric</title>
    <meta name="description" content="How to build fast, modern, collaborative apps with the Electric stack.">
    <meta name="generator" content="VitePress v1.5.0">
    <link rel="preload stylesheet" href="/assets/style.CWiMR_0_.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.q75cvEUh.js"></script>
    <link rel="modulepreload" href="/assets/src_partials_home-features-after.md.CmU9HVTe.js">
    <link rel="modulepreload" href="/assets/chunks/framework.BA3cFARW.js">
    <link rel="modulepreload" href="/assets/chunks/durable-streams.8UdNuyjH.js">
    <link rel="modulepreload" href="/assets/chunks/tanstack.68M86Wih.js">
    <link rel="modulepreload" href="/assets/chunks/demos.data.a-_Yte91.js">
    <link rel="modulepreload" href="/assets/docs_intro.md.B64qt4Jk.lean.js">
    <link rel="icon" type="image/png" href="/img/brand/favicon.png">
    <link rel="icon" type="image/svg+xml" href="/img/brand/favicon.svg">
    <link rel="prerender" href="https://airtable.com/embed/appDitPIpjlAxK7CL/pagrWjq3qw5Fp68Wa/form">
    <script defer data-domain="electric-sql.com" src="https://plausible.io/js/script.js"></script>
    <script id="check-dark-mode">document.documentElement.classList.add("dark");</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:site" content="@ElectricSQL">
    <meta name="twitter:title" content="Documentation | ElectricSQL">
    <meta name="twitter:description" content="How to build fast, modern, collaborative apps with the Electric stack.">
    <meta name="twitter:image" content="https://electric-sql.com/.netlify/images?url=https%3A%2F%2Felectric-sql.com%2Fimg%2Fmeta%2Felectric-sync-primitives.jpg&amp;w=1200&amp;h=630&amp;fit=cover&amp;fm=jpg&amp;q=80">
    <meta property="og:title" content="Documentation | ElectricSQL">
    <meta property="og:description" content="How to build fast, modern, collaborative apps with the Electric stack.">
    <meta property="og:image" content="https://electric-sql.com/.netlify/images?url=https%3A%2F%2Felectric-sql.com%2Fimg%2Fmeta%2Felectric-sync-primitives.jpg&amp;w=1200&amp;h=630&amp;fit=cover&amp;fm=jpg&amp;q=80">
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-a29e6ba2><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c3906ed2></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-c3906ed2> Skip to content </a><!--]--><!----><header class="VPNav" data-v-a29e6ba2 data-v-388babf5><div class="VPNavBar" data-v-388babf5 data-v-5d557444><div class="wrapper" data-v-5d557444><div class="container" data-v-5d557444><div class="title" data-v-5d557444><div class="VPNavBarTitle has-sidebar" data-v-5d557444 data-v-ac766fc0><a class="title" href="/" data-v-ac766fc0><!--[--><!--]--><!--[--><img class="VPImage logo" src="/img/brand/logo.svg" alt data-v-2d46c176><!--]--><!----><!--[--><!--]--></a></div></div><div class="content" data-v-5d557444><div class="content-body" data-v-5d557444><!--[--><!--]--><div class="VPNavBarSearch search" data-v-5d557444><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-5d557444 data-v-e138a194><span id="main-nav-aria-label" class="visually-hidden" data-v-e138a194> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sync" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Sync</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/primitives" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Primitives</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/cloud" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Cloud</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/pricing" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Pricing</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/docs/intro" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Docs</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/demos" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Demos</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blog" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>Blog</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/about/community" tabindex="0" data-v-e138a194 data-v-4ebd574a><!--[--><span data-v-4ebd574a>About</span><!--]--></a><!--]--><!--[--><div class="nav-item VPNavBarMenuLink VPNavBarCTA" data-v-e138a194 data-v-f78c127b><div class="cta-lg" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div><div class="cta-md" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Cloud</a></div><div class="cta-sm" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div></div><!--]--><!--]--></nav><!----><!----><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-5d557444 data-v-c62242fd data-v-e5810ca3><!--[--><a class="VPSocialLink no-icon" href="https://durablestreams.com" aria-label="durable-streams" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-durable-streams"></span></a><a class="VPSocialLink no-icon" href="https://tanstack.com/db" aria-label="tanstack" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-tanstack"></span></a><a class="VPSocialLink no-icon" href="https://pglite.dev" aria-label="pglite" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-pglite"></span></a><a class="VPSocialLink no-icon" href="https://x.com/ElectricSQL" aria-label="x" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://discord.electric-sql.com" aria-label="discord" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/electric-sql/electric" aria-label="github" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-5d557444 data-v-73029a02 data-v-8015fcbb><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-8015fcbb><span class="vpi-more-horizontal icon" data-v-8015fcbb></span></button><div class="menu" data-v-8015fcbb><div class="VPMenu" data-v-8015fcbb data-v-cbddf0cc><!----><!--[--><!--[--><!----><!----><div class="group" data-v-73029a02><div class="item social-links" data-v-73029a02><div class="VPSocialLinks social-links-list" data-v-73029a02 data-v-e5810ca3><!--[--><a class="VPSocialLink no-icon" href="https://durablestreams.com" aria-label="durable-streams" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-durable-streams"></span></a><a class="VPSocialLink no-icon" href="https://tanstack.com/db" aria-label="tanstack" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-tanstack"></span></a><a class="VPSocialLink no-icon" href="https://pglite.dev" aria-label="pglite" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-pglite"></span></a><a class="VPSocialLink no-icon" href="https://x.com/ElectricSQL" aria-label="x" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://discord.electric-sql.com" aria-label="discord" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/electric-sql/electric" aria-label="github" target="_blank" rel="noopener" data-v-e5810ca3 data-v-f0af069a><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--[--><!--[--><div class="nav-item VPNavBarMenuLink VPNavBarCTA" data-v-f78c127b><div class="cta-lg" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div><div class="cta-md" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Cloud</a></div><div class="cta-sm" data-v-f78c127b><a class="VPButton medium brand" href="https://dashboard.electric-sql.cloud/" target="_blank" rel="noreferrer" data-v-f78c127b data-v-c160c05e>Go to Cloud</a></div></div><!--]--><!--]--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-5d557444 data-v-998521f3><span class="container" data-v-998521f3><span class="top" data-v-998521f3></span><span class="middle" data-v-998521f3></span><span class="bottom" data-v-998521f3></span></span></button></div></div></div></div><div class="divider" data-v-5d557444><div class="divider-line" data-v-5d557444></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-a29e6ba2 data-v-c84339ae><div class="container" data-v-c84339ae><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-c84339ae><span class="vpi-align-left menu-icon" data-v-c84339ae></span><span class="menu-text" data-v-c84339ae>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-c84339ae data-v-91cce16e><button data-v-91cce16e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-a29e6ba2 data-v-0a014151><div class="curtain" data-v-0a014151></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-0a014151><span class="visually-hidden" id="sidebar-aria-label" data-v-0a014151> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible has-active" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>Docs</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/intro" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Intro</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/quickstart" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Quickstart</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/stacks" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Stacks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/agents" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>AGENTS.md</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>Guides</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/auth" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Auth</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/shapes" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Shapes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/writes" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Writes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/installation" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Installation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/postgres-permissions" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>PostgreSQL Permissions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/deployment" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/upgrading" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Upgrading</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/sharding" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Sharding</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/security" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Security</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/troubleshooting" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Troubleshooting</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/guides/client-development" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Client development</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>API</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/api/http" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>HTTP</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible" data-v-f65b8172 data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h3 class="text" data-v-f65b8172>Clients</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/api/clients/typescript" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>TypeScript</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/api/clients/elixir" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Elixir</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/api/config" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Config</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>Integrations</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><section class="VPSidebarItem level-1" data-v-f65b8172 data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h3 class="text" data-v-f65b8172>Frameworks</h3><!----></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/livestore" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>LiveStore</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/mobx" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>MobX</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/next" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Next.js</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/phoenix" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Phoenix</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/react" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>React</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/redis" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Redis</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/tanstack" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>TanStack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/yjs" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Yjs</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1" data-v-f65b8172 data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h3 class="text" data-v-f65b8172>Platforms</h3><!----></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/aws" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>AWS</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/cloudflare" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Cloudflare</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/crunchy" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Crunchy</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/digital-ocean" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Digital Ocean</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/expo" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Expo</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/fly" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Fly.io</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/gcp" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>GCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/neon" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Neon</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/netlify" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Netlify</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/planetscale" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>PlanetScale</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/render" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Render</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/integrations/supabase" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Supabase</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-665c6ffe><section class="VPSidebarItem level-0 collapsible" data-v-665c6ffe data-v-f65b8172><div class="item" role="button" tabindex="0" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><h2 class="text" data-v-f65b8172>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-f65b8172><span class="vpi-chevron-right caret-icon" data-v-f65b8172></span></div></div><div class="items" data-v-f65b8172><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/reference/alternatives" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Alternatives</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/reference/benchmarks" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Benchmarks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/reference/literature" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Literature</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f65b8172 data-v-f65b8172><div class="item" data-v-f65b8172><div class="indicator" data-v-f65b8172></div><a class="VPLink link link" href="/docs/reference/telemetry" data-v-f65b8172><!--[--><p class="text" data-v-f65b8172>Telemetry</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-a29e6ba2 data-v-93396c71><div class="VPDoc has-sidebar has-aside" data-v-93396c71 data-v-e5fa90be><!--[--><!--[--><!--[--><div class="markdown-link-local-nav-container"><a class="markdown-link-local-nav" href="/docs/intro.md" target="_blank" rel="noopener" data-v-c9b8e4a6><span class="title" data-v-c9b8e4a6>✨ Markdown</span></a></div><div class="custom-local-nav-dropdown"><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-bf359f67><button data-v-bf359f67>Return to top</button><!----></div></div><!--]--><!--]--><!--]--><div class="container" data-v-e5fa90be><div class="aside" data-v-e5fa90be><div class="aside-curtain" data-v-e5fa90be></div><div class="aside-container" data-v-e5fa90be><div class="aside-content" data-v-e5fa90be><div class="VPDocAside" data-v-e5fa90be data-v-3e59a195><!--[--><!--]--><!--[--><!--[--><!--[--><!--[--><a class="markdown-link-aside pager-link" href="/docs/intro.md" target="_blank" rel="noopener" data-v-c9b8e4a6><span class="title" data-v-c9b8e4a6>✨ Markdown</span></a><!--]--><!--]--><!--]--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3e59a195 data-v-2fe00466><div class="content" data-v-2fe00466><div class="outline-marker" data-v-2fe00466></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-2fe00466>On this page</div><ul class="VPDocOutlineItem root" data-v-2fe00466 data-v-1c0671af><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3e59a195></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e5fa90be><div class="content-container" data-v-e5fa90be><!--[--><!--]--><main class="main" data-v-e5fa90be><div style="position:relative;" class="vp-doc _docs_intro" data-v-e5fa90be><div><div style="display:none;" hidden="true" aria-hidden="true">Are you an LLM? You can read better optimized documentation at /docs/intro.md for this page in Markdown format</div><p><img src="/img/icons/docs.svg" class="product-icon" style="width:72px;"></p><h1 id="documentation" tabindex="-1">Documentation <a class="header-anchor" href="#documentation" aria-label="Permalink to &quot;Documentation&quot;">​</a></h1><p>How to build <a href="/blog/2025/07/29/super-fast-apps-on-sync-with-tanstack-db">fast, modern apps</a> and <a href="/blog/2026/01/12/durable-sessions-for-collaborative-ai"><span class="no-wrap">multi-agent systems</span></a> with Electric.</p><h2 id="getting-started" tabindex="-1">Getting started <a class="header-anchor" href="#getting-started" aria-label="Permalink to &quot;Getting started&quot;">​</a></h2><p>Start with the <a href="/docs/quickstart">Quickstart</a> for the fastest way to get up-and-running.</p><p>The easiest way to use Electric in production is the <a href="/cloud">Electric Cloud</a>. Alternatively, the <a href="/docs/guides/deployment">Deployment</a> guide covers how to self host.</p><h2 id="what-s-documented-where" tabindex="-1">What&#39;s documented where? <a class="header-anchor" href="#what-s-documented-where" aria-label="Permalink to &quot;What&#39;s documented where?&quot;">​</a></h2><div class="warning custom-block github-alert"><p class="custom-block-title">🔭  Product documentation is split across multiple sites</p><p>It&#39;s worth taking a moment to understand what&#39;s documented where.</p></div><p>This website contains the main documentation for <a href="/primitives/postgres-sync">Postgres Sync</a>.</p><p>Usage examples and recipes often use Postgres Sync together with <a href="/primitives/tanstack-db">TanStack DB</a>. Guides like <a href="/docs/guides/auth">Auth</a> and <a href="/docs/guides/security">Security</a> are also generally relevant for <a href="/primitives/durable-streams">Durable Streams</a>.</p><h3 id="project-websites" tabindex="-1">Project websites <a class="header-anchor" href="#project-websites" aria-label="Permalink to &quot;Project websites&quot;">​</a></h3><p><a href="/primitives/durable-streams">Durable Streams</a>, <a href="/primitives/tanstack-db">TanStack DB</a> and <a href="/primitives/pglite">PGlite</a> each have their own docs:</p><div class="product-signposts"><a href="https://durablestreams.com" class="product-signpost no-visual"><img src="/img/icons/durable-streams.svg" alt="Durable Streams"><div><h3>Durable Streams</h3><p>durablestreams.com</p></div></a><a href="https://tanstack.com/db" class="product-signpost no-visual"><img src="/img/icons/tanstack.svg" alt="TanStack DB"><div><h3>TanStack DB</h3><p>tanstack.com/db</p></div></a><a href="https://pglite.dev" class="product-signpost no-visual"><img src="/img/icons/pglite.product.svg" alt="PGlite" class="pglite"><div><h3>PGlite</h3><p>pglite.dev</p></div></a></div><h2 id="examples" tabindex="-1">Examples <a class="header-anchor" href="#examples" aria-label="Permalink to &quot;Examples&quot;">​</a></h2><p>See the <a href="/demos">Demos</a> section and <a href="https://github.com/electric-sql/electric/tree/main/examples" target="_blank" rel="noreferrer"><code>examples</code></a> folder on GitHub for demos and examples, e.g.:</p><div class="demos-grid"><div class="demo-card" target="_blank"><a href="/demos/burn" class="no-visual"><img src="/img/demos/burn.jpg"></a><div class="demo-description"><a href="/demos/burn" class="no-visual"><h3>Burn</h3></a><p>Agentic system built on Postgres and a real-time sync stack.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://burn.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/electric-sql/electric/tree/main/examples/burn" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div><div class="demo-card" target="_blank"><a href="/demos/linearlite" class="no-visual"><img src="/img/demos/linearlite-demo.png"></a><div class="demo-description"><a href="/demos/linearlite" class="no-visual"><h3>Linearlite</h3></a><p>Local-first project management app built with Electric and PGlite.</p><ul class="actions demo-actions"><li class="feature-cta"><a class="VPButton medium brand" href="https://linearlite.examples.electric-sql.com" target="_blank" rel="noreferrer" data-v-c160c05e>Open demo</a></li><li class="feature-cta"><a class="VPButton medium alt" href="https://github.com/electric-sql/electric/tree/main/examples/linearlite" target="_blank" rel="noreferrer" data-v-c160c05e>Source code</a></li></ul></div></div></div><p>The integration docs also illustrate common patterns, e.g. using Electric with frameworks like <a href="/docs/integrations/tanstack">TanStack</a> and <a href="/docs/integrations/phoenix">Phoenix</a> and platforms like <a href="/docs/integrations/supabase">Supabase</a> and <a href="/docs/integrations/cloudflare">Cloudflare</a>.</p><h2 id="source-code" tabindex="-1">Source code <a class="header-anchor" href="#source-code" aria-label="Permalink to &quot;Source code&quot;">​</a></h2><p>Electric is an open source project developed at <a href="https://github.com/electric-sql" target="_blank" rel="noreferrer">github.com/electric-sql</a>. Check out the source code, issues and development in progress there.</p><h2 id="support" tabindex="-1">Support <a class="header-anchor" href="#support" aria-label="Permalink to &quot;Support&quot;">​</a></h2><p>See the <a href="/about/community">Community page</a> for information on support and events, including our <a href="https://discord.electric-sql.com" target="_blank" rel="noreferrer">community Discord</a> where you can ask questions and get support.</p></div></div></main><footer class="VPDocFooter" data-v-e5fa90be data-v-429f87a2><!--[--><!--[--><!--[--><!--[--><div class="markdown-link-footer-container"><a class="markdown-link-footer" href="/docs/intro.md" target="_blank" rel="noopener" data-v-c9b8e4a6><span class="title" data-v-c9b8e4a6>✨ Markdown</span></a></div><!--]--><!--]--><!--]--><!--]--><div class="edit-info" data-v-429f87a2><div class="edit-link" data-v-429f87a2><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/electric-sql/electric/edit/main/website/docs/intro.md" target="_blank" rel="noreferrer" data-v-429f87a2><!--[--><span class="vpi-square-pen edit-link-icon" data-v-429f87a2></span> Edit this page<!--]--></a></div><!----></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-429f87a2><span class="visually-hidden" id="doc-footer-aria-label" data-v-429f87a2>Pager</span><div class="pager" data-v-429f87a2><!----></div><div class="pager" data-v-429f87a2><a class="VPLink link pager-link next" href="/docs/quickstart" data-v-429f87a2><!--[--><span class="desc" data-v-429f87a2>Next page</span><span class="title" data-v-429f87a2>Quickstart</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"about_community.md\":\"DkXcHrz3\",\"about_contact.md\":\"D1Z0T3B4\",\"about_jobs_founders-associate.md\":\"CEhYG25F\",\"about_jobs_index.md\":\"CnSPlYLa\",\"about_jobs_pglite-engineer.md\":\"DHUex5Pp\",\"about_legal_dpa.md\":\"ZcGbK2iE\",\"about_legal_privacy.md\":\"EzicKNcp\",\"about_legal_subprocessors.md\":\"B1xvDMoL\",\"about_legal_terms.md\":\"CsMQCtRM\",\"about_team.md\":\"CqhEJRcL\",\"blog.md\":\"-9jh_1qz\",\"blog_2022_05_03_introducing-rich-crdts.md\":\"7NjRLaC6\",\"blog_2022_05_20_relativity-causal-consistency.md\":\"HqljpcFj\",\"blog_2022_12_16_evolution-state-transfer.md\":\"DYNCzQGf\",\"blog_2023_02_02_introducing-jose-kevin-garry.md\":\"BJc9XAJp\",\"blog_2023_02_09_developing-local-first-software.md\":\"B2EAZWVv\",\"blog_2023_05_10_welcome-andrei-oleksii.md\":\"72yrJrJL\",\"blog_2023_09_20_introducing-electricsql-v0.6.md\":\"BRa_ekbr\",\"blog_2023_10_10_welcome-sam.md\":\"DNoahiUK\",\"blog_2023_10_12_linerlite-local-first-with-react.md\":\"Bsmm1dyu\",\"blog_2023_10_26_local-first-software-london-meet-up.md\":\"BCAkrvmj\",\"blog_2023_11_02_electricsql-v0.7-released.md\":\"C_bmtElf\",\"blog_2023_11_02_using-electricsql-with-the-ionic-framework-and-capacitor.md\":\"BTcWisiY\",\"blog_2023_12_13_electricsql-v0.8-released.md\":\"CC61tMfx\",\"blog_2023_12_15_secure-transactions-with-local-first.md\":\"DFozV7SH\",\"blog_2024_01_24_electricsql-v0.9-released.md\":\"CxEw33iE\",\"blog_2024_02_05_local-first-ai-with-tauri-postgres-pgvector-llama.md\":\"A9HECT9g\",\"blog_2024_02_27_intel-ignite.md\":\"fUPMA9v3\",\"blog_2024_04_10_electricsql-v0.10-released.md\":\"DnJQ3LK8\",\"blog_2024_05_14_electricsql-postgres-client-support.md\":\"CqOaPJqA\",\"blog_2024_07_17_electric-next.md\":\"CCxoD_y1\",\"blog_2024_11_21_local-first-with-your-existing-api.md\":\"TkYlxX8-\",\"blog_2024_12_10_electric-beta-release.md\":\"DRpH32aE\",\"blog_2025_03_17_electricsql-1.0-released.md\":\"DPPlz3rb\",\"blog_2025_04_07_electric-cloud-public-beta-release.md\":\"55BuppYh\",\"blog_2025_04_09_building-ai-apps-on-sync.md\":\"DbONQNuW\",\"blog_2025_04_22_untangling-llm-spaghetti.md\":\"ncZ5GvUM\",\"blog_2025_06_05_database-in-the-sandbox.md\":\"ErpbVK-2\",\"blog_2025_07_29_super-fast-apps-on-sync-with-tanstack-db.md\":\"CvDN18st\",\"blog_2025_08_04_reliability-sprint.md\":\"f0h8-Llq\",\"blog_2025_08_12_bringing-agents-back-down-to-earth.md\":\"DtR1WDpU\",\"blog_2025_08_13_electricsql-v1.1-released.md\":\"CFAxKqRL\",\"blog_2025_12_09_announcing-durable-streams.md\":\"CdiO0bqx\",\"blog_2025_12_23_durable-streams-0.1.0.md\":\"Lf6RhY4K\",\"blog_2026_01_12_durable-sessions-for-collaborative-ai.md\":\"CVI5ofID\",\"blog_2026_01_20_from-science-fiction-to-reality-you-can-build-difficult-things-now.md\":\"CuZP5nOh\",\"blog_2026_01_22_announcing-hosted-durable-streams.md\":\"yo7BrT7k\",\"blog_2026_02_02_configurancy.md\":\"DpUs9sfc\",\"blog_2026_02_19_amdahls-law-for-ai-agents.md\":\"CMb1pN2w\",\"blog_2026_03_06_agent-skills-now-shipping.md\":\"Dpbg7Yx8\",\"blog_2026_03_24_durable-transport-ai-sdks.md\":\"Cl_nLur1\",\"blog_2026_03_25_announcing-pglite-v04.md\":\"DsBWo6nK\",\"blog_2026_03_25_tanstack-db-0.6-app-ready-with-persistence-and-includes.md\":\"i_EWRgfz\",\"blog_2026_03_26_stream-db.md\":\"BXs_bVv8\",\"blog_2026_04_02_electric-cloud-pricing.md\":\"CpMRjPVR\",\"blog_2026_04_07_yjs-durable-streams-on-electric-cloud.md\":\"Df6hZ1Gg\",\"blog_2026_04_08_ai-agents-as-crdt-peers-with-yjs.md\":\"CDajS4uv\",\"blog_2026_04_08_data-primitive-agent-loop.md\":\"DvGBDKwC\",\"changelog.md\":\"DZFYESSE\",\"cloud_cli.md\":\"CUvgvwLO\",\"cloud_index.md\":\"0orBKMd7\",\"cloud_protocols.md\":\"HAMlVtIi\",\"cloud_usage.md\":\"Djpz8pAq\",\"demos.md\":\"hBaGW3dN\",\"demos_ai-chat.md\":\"BDtx6VWl\",\"demos_bash.md\":\"BxJoJVkK\",\"demos_burn.md\":\"BUjTwa1i\",\"demos_encryption.md\":\"BZVqobb6\",\"demos_gatekeeper-auth.md\":\"BEroW-oR\",\"demos_linearlite.md\":\"CYzN7bhJ\",\"demos_nextjs.md\":\"eUPFPju_\",\"demos_notes.md\":\"C5qomg2f\",\"demos_phoenix-liveview.md\":\"BzVHttzK\",\"demos_pixel-art.md\":\"zzOqrZLf\",\"demos_proxy-auth.md\":\"C2Xp2oc-\",\"demos_react.md\":\"C2oTXSWa\",\"demos_redis.md\":\"D2opU_eh\",\"demos_remix.md\":\"Dq9g4fxL\",\"demos_tanstack.md\":\"DCaSGgvM\",\"demos_territory-wars.md\":\"CGb4ucYw\",\"demos_todo-app.md\":\"C77C9gxV\",\"demos_write-patterns.md\":\"DQu6XjyP\",\"demos_yjs.md\":\"BVPWaqCJ\",\"docs__tutorial.md\":\"Bt_HyPWt\",\"docs_agents.md\":\"C63HhO4J\",\"docs_api_clients_elixir.md\":\"DRAtKPp1\",\"docs_api_clients_typescript.md\":\"nPr519Co\",\"docs_api_config.md\":\"DM3OBJzK\",\"docs_api_http.md\":\"wkTa9jP7\",\"docs_guides_auth.md\":\"CVn776zf\",\"docs_guides_client-development.md\":\"-TNSorrO\",\"docs_guides_deployment.md\":\"DugB7AGM\",\"docs_guides_installation.md\":\"B73icwuO\",\"docs_guides_postgres-permissions.md\":\"DEXzxXTK\",\"docs_guides_security.md\":\"DH5Q0PCF\",\"docs_guides_shapes.md\":\"DzjuP2by\",\"docs_guides_sharding.md\":\"Ha02ADA2\",\"docs_guides_troubleshooting.md\":\"DIkzotyp\",\"docs_guides_upgrading.md\":\"YTaRTZQw\",\"docs_guides_writes.md\":\"BVIbCpC6\",\"docs_integrations_aws.md\":\"D6LyLp-H\",\"docs_integrations_cloudflare.md\":\"DdSv1LxJ\",\"docs_integrations_crunchy.md\":\"KrOdIsii\",\"docs_integrations_digital-ocean.md\":\"BcvfaTal\",\"docs_integrations_expo.md\":\"CWDj87iR\",\"docs_integrations_fly.md\":\"DJeuYF2U\",\"docs_integrations_gcp.md\":\"CVKnGCZM\",\"docs_integrations_livestore.md\":\"RZhq3Jcc\",\"docs_integrations_mobx.md\":\"L36r-jBK\",\"docs_integrations_neon.md\":\"6W7cZdo5\",\"docs_integrations_netlify.md\":\"Cp9iLNWS\",\"docs_integrations_next.md\":\"ufbxFbsg\",\"docs_integrations_phoenix.md\":\"CmfhCaXr\",\"docs_integrations_planetscale.md\":\"DUDVZa5s\",\"docs_integrations_react.md\":\"DpbsA6XE\",\"docs_integrations_redis.md\":\"BnVPrzHP\",\"docs_integrations_render.md\":\"lFPHnncC\",\"docs_integrations_supabase.md\":\"D4kjA_SY\",\"docs_integrations_tanstack.md\":\"DQgyWLd6\",\"docs_integrations_vercel.md\":\"DtNb724y\",\"docs_integrations_yjs.md\":\"DIGLZnnG\",\"docs_intro.md\":\"B64qt4Jk\",\"docs_llms__intro_redux.md\":\"DuvAB73I\",\"docs_llms__quickstart_redux.md\":\"DWFS2D1M\",\"docs_quickstart.md\":\"UxpUOe89\",\"docs_reference_alternatives.md\":\"GZRICB0Z\",\"docs_reference_benchmarks.md\":\"BRp14-m3\",\"docs_reference_literature.md\":\"BjFJBb1X\",\"docs_reference_telemetry.md\":\"D2_sGRy3\",\"docs_stacks.md\":\"DGoxKnMl\",\"index.md\":\"CIW_Ixr8\",\"old-index.md\":\"CPLcbKvB\",\"pricing.md\":\"oaLUg7jh\",\"primitives_durable-streams.md\":\"CaHulBVt\",\"primitives_index.md\":\"hA1Q7gtC\",\"primitives_pglite.md\":\"C0gVVbvK\",\"primitives_postgres-sync.md\":\"DoXtuGZv\",\"primitives_tanstack-db.md\":\"B3217Zzk\",\"src_partials_home-cta.md\":\"DNfGgBnS\",\"src_partials_home-features-after.md\":\"CmU9HVTe\",\"src_partials_home-features-before.md\":\"BgZZ6jyD\",\"src_partials_home-your-stack-simplified.md\":\"CaeEcvM3\",\"sync.md\":\"1GVOAlA0\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en\",\"dir\":\"ltr\",\"title\":\"Electric\",\"description\":\"Electric provides the data primitives and infra to build collaborative, multi-agent systems. Including Postgres Sync, Durable Streams, TanStack DB and PGlite.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"force-dark\",\"themeConfig\":{\"editLink\":{\"pattern\":\"https://github.com/electric-sql/electric/edit/main/website/:path\"},\"logo\":\"/img/brand/logo.svg\",\"nav\":[{\"text\":\"Sync\",\"link\":\"/sync\",\"activeMatch\":\"/sync\"},{\"text\":\"Primitives\",\"link\":\"/primitives\",\"activeMatch\":\"/primitives\"},{\"text\":\"Cloud\",\"link\":\"/cloud\",\"activeMatch\":\"/cloud\"},{\"text\":\"Pricing\",\"link\":\"/pricing\",\"activeMatch\":\"/pricing\"},{\"text\":\"Docs\",\"link\":\"/docs/intro\",\"activeMatch\":\"/docs/\"},{\"text\":\"Demos\",\"link\":\"/demos\",\"activeMatch\":\"/demos\"},{\"text\":\"Blog\",\"link\":\"/blog\",\"activeMatch\":\"/blog\"},{\"text\":\"About\",\"link\":\"/about/community\",\"activeMatch\":\"/about/\"},{\"component\":\"NavSignupButton\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":{\"/primitives\":[{\"text\":\"Primitives\",\"items\":[{\"text\":\"Overview\",\"link\":\"/primitives/\"},{\"text\":\"Postgres Sync\",\"link\":\"/primitives/postgres-sync\"},{\"text\":\"Durable Streams\",\"link\":\"/primitives/durable-streams\"},{\"text\":\"TanStack DB\",\"link\":\"/primitives/tanstack-db\"},{\"text\":\"PGlite\",\"link\":\"/primitives/pglite\"}]}],\"/cloud\":[{\"text\":\"Electric Cloud\",\"items\":[{\"text\":\"Overview\",\"link\":\"/cloud/\"},{\"text\":\"Usage\",\"link\":\"/cloud/usage\"},{\"text\":\"Protocols\",\"link\":\"/cloud/protocols\"},{\"text\":\"Pricing\",\"link\":\"/pricing\"},{\"text\":\"CLI\",\"link\":\"/cloud/cli\"}]}],\"/docs\":[{\"text\":\"Docs\",\"collapsed\":false,\"items\":[{\"text\":\"Intro\",\"link\":\"/docs/intro\"},{\"text\":\"Quickstart\",\"link\":\"/docs/quickstart\"},{\"text\":\"Stacks\",\"link\":\"/docs/stacks\"},{\"text\":\"AGENTS.md\",\"link\":\"/docs/agents\"}]},{\"text\":\"Guides\",\"collapsed\":false,\"items\":[{\"text\":\"Auth\",\"link\":\"/docs/guides/auth\"},{\"text\":\"Shapes\",\"link\":\"/docs/guides/shapes\"},{\"text\":\"Writes\",\"link\":\"/docs/guides/writes\"},{\"text\":\"Installation\",\"link\":\"/docs/guides/installation\"},{\"text\":\"PostgreSQL Permissions\",\"link\":\"/docs/guides/postgres-permissions\"},{\"text\":\"Deployment\",\"link\":\"/docs/guides/deployment\"},{\"text\":\"Upgrading\",\"link\":\"/docs/guides/upgrading\"},{\"text\":\"Sharding\",\"link\":\"/docs/guides/sharding\"},{\"text\":\"Security\",\"link\":\"/docs/guides/security\"},{\"text\":\"Troubleshooting\",\"link\":\"/docs/guides/troubleshooting\"},{\"text\":\"Client development\",\"link\":\"/docs/guides/client-development\"}]},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"HTTP\",\"link\":\"/docs/api/http\"},{\"text\":\"Clients\",\"items\":[{\"text\":\"TypeScript\",\"link\":\"/docs/api/clients/typescript\"},{\"text\":\"Elixir\",\"link\":\"/docs/api/clients/elixir\"}],\"collapsed\":false},{\"text\":\"Config\",\"link\":\"/docs/api/config\"}]},{\"text\":\"Integrations\",\"collapsed\":false,\"items\":[{\"text\":\"Frameworks\",\"items\":[{\"text\":\"LiveStore\",\"link\":\"/docs/integrations/livestore\"},{\"text\":\"MobX\",\"link\":\"/docs/integrations/mobx\"},{\"text\":\"Next.js\",\"link\":\"/docs/integrations/next\"},{\"text\":\"Phoenix\",\"link\":\"/docs/integrations/phoenix\"},{\"text\":\"React\",\"link\":\"/docs/integrations/react\"},{\"text\":\"Redis\",\"link\":\"/docs/integrations/redis\"},{\"text\":\"TanStack\",\"link\":\"/docs/integrations/tanstack\"},{\"text\":\"Yjs\",\"link\":\"/docs/integrations/yjs\"}]},{\"text\":\"Platforms\",\"items\":[{\"text\":\"AWS\",\"link\":\"/docs/integrations/aws\"},{\"text\":\"Cloudflare\",\"link\":\"/docs/integrations/cloudflare\"},{\"text\":\"Crunchy\",\"link\":\"/docs/integrations/crunchy\"},{\"text\":\"Digital Ocean\",\"link\":\"/docs/integrations/digital-ocean\"},{\"text\":\"Expo\",\"link\":\"/docs/integrations/expo\"},{\"text\":\"Fly.io\",\"link\":\"/docs/integrations/fly\"},{\"text\":\"GCP\",\"link\":\"/docs/integrations/gcp\"},{\"text\":\"Neon\",\"link\":\"/docs/integrations/neon\"},{\"text\":\"Netlify\",\"link\":\"/docs/integrations/netlify\"},{\"text\":\"PlanetScale\",\"link\":\"/docs/integrations/planetscale\"},{\"text\":\"Render\",\"link\":\"/docs/integrations/render\"},{\"text\":\"Supabase\",\"link\":\"/docs/integrations/supabase\"}]}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Alternatives\",\"link\":\"/docs/reference/alternatives\"},{\"text\":\"Benchmarks\",\"link\":\"/docs/reference/benchmarks\"},{\"text\":\"Literature\",\"link\":\"/docs/reference/literature\"},{\"text\":\"Telemetry\",\"link\":\"/docs/reference/telemetry\"}]}],\"/demos\":[{\"text\":\"Demos\",\"collapsed\":false,\"items\":[{\"text\":\"Burn\",\"link\":\"/demos/burn\"},{\"text\":\"AI Chat\",\"link\":\"/demos/ai-chat\"},{\"text\":\"Territory Wars\",\"link\":\"/demos/territory-wars\"},{\"text\":\"Linearlite\",\"link\":\"/demos/linearlite\"},{\"text\":\"Notes\",\"link\":\"/demos/notes\"},{\"text\":\"Pixel art\",\"link\":\"/demos/pixel-art\"}]},{\"text\":\"Examples\",\"collapsed\":false,\"items\":[{\"text\":\"Bash\",\"link\":\"/demos/bash\"},{\"text\":\"Encryption\",\"link\":\"/demos/encryption\"},{\"text\":\"Gatekeeper auth\",\"link\":\"/demos/gatekeeper-auth\"},{\"text\":\"Next.js\",\"link\":\"/demos/nextjs\"},{\"text\":\"Phoenix LiveView\",\"link\":\"/demos/phoenix-liveview\"},{\"text\":\"Proxy auth\",\"link\":\"/demos/proxy-auth\"},{\"text\":\"React\",\"link\":\"/demos/react\"},{\"text\":\"Redis\",\"link\":\"/demos/redis\"},{\"text\":\"Remix\",\"link\":\"/demos/remix\"},{\"text\":\"Tanstack\",\"link\":\"/demos/tanstack\"},{\"text\":\"Todo app\",\"link\":\"/demos/todo-app\"},{\"text\":\"Write patterns\",\"link\":\"/demos/write-patterns\"},{\"text\":\"Yjs\",\"link\":\"/demos/yjs\"}]}],\"/blog\":[{\"text\":\"Blog\",\"items\":[{\"text\":\"Durable Streams — the data primitive for the agent loop\",\"link\":\"/blog/2026/04/08/data-primitive-agent-loop\"},{\"text\":\"AI agents as CRDT peers — building collaborative AI with Yjs\",\"link\":\"/blog/2026/04/08/ai-agents-as-crdt-peers-with-yjs\"},{\"text\":\"Yjs over HTTP on Durable Streams\",\"link\":\"/blog/2026/04/07/yjs-durable-streams-on-electric-cloud\"},{\"text\":\"Electric Cloud pricing is live\",\"link\":\"/blog/2026/04/02/electric-cloud-pricing\"},{\"text\":\"StreamDB — a reactive database in a Durable Stream\",\"link\":\"/blog/2026/03/26/stream-db\"},{\"text\":\"Electric apps get persistence and includes with TanStack DB 0.6\",\"link\":\"/blog/2026/03/25/tanstack-db-0.6-app-ready-with-persistence-and-includes\"},{\"text\":\"Announcing PGlite v0.4: PostGIS, connection multiplexing, and a new architecture\",\"link\":\"/blog/2026/03/25/announcing-pglite-v04\"},{\"text\":\"Durable Transports for your AI SDK\",\"link\":\"/blog/2026/03/24/durable-transport-ai-sdks\"},{\"text\":\"Agent skills now shipping in our npm packages\",\"link\":\"/blog/2026/03/06/agent-skills-now-shipping\"},{\"text\":\"Amdahl's law for AI agents\",\"link\":\"/blog/2026/02/19/amdahls-law-for-ai-agents\"},{\"text\":\"Configurancy: keeping systems intelligible when agents write all the code\",\"link\":\"/blog/2026/02/02/configurancy\"},{\"text\":\"Announcing Hosted Durable Streams\",\"link\":\"/blog/2026/01/22/announcing-hosted-durable-streams\"},{\"text\":\"From fiction to reality, you can now build difficult things\",\"link\":\"/blog/2026/01/20/from-science-fiction-to-reality-you-can-build-difficult-things-now\"},{\"text\":\"Durable Sessions — the key pattern for collaborative AI\",\"link\":\"/blog/2026/01/12/durable-sessions-for-collaborative-ai\"},{\"text\":\"Durable Streams 0.1.0 and State Protocol\",\"link\":\"/blog/2025/12/23/durable-streams-0.1.0\"},{\"text\":\"Announcing Durable Streams\",\"link\":\"/blog/2025/12/09/announcing-durable-streams\"},{\"text\":\"Electric 1.1: new storage engine with 100x faster writes\",\"link\":\"/blog/2025/08/13/electricsql-v1.1-released\"},{\"text\":\"Bringing agents back down to earth\",\"link\":\"/blog/2025/08/12/bringing-agents-back-down-to-earth\"},{\"text\":\"120 days of hardening – the post‑1.0 reliability sprint\",\"link\":\"/blog/2025/08/04/reliability-sprint\"},{\"text\":\"Super-fast apps on sync with Electric and TanStack DB\",\"link\":\"/blog/2025/07/29/super-fast-apps-on-sync-with-tanstack-db\"},{\"text\":\"Vibe coding with a database in the sandbox\",\"link\":\"/blog/2025/06/05/database-in-the-sandbox\"},{\"text\":\"Untangling the LLM spaghetti\",\"link\":\"/blog/2025/04/22/untangling-llm-spaghetti\"},{\"text\":\"Building AI apps? You need sync\",\"link\":\"/blog/2025/04/09/building-ai-apps-on-sync\"},{\"text\":\"Electric Cloud public BETA: Sync in 30 seconds\",\"link\":\"/blog/2025/04/07/electric-cloud-public-beta-release\"},{\"text\":\"Electric 1.0 released\",\"link\":\"/blog/2025/03/17/electricsql-1.0-released\"},{\"text\":\"Electric BETA release\",\"link\":\"/blog/2024/12/10/electric-beta-release\"},{\"text\":\"Local-first with your existing API\",\"link\":\"/blog/2024/11/21/local-first-with-your-existing-api\"},{\"text\":\"A new approach to building Electric\",\"link\":\"/blog/2024/07/17/electric-next\"},{\"text\":\"Electric v0.11 released with support for Postgres in the client\",\"link\":\"/blog/2024/05/14/electricsql-postgres-client-support\"},{\"text\":\"Electric v0.10 released with shape filtering\",\"link\":\"/blog/2024/04/10/electricsql-v0.10-released\"},{\"text\":\"Electrify, Ignition, Liftoff!\",\"link\":\"/blog/2024/02/27/intel-ignite\"},{\"text\":\"Local AI with Postgres, pgvector and llama2, inside a Tauri app\",\"link\":\"/blog/2024/02/05/local-first-ai-with-tauri-postgres-pgvector-llama\"},{\"text\":\"ElectricSQL v0.9 released\",\"link\":\"/blog/2024/01/24/electricsql-v0.9-released\"},{\"text\":\"Secure transactions with local-first\",\"link\":\"/blog/2023/12/15/secure-transactions-with-local-first\"},{\"text\":\"ElectricSQL v0.8 released with JSON and Supabase support\",\"link\":\"/blog/2023/12/13/electricsql-v0.8-released\"},{\"text\":\"Use ElectricSQL with the Ionic Framework and Capacitor\",\"link\":\"/blog/2023/11/02/using-electricsql-with-the-ionic-framework-and-capacitor\"},{\"text\":\"ElectricSQL v0.7 released\",\"link\":\"/blog/2023/11/02/electricsql-v0.7-released\"},{\"text\":\"ElectricSQL hosted the first \\\"Local-first Software London\\\" meet-up\",\"link\":\"/blog/2023/10/26/local-first-software-London-meet-up\"},{\"text\":\"Linearlite - A local-first app built with ElectricSQL and React\",\"link\":\"/blog/2023/10/12/linerlite-local-first-with-react\"},{\"text\":\"Welcome Sam Willis!\",\"link\":\"/blog/2023/10/10/welcome-sam\"},{\"text\":\"Local-first sync for Postgres from the inventors of CRDTs\",\"link\":\"/blog/2023/09/20/introducing-electricsql-v0.6\"},{\"text\":\"Welcome Andrei and Oleksii!\",\"link\":\"/blog/2023/05/10/welcome-andrei-oleksii\"},{\"text\":\"Developing local-first software\",\"link\":\"/blog/2023/02/09/developing-local-first-software\"},{\"text\":\"Welcome José, Kevin and Garry!\",\"link\":\"/blog/2023/02/02/introducing-jose-kevin-garry\"},{\"text\":\"The evolution of state transfer\",\"link\":\"/blog/2022/12/16/evolution-state-transfer\"},{\"text\":\"Relativity and causal consistency\",\"link\":\"/blog/2022/05/20/relativity-causal-consistency\"},{\"text\":\"Introducing Rich-CRDTs\",\"link\":\"/blog/2022/05/03/introducing-rich-crdts\"}]}],\"/about\":[{\"text\":\"About\",\"items\":[{\"text\":\"Community\",\"link\":\"/about/community\"},{\"text\":\"Team\",\"link\":\"/about/team\"},{\"text\":\"Jobs\",\"link\":\"/about/jobs\",\"items\":[{\"text\":\"Founders Associate\",\"link\":\"/about/jobs/founders-associate\"}],\"collapsed\":false},{\"text\":\"Legal\",\"items\":[{\"text\":\"Terms\",\"link\":\"/about/legal/terms\"},{\"text\":\"Privacy\",\"link\":\"/about/legal/privacy\"}],\"collapsed\":false},{\"text\":\"Contact\",\"link\":\"/about/contact\"}]}]},\"siteTitle\":false,\"socialLinks\":[{\"icon\":\"durable-streams\",\"link\":\"https://durablestreams.com\"},{\"icon\":\"tanstack\",\"link\":\"https://tanstack.com/db\"},{\"icon\":\"pglite\",\"link\":\"https://pglite.dev\"},{\"icon\":\"x\",\"link\":\"https://x.com/ElectricSQL\"},{\"icon\":\"discord\",\"link\":\"https://discord.electric-sql.com\"},{\"icon\":\"github\",\"link\":\"https://github.com/electric-sql/electric\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
    
  </body>
</html>