PageSourceSearch

https://apptokens.com/assets/js/2998437a.f947f3b7.js

js apptokens.com collected 2026-10-09 21:58:03 UTC 9,269 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkapptokens=self.webpackChunkapptokens||[]).push([[9372],{9617:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"integration-guide/limit-break-amm/intro/index","title":"Introduction","description":"This describes a pre-release version of LBAMM. Interfaces and behavior may change.","source":"@site/docs/integration-guide/limit-break-amm/01-intro/index.md","sourceDirName":"integration-guide/limit-break-amm/01-intro","slug":"/integration-guide/limit-break-amm/intro/","permalink":"/docs/integration-guide/limit-break-amm/intro/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Introduction","sidebar_label":"Introduction","sidebar_position":1,"pagination_next":"integration-guide/limit-break-amm/intro/audience"},"sidebar":"tutorialSidebar","previous":{"title":"Contract Deployments","permalink":"/docs/integration-guide/creator-token-standards/v2/contract-deployments"},"next":{"title":"Audience","permalink":"/docs/integration-guide/limit-break-amm/intro/audience"}}');var s=i(4848),o=i(8453);const r={title:"Introduction",sidebar_label:"Introduction",sidebar_position:1,pagination_next:"integration-guide/limit-break-amm/intro/audience"},a="What is LBAMM?",l={},d=[{value:"Why LBAMM exists",id:"why-lbamm-exists",level:2},{value:"Apptokens and ERC\u201120 compatibility",id:"apptokens-and-erc20-compatibility",level:2},{value:"Control, mutability, and issuer intent",id:"control-mutability-and-issuer-intent",level:2},{value:"Who this documentation is for",id:"who-this-documentation-is-for",level:2},{value:"Next steps",id:"next-steps",level:2}];function c(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.admonition,{title:"Pre-Release Documentation",type:"warning",children:[(0,s.jsx)(n.p,{children:"This describes a pre-release version of LBAMM. Interfaces and behavior may change."}),(0,s.jsx)(n.p,{children:"Verify the exact repository commit before building production integrations."})]}),"\n",(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"what-is-lbamm",children:"What is LBAMM?"})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"Limit Break AMM (LBAMM)"})," is a ",(0,s.jsx)(n.strong,{children:"modular AMM framework designed for Apptokens"})," that supports multiple pool types and liquidity models, while allowing ",(0,s.jsx)(n.strong,{children:"token, pool, and position behavior to be extended or constrained through programmable hooks"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["At its core, LBAMM separates ",(0,s.jsx)(n.em,{children:"liquidity mechanics"})," from ",(0,s.jsx)(n.em,{children:"token- and application-level rules"}),". Rather than embedding assumptions about token behavior directly into a single AMM design, LBAMM provides a common execution layer where rules can be attached explicitly and enforced consistently."]}),"\n",(0,s.jsx)(n.p,{children:"This makes it possible to build DEX infrastructure that:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Enforces token-level constraints ",(0,s.jsx)(n.strong,{children:"across venues and routes"})]}),"\n",(0,s.jsxs)(n.li,{children:["Executes trades with a ",(0,s.jsx)(n.strong,{children:"reliable, non-spoofable execution context"})]}),"\n",(0,s.jsxs)(n.li,{children:["Exposes ",(0,s.jsx)(n.strong,{children:"simple, composable interfaces"})," for integrators and hook authors"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"why-lbamm-exists",children:"Why LBAMM exists"}),"\n",(0,s.jsxs)(n.p,{children:["Traditional AMMs assume that tokens are passive ERC\u201120 balances and that all policy lives ",(0,s.jsx)(n.em,{children:"outside"})," the pool. In practice, this creates gaps:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Token-level rules can often be bypassed by routing through unexpected venues or liquidity sources"}),"\n",(0,s.jsx)(n.li,{children:"Execution context (who is executing the trade, who receives outputs, and how the route is constructed) is difficult or impossible to reason about reliably"}),"\n",(0,s.jsx)(n.li,{children:"Extending behavior requires forking pool logic rather than composing reusable constraints"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["LBAMM addresses these problems by making ",(0,s.jsx)(n.strong,{children:"execution context explicit"}
1)," and giving ",(0,s.jsx)(n.strong,{children:"token/pool/position policy"})," a first-class enforcement surface."]}),"\n",(0,s.jsx)(n.p,{children:"Instead of asking every pool or integrator to re\u2011implement the same checks, LBAMM provides a shared framework where:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Token behavior can be enforced wherever liquidity exists"}),"\n",(0,s.jsx)(n.li,{children:"Pools focus on pricing and liquidity mechanics"}),"\n",(0,s.jsxs)(n.li,{children:["Hooks define ",(0,s.jsx)(n.em,{children:"when"})," and ",(0,s.jsx)(n.em,{children:"how"})," behavior is constrained or extended"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"apptokens-and-erc20-compatibility",children:"Apptokens and ERC\u201120 compatibility"}),"\n",(0,s.jsxs)(n.p,{children:["LBAMM is designed to work with ",(0,s.jsx)(n.strong,{children:"any ERC\u201120 token"}),", not just Apptokens."]}),"\n",(0,s.jsxs)(n.p,{children:["Apptokens are a ",(0,s.jsx)(n.em,{children:"specialized class"})," of ERC\u201120s that are built to take full advantage of LBAMM\u2019s execution guarantees and hook system. However:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Non\u2011Apptoken ERC\u201120s can be traded, pooled, and routed through LBAMM"}),"\n",(0,s.jsx)(n.li,{children:"Pools and hooks do not require tokens to be Apptokens to function"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Apptokens are ",(0,s.jsx)(n.strong,{children:"not a requirement"})," to use LBAMM \u2014 they are simply the tokens that can express the richest behavior within it."]}),"\n",(0,s.jsx)(n.h2,{id:"control-mutability-and-issuer-intent",children:"Control, mutability, and issuer intent"}),"\n",(0,s.jsx)(n.p,{children:"A common misconception is that LBAMM gives token issuers permanent or unilateral control."}),"\n",(0,s.jsxs)(n.p,{children:["In reality, LBAMM supports a ",(0,s.jsx)(n.strong,{children:"spectrum of control models"}),", defined at deployment time:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Issuers may deploy hooks that are fully immutable"}),"\n",(0,s.jsx)(n.li,{children:"Issuers may delegate control or governance to other parties"}),"\n",(0,s.jsx)(n.li,{children:"Issuers may time\u2011limit or scope enforcement to specific pools or positions"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The framework does not mandate ",(0,s.jsx)(n.em,{children:"who"})," controls behavior or ",(0,s.jsx)(n.em,{children:"for how long"})," \u2014 it only ensures that whatever rules exist are enforced consistently."]}),"\n",(0,s.jsx)(n.h2,{id:"who-this-documentation-is-for",children:"Who this documentation is for"}),"\n",(0,s.jsx)(n.p,{children:"This documentation is written for three primary audiences:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Token issuers"})," building Apptokens or attaching policies to existing ERC\u201120s"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"DEX integrators and aggregators"})," integrating LBAMM pools, routes, and execution flows"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Hook authors"})," implementing custom token, pool, or position behavior"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Each section of the docs is structured so that readers can go as deep as necessary, from high\u2011level mental models to low\u2011level integration details."}),"\n",(0,s.jsx)(n.h2,{id:"next-steps",children:"Next steps"}),"\n",(0,s.jsx)(n.p,{children:"If you are new to LBAMM, read these in order:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./audience",children:"Audience & Roles"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./concepts-terminology",children:"Concepts & Terminology"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"../protocol-fundamentals",children:"Protocol Fundamentals"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./design-goals-guarantees",children:"Design Goals & Guarantees"})}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"These pages establish the shared language and core execution model used throughout the rest of the docs."})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>a});var t=i(6540);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]);

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