1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1986],{88917:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/trading-engine/getting-started/core-concepts/overview",function(){return n(62993)}])},62993:function(e,t,n){"use strict";n.r(t),n.d(t,{__toc:function(){return l}});var i=n(52676),r=n(59552),a=n(48975),o=n(96735);n(5853);var s=n(40605),d=n(5287);n(82657);let l=[{depth:2,value:"How Nexgent Works",id:"how-nexgent-works"},{depth:2,value:"Core Components",id:"core-components"},{depth:3,value:"1. Trading Signals",id:"1-trading-signals"},{depth:3,value:"2. Agents",id:"2-agents"},{depth:3,value:"3. Positions",id:"3-positions"},{depth:3,value:"4. Trading Modes",id:"4-trading-modes"},{depth:3,value:"5. Risk Management",id:"5-risk-management"},{depth:2,value:"The Trading Flow",id:"the-trading-flow"},{depth:3,value:"Step 1: Signal Arrives",id:"step-1-signal-arrives"},{depth:3,value:"Step 2: Agent Evaluates",id:"step-2-agent-evaluates"},{depth:3,value:"Step 3: Trade Executes",id:"step-3-trade-executes"},{depth:3,value:"Step 4: Position Monitored",id:"step-4-position-monitored"},{depth:3,value:"Step 5: Position Closes",id:"step-5-position-closes"},{depth:2,value:"Data Flow Diagram",id:"data-flow-diagram"},{depth:2,value:"Key Concepts Summary",id:"key-concepts-summary"}];function c(e){let t=Object.assign({h1:"h1",p:"p",hr:"hr",h2:"h2",pre:"pre",code:"code",span:"span",h3:"h3",strong:"strong",ul:"ul",li:"li",a:"a",ol:"ol",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td"},(0,s.a)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{children:"Core Concepts Overview"}),"\n",(0,i.jsx)(t.p,{children:"Understand the fundamental concepts that power Nexgent's trading engine."}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h2,{id:"how-nexgent-works",children:"How Nexgent Works"}),"\n",(0,i.jsx)(t.p,{children:"Nexgent is an automated trading engine that processes signals and executes trades on Solana. Here's the high-level flow:"}),"\n",(0,i.jsx)(t.pre,{"data-language":"text","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"text","data-theme":"default",children:[(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"âââââââââââââââ âââââââââââââââ âââââââââââââââ âââââââââââââââ"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"â Signal ââââââ¶â Agent ââââââ¶â Trade ââââââ¶â Position â"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"â Arrives â â Evaluates â â Executes â â Monitored â"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"âââââââââââââââ âââââââââââââââ âââââââââââââââ âââââââââââââââ"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" â â"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" â â"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" ââââââââ´âââââââ ââââââââ´âââââââ"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" â Eligible? â â Stop Loss / â"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" â - Balance â â Take Profit â"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" â - Config â â DCA / Manualâ"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" â - Filters â âââââââââââââââ"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" âââââââââââââââ"})})]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h2,{id:"core-components",children:"Core Components"}),"\n",(0,i.jsx)(t.h3,{id:"1-trading-signals",children:"1. Trading Signals"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"What:"})," Buy recommendations for specific tokens."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Where they come from:"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Exter
1nal services via API"}),"\n",(0,i.jsx)(t.li,{children:"Webhooks"}),"\n",(0,i.jsx)(t.li,{children:"Manual entry"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Key attributes:"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Token address"}),"\n",(0,i.jsx)(t.li,{children:"Signal type (e.g., Hypersurge, Breakout confirmation, Price Reversal)"}),"\n",(0,i.jsx)(t.li,{children:"Signal strength (1-5)"}),"\n",(0,i.jsx)(t.li,{children:"Signal provider (e.g., Nexgent AI)"}),"\n",(0,i.jsx)(t.li,{children:"Activation reason (e.g., Price broke above 5-period high, Bullish candle formation, Volume up 74.30% vs average, Price up 3.14% vs last bucket, Buy/sell ratio strongly bullish (157.73%))"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/trading-engine/getting-started/core-concepts/trading-signals",children:"Learn more about Trading Signals â"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"2-agents",children:"2. Agents"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"What:"})," Autonomous trading entities with their own configuration and wallets."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"What they do:"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Evaluate incoming signals"}),"\n",(0,i.jsx)(t.li,{children:"Execute trades when criteria are met"}),"\n",(0,i.jsx)(t.li,{children:"Manage positions"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Key attributes:"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Trading mode (simulation/live)"}),"\n",(0,i.jsx)(t.li,{children:"Trading configuration"}),"\n",(0,i.jsx)(t.li,{children:"Wallet assignments"}),"\n",(0,i.jsx)(t.li,{children:"Automated trading toggle"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/trading-engine/getting-started/core-concepts/agents",children:"Learn more about Agents â"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"3-positions",children:"3. Positions"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"What:"})," Active token holdings being monitored."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Lifecycle:"})}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Opened"})," - Buy trade executed"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Monitored"})," - Price tracked, stop loss and take-profit evaluated"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Closed"})," - Sold (manual, stop loss, take-profit, or stale trade)"]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Key attributes:"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Purchase price and amount"}),"\n",(0,i.jsx)(t.li,{children:"Current value and P&L"}),"\n",(0,i.jsx)(t.li,{children:"Stop loss percentage"}),"\n",(0,i.jsx)(t.li,{children:"DCA history"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/trading-engine/getting-started/core-concepts/positions",children:"Learn more about Positions â"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"4-trading-modes",children:"4. Trading Modes"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Simulation:"})," Virtual trades with fake balances. No real money."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Live:"})," Real trades on Solana blockchain. Uses actual SOL."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/trading-engine/getting-started/core-concepts/simulation-vs-live",children:"Learn more about Simulation vs Live â"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"5-risk-management",children:"5. Risk Management"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Stop Loss:"})," Automatically sells when price drops below threshold."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Take Profit:"})," Automatically sells portions of the position as price rises (preset or custom levels, optional moon bag)."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"DCA (Dollar Cost Averaging):"})," Automatically buys more when price drops. Can be enabled together with Take Profit."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/trading-engine/getting-started/core-concepts/risk-management",children:"Learn more about Risk Management â"})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h2,{id:"the-trading-flow",children:"The Trading Flow"}),"\n",(0,i.jsx)(t.p,{children:"Let's trace a complete trade from signal to close:"}),"\n",(0,i.jsx)(t.h3,{id:"step-1-signal-arrives",children:"Step 1: Signal Arrives"}),"\n",(0,i.jsx)(t.pre,{"data-language":"json","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"json","data-theme":"default",children:[(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:'"tokenAddress"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"DezXAZ8z..."'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:'"symbol"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"BONK"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:'"signalType"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Hypersurge"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:'"signalStrength"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:'"source"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Nexgent AI"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:'"activationReason"'}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Price broke above 5-period high, Bullish candle formation, Volume up 74.30% vs average, Price up 3.14% vs last bucket, Buy/sell ratio strongly bullish (157.73%)"'})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,i.jsx)(t.h3,{id:"step-2-agent-evaluates",children:"Step 2: Agent Evaluates"}),"\n",(0,i.jsx)(t.p,{children:"The agent checks:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Check"}),(0,i.jsx)(t.th,{children:"Example"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Signal strength"})}),(0,i.jsx)(t.td,{children:"Is 4 ⥠minScore (3)? â"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Balance"})}),(0,i.jsx)(t.td,{children:"Has enough SOL? â"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Blacklist"})}),(0,i.jsx)(t.td,{children:"Token not blocked? â"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Whitelist"})}),(0,i.jsx)(t.td,{children:"Token allowed (if enabled)? â"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Existing position"})}),(0,i.jsx)(t.td,{children:"Not already holding? â"})]})]})]}),"\n",(0,i.jsx)(t.h3,{id:"step-3-trade-executes",children:"Step 3: Trade Executes"}),"\n",(0,i.jsx)(t.p,{children:"If all checks pass:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Calculate position size"})," based on balance and config"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Get quote"})," from Jupiter Aggregator"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Execute swap"})," (simulated or on-chain)"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Create position"})," record"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"step-4-position-monitored",children:"Step 4: Position Monitored"}),"\n",(0,i.jsx)(t.p,{children:"Continuously:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Fetch current price"})," from price feeds"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Calculate P&L"})," against purchase price"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Evaluate stop loss"})," - sell if triggered"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Evaluate take-profit"})," - partial sell if gain levels hit (when enabled)"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Evaluate DCA"})," - buy more if triggered (when enabled)"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Broadcast updates"})," via WebSocket"]}),"\n"]}
1),"\n",(0,i.jsx)(t.h3,{id:"step-5-position-closes",children:"Step 5: Position Closes"}),"\n",(0,i.jsx)(t.p,{children:"Position closes when:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Stop loss triggers"})," - Price drops below threshold"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Take-profit completes"})," - All levels hit (and no moon bag, or moon bag + stop loss)"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Manual close"})," - User closes via dashboard"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Stale trade"})," - Configurable auto-close for idle positions"]}),"\n"]}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h2,{id:"data-flow-diagram",children:"Data Flow Diagram"}),"\n",(0,i.jsx)(d.G,{chart:"flowchart TB\n SS[Signal Sources] --> AS[Agent Service]\n AS --> TE[Trading Engine]\n TE --> PS[Position Service]\n PF[Price Feeds<br/>Jupiter / Pyth] --> TE\n TE --> JUP[Jupiter Swaps]\n PS --> WS[WebSocket Server]\n WS --> UI[Dashboard UI]"}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h2,{id:"key-concepts-summary",children:"Key Concepts Summary"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Concept"}),(0,i.jsx)(t.th,{children:"Purpose"}),(0,i.jsx)(t.th,{children:"Key Point"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Signal"})}),(0,i.jsx)(t.td,{children:"Trade trigger"}),(0,i.jsx)(t.td,{children:"Strength 1-5, filtered by agent (score, type, blackl
1ist)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Agent"})}),(0,i.jsx)(t.td,{children:"Trading entity"}),(0,i.jsx)(t.td,{children:"Has config, wallet, positions"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Position"})}),(0,i.jsx)(t.td,{children:"Active holding"}),(0,i.jsx)(t.td,{children:"Tracked until closed"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Simulation"})}),(0,i.jsx)(t.td,{children:"Paper trading"}),(0,i.jsx)(t.td,{children:"Risk-free learning"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Live"})}),(0,i.jsx)(t.td,{children:"Real trading"}),(0,i.jsx)(t.td,{children:"Actual SOL on Solana"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Stop Loss"})}),(0,i.jsx)(t.td,{children:"Limit losses"}),(0,i.jsx)(t.td,{children:"Auto-sell on drop"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Take Profit"})}),(0,i.jsx)(t.td,{children:"Lock in gains"}),(0,i.jsx)(t.td,{children:"Partial sell on rise (levels + optional moon bag)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"DCA"})}),(0,i.jsx)(t.td,{children:"Average down"}),(0,i.jsx)(t.td,{children:"Auto-buy on drop (can run alongside Take Profit)"})]})]})]})]})}let g={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,s.a)(),e.components);return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)},pageOpts:{filePath:"pages/trading-engine/getting-started/core-concepts/overview.mdx",route:"/trading-engine/getting-started/core-concepts/overview",frontMatter:{title:"Core Concepts Overview",description:"Understand how Nexgent's trading engine works"},timestamp:1770798142e3,pageMap:[{kind:"Meta",data:{index:{type:"page",display:"hidden",title:"Nexgent Documentation"},"trading-engine":{title:"OS Trading Engine",type:"page",display:"hidden"},"signal-engine":{title:"Nexgent Signals",type:"page",display:"hidden"},tokenomics:{title:"Tokenomics",type:"page",display:"hidden"}}},{kind:"MdxPage",name:"index",route:"/",frontMatter:{title:"Nexgent Documentation"}},{kind:"Folder",name:"signal-engine",route:"/signal-engine",children:[{kind:"Meta",data:{index:"Introduction","getting-started":"Getting Started","token-lock":"Token Lock Mechanism","---strategies":{type:"separator",title:"Signal Strategies"},strategies:"Signal Strategies","---delivery":{type:"separator",title:"Signal Delivery"},delivery:"Delivery Methods"}},{kind:"MdxPage",name:"delivery",route:"/signal-engine/delivery",frontMatter:{title:"Signal Delivery",description:"Configure how you receive Nexgent trading signals"}},{kind:"MdxPage",name:"getting-started",route:"/signal-engine/getting-started",frontMatter:{title:"Getting Started",description:"Subscribe to Nexgent Signals and configure delivery in minutes"}},{kind:"MdxPage",name:"index",route:"/signal-engine",frontMatter:{title:"Nexgent Signals",description:"AI-powered trading signal generation and delivery platform for Solana",asIndexPage:!0}},{kind:"MdxPage",name:"strategies",route:"/signal-engine/strategies",frontMatter:{title:"Signal Strategies",description:"Overview of Nexgent's AI-powered trading signal strategies"}},{kind:"MdxPage",name:"token-lock",route:"/signal-engine/token-lock",frontMatter:{title:"Token Lock Mechanism",description:"A simple explanation of how Nexgent token locking works and why it secures the ecosystem"}}]},{kind:"Folder",name:"tokenomics",route:"/tokenomics",children:[{kind:"Meta",data:{index:"Token Utility"}},{kind:"MdxPage",name:"index",route:"/tokenomics",frontMatter:{title:"Nexgent Tokenomics",description:"Token economics, utility, and on-chain transparency for $NEXGENT",asIndexPage:!0}}]},{kind:"Folder",name:"trading-engine",route:"/trading-engine",children:[{kind:"Meta",data:{index:"Introduction",comparison:"Nexgent vs. Alternatives","---getting-started":{type:"separator",title:"Getting Started"},"getting-started":"Getting Started","self-hosting":"Self-Hosting","---usage":{type:"separator",title:"Usage"}
1,"platform-guide":"Platform Guide","api-reference":"API Reference","---technical":{type:"separator",title:"Technical"},technical:"Technical Documentation","---additional":{type:"separator",title:"Additional"},security:"Security",contributing:"Contributing",reference:"Reference",resources:"Resources"}},{kind:"Folder",name:"api-reference",route:"/trading-engine/api-reference",children:[{kind:"Meta",data:{overview:"Overview",authentication:"Authentication",endpoints:"Endpoints",websocket:"WebSocket API",postman:"Postman Collection","error-codes":"Error Codes & Handling"}},{kind:"Folder",name:"authentication",route:"/trading-engine/api-reference/authentication",children:[{kind:"Meta",data:{"jwt-tokens":"JWT Tokens","api-keys":"API Keys","login-registration":"Login & Authentication","token-refresh":"Token Refresh"}},{kind:"MdxPage",name:"api-keys",route:"/trading-engine/api-reference/authentication/api-keys",frontMatter:{title:"API Keys",description:"API key authentication for programmatic access"}},{kind:"MdxPage",name:"jwt-tokens",route:"/trading-engine/api-reference/authentication/jwt-tokens",frontMatter:{title:"JWT Tokens",description:"JWT-based authentication for the Nexgent API"}},{kind:"MdxPage",name:"login-registration",route:"/trading-engine/api-reference/authentication/login-registration",frontMatter:{title:"Login & Authentication",description:"User authentication endpoints"}},{kind:"MdxPage",name:"token-refresh",route:"/trading-engine/api-reference/authentication/token-refresh",frontMatter:{title:"Token Refresh",description:"Refresh expired JWT tokens"}}]},{kind:"Folder",name:"endpoints",route:"/trading-engine/api-reference/endpoints",children:[{kind:"Meta",data:{agents:"Agents","agent-balances":"Agent Balances","agent-positions":"Agent Positions","agent-transactions":"Agent Transactions","historical-swaps":"Historical Swaps","trading-signals":"Trading Signals",wallets:"Wallets","data-sources":"Data Sources","price-feeds":"Price Feeds","health-metrics":"Health & Metrics"}},{kind:"MdxPage",name:"agent-balances",route:"/trading-engine/api-reference/endpoints/agent-balances",frontMatter:{title:"Agent Balances",description:"API endpoints for managing agent token balances"}},{kind:"MdxPage",name:"agent-positions",route:"/trading-engine/api-reference/endpoints/agent-positions",frontMatter:{title:"Agent Positions",description:"API endpoints for viewing and managing open positions"}},{kind:"MdxPage",name:"agent-transactions",route:"/trading-engine/api-reference/endpoints/agent-transactions",frontMatter:{title:"Agent Transactions",description:"API endpoints for viewing agent transaction history"}},{kind:"MdxPage",name:"agents",route:"/trading-engine/api-reference/endpoints/agents",frontMatter:{title:"Agents",description:"API endpoints for managing trading agents"}},{kind:"MdxPage",name:"data-sources",route:"/trading-engine/api-reference/endpoints/data-sources",frontMatter:{title:"Data Sources",description:"API endpoint for checking data source configuration status"}},{kind:"MdxPage",name:"health-metrics",route:"/trading-engine/api-reference/endpoints/health-metrics",frontMatter:{title:"Health & Metrics",description:"API endpoints for system health checks and Prometheus metrics"}},{kind:"MdxPage",name:"historical-swaps",route:"/trading-engine/api-reference/endpoints/historical-swaps",frontMatter:{title:"Historical Swaps",description:"API endpoints for viewing completed trades and P/L history"}},{kind:"MdxPage",name:"price-feeds",route:"/trading-engine/api-reference/endpoints/price-feeds",frontMatter:{title:"Price Feeds",description:"API endpoint for getting current SOL/USD price"}},{kind:"MdxPage",name:"trading-signals",route:"/trading-engine/api-reference/endpoints/trading-signals",frontMatter:{title:"Trading Signals",description:"API endpoints for sending and managing trading signals"}},{kind:"MdxPage",name:"wallets",route:"/trading-engine/api-reference/endpoints/wallets",frontMatter:{title:"Wallets",description:"API endpoints for managing agent wallets"}}]},{kind:"MdxPage",name:"error-codes",route:"/trading-engine/api-reference/error-codes",frontMatter:{title:"Error Codes & Handling",description:"API error codes, response formats, and handling strategies"}},{kind:"MdxPage",name:"overview",route:"/trading-engine/api-reference/overview",frontMatter:{title:"API Overview",description:"Introduction to the Nexgent REST API"}},{kind:"MdxPage",name:"postman",route:"/trading-engine/api-reference/postman",frontMatter:{title:"Postman Collection",description:"Import and use the Nexgent API Postman collection"}},{kind:"Folder",name:"websocket",route:"/trading-engine/api-reference/websocket",children:[{kind:"Meta",data:{connection:"Connection",events:"Events",examples:"Example Implementations"}},{kind:"MdxPage",name:"connection",route:"/trading-engine/api-reference/websocket/connection",frontMatter:{title:"WebSocket Connection",description:"Connect to the Nexgent WebSocket API for real-time updates"}},{kind:"MdxPage",name:"events",route:"/trading-engine/api-reference/websocket/events",frontMatter:{title:"WebSocket Events",description:"WebSocket message types and event structures"}},{kind:"MdxPage",name:"examples",route:"/trading-engine/api-reference/websocket/examples",frontMatter:{title:"WebSocket Examples",description:"Example implementations for WebSocket connections"}}]}]},{kind:"MdxPage",name:"comparison",route:"/trading-engine/comparison",frontMatter:{title:"Nexgent vs. Alternatives",description:"Compare Nexgent AI with other Solana trading automation solutions"}},{kind:"Folder",name:"contributing",route:"/trading-engine/contributing",children:[{kind:"Meta",data:{"how-to-contribute":"How to Contribute","code-style":"Code Style Guide",testing:"Testing Guide","pull-requests":"Pull Request Process","release-process":"Release Process"}},{kind:"MdxPage",name:"code-style",route:"/trading-engine/contributing/code-style",frontMatter:{title:"Code Style Guide",description:"Coding conventions and style guidelines"}},{kind:"MdxPage",name:"how-to-contribute",route:"/trading-engine/contributing/how-to-contribute",frontMatter:{title:"How to Contribute",description:"Guide to contributing to the Nexgent open-source project"}},{kind:"MdxPage",name:"pull-requests",route:"/trading-engine/contributing/pull-requests",frontMatter:{title:"Pull Request Process",description:"Guidelines for submitting pull requests"}},{kind:"MdxPage",name:"release-process",route:"/trading-engine/contributing/release-process",frontMatter:{title:"Release Process",description:"How releases are managed for Nexgent"}},{kind:"MdxPage",name:"testing",route:"/trading-engine/contributing/testing",frontMatter:{title:"Testing Guide",description:"Guide to writing and running tests"}}]},{kind:"Folder",name:"getting-started",route:"/trading-engine/getting-started",children:[{kind:"Meta",data:{quickstart:"Quickstart (Local Dev)","quickstart-cloud":"Quickstart (Cloud Hosting)","core-concepts":"Core Concepts"}},{kind:"Folder",name:"core-concepts",route:"/trading-engine/getting-started/core-concepts",children:[{kind:"Meta",data:{overview:"Overview",agents:"Agents",positions:"Positions","trading-signals":"Trading Signals","simulation-vs-live":"Simulation vs Live Trading","risk-management":"Risk Management"}},{kind:"MdxPage",name:"agents",route:"/trading-engine/getting-started/core-concepts/agents",frontMatter:{title:"Agents",description:"Understanding trading agents in Nexgent"}},{kind:"MdxPage",name:"overview",route:"/trading-engine/getting-started/core-concepts/
1overview",frontMatter:{title:"Core Concepts Overview",description:"Understand how Nexgent's trading engine works"}},{kind:"MdxPage",name:"positions",route:"/trading-engine/getting-started/core-concepts/positions",frontMatter:{title:"Positions",description:"Understanding positions in Nexgent"}},{kind:"MdxPage",name:"risk-management",route:"/trading-engine/getting-started/core-concepts/risk-management",frontMatter:{title:"Risk Management",description:"Understanding stop loss, take profit, and DCA strategies in Nexgent"}},{kind:"MdxPage",name:"simulation-vs-live",route:"/trading-engine/getting-started/core-concepts/simulation-vs-live",frontMatter:{title:"Simulation vs Live Trading",description:"Understanding the difference between simulation and live trading modes"}},{kind:"MdxPage",name:"trading-signals",route:"/trading-engine/getting-started/core-concepts/trading-signals",frontMatter:{title:"Trading Signals",description:"Understanding trading signals in Nexgent"}}]},{kind:"MdxPage",name:"quickstart-cloud",route:"/trading-engine/getting-started/quickstart-cloud",frontMatter:{title:"Quickstart (Cloud Hosting)",description:"Deploy Nexgent to cloud in minutes using Railway's one-click template"}},{kind:"MdxPage",name:"quickstart",route:"/trading-engine/getting-started/quickstart",frontMatter:{title:"Quickstart (Local Dev)",description:"Get Nexgent running locally in 15 minutes"}}]},{kind:"MdxPage",name:"index",route:"/trading-engine",frontMatter:{title:"Nexgent Trading Engine",description:"Open-source, self-hosted trading automation framework for Solana",asIndexPage:!0}},{kind:"Folder",name:"platform-guide",route:"/trading-engine/platform-guide",children:[{kind:"Meta",data:{dashboard:"Dashboard Overview",agents:"Agents",wallets:"Wallets",positions:"Positions","trading-signals":"Trading Signals",transactions:"Transactions & History"}},{kind:"Folder",name:"agents",route:"/trading-engine/platform-guide/agents",children:[{kind:"Meta",data:{creating:"Creating Agents",configuration:"Agent Configuration","trading-settings":"Trading Settings",performance:"Agent Performance"}},{kind:"MdxPage",name:"configuration",route:"/trading-engine/platform-guide/agents/configuration",frontMatter:{title:"Agent Configuration",description:"Complete guide to configuring your trading agent's profile and trading strategy settings"}},{kind:"MdxPage",name:"creating",route:"/trading-engine/platform-guide/agents/creating",frontMatter:{title:"Creating Agents",description:"Step-by-step guide to creating your first trading agent in Nexgent AI"}},{kind:"MdxPage",name:"performance",route:"/trading-engine/platform-guide/agents/performance",frontMatter:{title:"Agent Performance",description:"Understanding agent performance metrics, how they're calculated, and what they mean"}},{kind:"Folder",name:"trading-settings",route:"/trading-engine/platform-guide/agents/trading-settings",children:[{kind:"Meta",data:{signals:"Signals Configuration","stop-loss":"Stop Loss Configuration",dca:"DCA Configuration","take-profit":"Take Profit Configuration","stale-trades":"Stale Trade Settings","auto-trade":"Auto Trade Configuration"}},{kind:"MdxPage",name:"auto-trade",route:"/trading-engine/platform-guide/agents/trading-settings/auto-trade",frontMatter:{title:"Auto Trade Configuration",description:"Complete guide to configuring auto trade for automatic token re-entry after position close"}},{kind:"MdxPage",name:"dca",route:"/trading-engine/platform-guide/agents/trading-settings/dca",frontMatter:{title:"DCA Configuration",description:"Complete guide to configuring Dollar Cost Averaging (DCA) settings for your trading agent"}},{kind:"MdxPage",name:"signals",route:"/trading-engine/platform-guide/agents/trading-settings/signals",frontMatter:{title:"Signals Configuration",description:"Complete guide to configuring signal filtering settings for your trading agent"}},{kind:"MdxPage",name:"stale-trades",route:"/trading-engine/platform-guide/agents/trading-settings/stale-trades",frontMatter:{title:"Stale Trade Configuration",description:"Complete guide to configuring stale trade auto-close settings for your trading agent"}},{kind:"MdxPage",name:"stop-loss",route:"/trading-engine/platform-guide/agents/trading-settings/stop-loss",frontMatter:{title:"Stop Loss Configuration",description:"Complete guide to configuring stop loss settings for your trading agent"}},{kind:"MdxPage",name:"take-profit",route:"/trading-engine/platform-guide/agents/trading-settings/take-profit",frontMatter:{title:"Take Profit Configuration",description:"Complete guide to configuring partial take-profit settings for your trading agent"}}]}]},{kind:"MdxPage",name:"dashboard",route:"/trading-engine/platform-guide/dashboard",frontMatter:{title:"Dashboard Overview",description:"Learn how to navigate and use the Nexgent AI dashboard - your command center for managing trading agents"}},{kind:"Folder",name:"positions",route:"/trading-engine/platform-guide/positions",children:[{kind:"Meta",data:{"live-positions":"Live Positions","manual-close":"Manual Close"}},{kind:"MdxPage",name:"live-positions",route:"/trading-engine/platform-guide/positions/live-positions",frontMatter:{title:"Live Positions",description:"Monitor and manage live trading positions with real-time price updates, profit/loss tracking, and WebSocket connections"}},{kind:"MdxPage",name:"manual-close",route:"/trading-engine/platform-guide/positions/manual-close",frontMatter:{title:"Manual Close",description:"How to manually exit trading positions before automated triggers occur"}}]},{kind:"Folder",name:"trading-signals",route:"/trading-engine/platform-guide/trading-signals",children:[{kind:"Meta",data:{understanding:"Understanding Signals","signal-flow":"Signal Processing Flow"}},{kind:"MdxPage",name:"signal-flow",route:"/trading-engine/platform-guide/trading-signals/signal-flow",frontMatter:{title:"Signal Processing Flow",description:"Detailed explanation of how signals are processed from creation to trade execution"}},{kind:"MdxPage",name:"understanding",route:"/trading-engine/platform-guide/trading-signals/understanding",frontMatter:{title:"Understanding Signals",description:"What trading signals are, how they work, and how agents evaluate them"}}]},{kind:"Folder",name:"transactions",route:"/trading-engine/platform-guide/transactions",children:[{kind:"Meta",data:{"transaction-types":"Transaction Types","historical-swaps":"Historical Swaps",exporting:"Exporting Data"}},{kind:"MdxPage",name:"exporting",route:"/trading-engine/platform-guide/transactions/exporting",frontMatter:{title:"Exporting Data",description:"Export transaction and signal data to CSV for analysis and reporting"}},{kind:"MdxPage",name:"historical-swaps",route:"/trading-engine/platform-guide/transactions/historical-swaps",frontMatter:{title:"Historical Swaps",description:"Understanding completed trade pairs and profit/loss tracking"}},{kind:"MdxPage",name:"transaction-types",route:"/trading-engine/platform-guide/transactions/transaction-types",frontMatter:{title:"Transaction Types",description:"Understanding the different types of transactions tracked in Nexgent AI"}}]},{kind:"Folder",name:"wallets",route:"/trading-engine/platform-guide/wallets",children:[{kind:"Meta",data:{creating:"Creating Wallets","deposits-withdrawals":"Deposits & Withdrawals"}},{kind:"MdxPage",name:"creating",route:"/trading-engine/platform-guide/wallets/creating",frontMatter:{title:"Creating Wallets",description:"Understanding wallet setup - simulation wallets are automatic, live wallets require environment variable configuration"}},{kind:"MdxPage",name:"deposits-withdrawals",route:"/trading-engine/platform-guide/wallets/deposits-withdrawals",frontMatter:{title:"Deposits & Withdrawals",description:"Understanding how deposits and withdrawals work differently for simulation and live wallets"}}]}]},{kind:"Folder",name:"reference",route:"/trading-engine/reference",children:[{kind:"Meta",data:{glossary:"Glossary",faq:"FAQ",troubleshooting:"Troubleshooting"}},{kind:"MdxPage",name:"faq",route:"/trading-engine/reference/faq",frontMatter:{title:"FAQ",description:"Frequently asked questions about Nexgent"}},{kind:"MdxPage",name:"glossary",route:"/trading-engine/reference/glossary",frontMatter:{title:"Glossary",description:"Definitions of terms used in Nexgent documentation"}},{kind:"MdxPage",name:"troubleshooting",route:"/trading-engine/reference/troubleshooting",frontMatter:{title:"Troubleshooting",description:"Solutions to common issues with Nexgent"}}]},{kind:"Folder",name:"resources",route:"/trading-engine/resources",children:[{kind:"Meta",data:{"community-support":"Community & Support",license:"License"}},{kind:"MdxPage",name:"community-support",route:"/trading-engine/resources/community-support",frontMatter:{title:"Community & Support",description:"Get help and connect with the Nexgent community"}},{kind:"MdxPage",name:"license",route:"/trading-engine/resources/license",frontMatter:{title:"License",description:"Nexgent open-source license information"}}]},{kind:"Folder",name:"security",route:"/trading-engine/security",children:[{kind:"Meta",data:{overview:"Security Overview","wallet-security":"Wallet Security Best Practices","api-security":"API Security","network-security":"Network Security","vulnerability-reporting":"Vulnerability Reporting"}},{kind:"MdxPage",name:"api-security",route:"/trading-engine/security/api-security",frontMatter:{title:"API Security",description:"API authentication, authorization, and security controls"}},{kind:"MdxPage",name:"network-security",route:"/trading-engine/security/network-security",frontMatter:{title:"Network Security",description:"Infrastru
1cture and network security for self-hosted deployments"}},{kind:"MdxPage",name:"overview",route:"/trading-engine/security/overview",frontMatter:{title:"Security Overview",description:"Security architecture and practices for Nexgent"}},{kind:"MdxPage",name:"vulnerability-reporting",route:"/trading-engine/security/vulnerability-reporting",frontMatter:{title:"Vulnerability Reporting",description:"How to responsibly report security vulnerabilities"}},{kind:"MdxPage",name:"wallet-security",route:"/trading-engine/security/wallet-security",frontMatter:{title:"Wallet Security",description:"Best practices for securing Solana wallets in Nexgent"}}]},{kind:"Folder",name:"self-hosting",route:"/trading-engine/self-hosting",children:[{kind:"Meta",data:{overview:"Overview",railway:"Railway (Recommended)","docker-compose":"Docker Compose","vercel-railway":"Vercel + Railway",vps:"VPS","production-checklist":"Production Checklist",upgrading:"Upgrading"}},{kind:"MdxPage",name:"docker-compose",route:"/trading-engine/self-hosting/docker-compose",frontMatter:{title:"Docker Compose Deployment",description:"Deploy Nexgent with Docker Compose for local development and simple production"}},{kind:"MdxPage",name:"overview",route:"/trading-engine/self-hosting/overview",frontMatter:{title:"Self-Hosting Overview",description:"Deploy your own Nexgent instance"}},{kind:"MdxPage",name:"production-checklist",route:"/trading-engine/self-hosting/production-checklist",frontMatter:{title:"Production Checklist",description:"Security, database, Redis, SSL, and monitoring configuration for production"}},{kind:"MdxPage",name:"railway",route:"/trading-engine/self-hosting/railway",frontMatter:{title:"Railway (Recommended)",description:"The quickest and easiest way to deploy Nexgent"}},{kind:"MdxPage",name:"upgrading",route:"/trading-engine/self-hosting/upgrading",frontMatter:{title:"Upgrading Nexgent",description:"Update your Nexgent installation to the latest version"}},{kind:"MdxPage",name:"vercel-railway",route:"/trading-engine/self-hosting/vercel-railway",frontMatter:{title:"Vercel + Railway Deployment",description:"Deploy Nexgent frontend on Vercel and backend on Railway"}},{kind:"MdxPage",name:"vps",route:"/trading-engine/self-hosting/vps",frontMatter:{title:"VPS Deployment",description:"Deploy Nexgent manually on a VPS or dedicated server"}}]},{kind:"Folder",name:"technical",route:"/trading-engine/technical",children:[{kind:"Meta",data:{architecture:"Architecture",backend:"Backend",frontend:"Frontend",shared:"Shared Package",database:"Database","caching-performance":"Caching & Performance",integrations:"Integrations",configuration:"Configuration"}},{kind:"Folder",name:"architecture",route:"/trading-engine/technical/architecture",children:[{kind:"Meta",data:{overview:"Overview",monorepo:"Monorepo Structure","tech-stack":"Technology Stack","data-flow":"Data Flow"}},{kind:"MdxPage",name:"data-flow",route:"/trading-engine/technical/architecture/data-flow",frontMatter:{title:"Data Flow",description:"How data flows through the Nexgent trading engine"}},{kind:"MdxPage",name:"monorepo",route:"/trading-engine/technical/architecture/monorepo",frontMatter:{title:"Monorepo Structure",description:"Package organization and directory structure of the Nexgent trading engine"}},{kind:"MdxPage",name:"overview",route:"/trading-engine/technical/architecture/overview",frontMatter:{title:"Architecture Overview",description:"High-level technical architecture of the Nexgent trading engine"}},{kind:"MdxPage",name:"tech-stack",route:"/trading-engine/technical/architecture/tech-stack",frontMatter:{title:"Technology Stack",description:"Technologies and frameworks used in the Nexgent trading engine"}}]},{kind:"Folder",name:"backend",route:"/trading-engine/technical/backend",children:[{kind:"Meta",data:{"layered-architecture":"Layered Architecture","domain-services":"Domain Services",infrastructure:"Infrastructure","api-layer-middleware":"API Layer & Middleware","authentication-authorization":"Authentication & Authorization"}},{kind:"MdxPage",name:"api-layer-middleware",route:"/trading-engine/technical/backend/api-layer-middleware",frontMatter:{title:"API Layer & Middleware",description:"REST API routes and Express middleware"}},{kind:"MdxPage",name:"authentication-authorization",route:"/trading-engine/technical/backend/authentication-authorization",frontMatter:{title:"Authentication & Authorization",description:"JWT and API key authentication in Nexgent"}},{kind:"MdxPage",name:"domain-services",route:"/trading-engine/technical/backend/domain-services",frontMatter:{title:"Domain Services",description:"Business logic services in the Nexgent trading engine"}}
1,{kind:"Folder",name:"infrastructure",route:"/trading-engine/technical/backend/infrastructure",children:[{kind:"Meta",data:{database:"Database (Prisma)",caching:"Caching (Redis)","job-queues":"Job Queues (BullMQ)","websocket-server":"WebSocket Server"}},{kind:"MdxPage",name:"caching",route:"/trading-engine/technical/backend/infrastructure/caching",frontMatter:{title:"Caching (Redis)",description:"Redis caching strategy and implementation"}},{kind:"MdxPage",name:"database",route:"/trading-engine/technical/backend/infrastructure/database",frontMatter:{title:"Database (Prisma)",description:"PostgreSQL database integration with Prisma ORM"}},{kind:"MdxPage",name:"job-queues",route:"/trading-engine/technical/backend/infrastructure/job-queues",frontMatter:{title:"Job Queues (BullMQ)",description:"Background job processing with BullMQ"}},{kind:"MdxPage",name:"websocket-server",route:"/trading-engine/technical/backend/infrastructure/websocket-server",frontMatter:{title:"WebSocket Server",description:"Real-time updates via WebSocket"}}]},{kind:"MdxPage",name:"layered-architecture",route:"/trading-engine/technical/backend/layered-architecture",frontMatter:{title:"Layered Architecture",description:"Domain-Driven Design inspired architecture of the Nexgent backend"}}]},{kind:"Folder",name:"caching-performance",route:"/trading-engine/technical/caching-performance",children:[{kind:"Meta",data:{"redis-patterns":"Redis Patterns","performance-optimization":"Performance Optimization"}},{kind:"MdxPage",name:"performance-optimization",route:"/trading-engine/technical/caching-performance/performance-optimization",frontMatter:{title:"Performance Optimization",description:"Ultra-low latency design patterns in Nexgent"}},{kind:"MdxPage",name:"redis-patterns",route:"/trading-engine/technical/caching-performance/redis-patterns",frontMatter:{title:"Redis Patterns",description:"Redis caching patterns and implementation details"}}]},{kind:"Folder",name:"configuration",route:"/trading-engine/technical/configuration",children:[{kind:"Meta",data:{"environment-variables":"Environment Variables","trading-config-defaults":"Trading Config Defaults"}},{kind:"MdxPage",name:"environment-variables",route:"/trading-engine/technical/configuration/environment-variables",frontMatter:{title:"Environment Variables",description:"Complete reference for all environment variables"}},{kind:"MdxPage",name:"trading-config-defaults",route:"/trading-engine/technical/configuration/trading-config-defaults",frontMatter:{title:"Trading Config Defaults",description:"Default trading configuration values for agents"}}]},{kind:"Folder",name:"database",route:"/trading-engine/technical/database",children:[{kind:"Meta",data:{"schema-erd":"Schema & ERD",tables:"Tables Reference",migrations:"Migrations"}},{kind:"MdxPage",name:"migrations",route:"/trading-engine/technical/database/migrations",frontMatter:{title:"Migrations",description:"Database migration workflow with Prisma"}},{kind:"MdxPage",name:"schema-erd",route:"/trading-engine/technical/database/schema-erd",frontMatter:{title:"Schema & ERD",description:"Database schema overview and entity relationship diagram"}},{kind:"MdxPage",name:"tables",route:"/trading-engine/technical/database/tables",frontMatter:{title:"Tables Reference",description:"Complete reference for all database tables"}}]},{kind:"Folder",name:"frontend",route:"/trading-engine/technical/frontend",children:[{kind:"Meta",data:{"app-router-structure":"App Router Structure","feature-organization":"Feature Organization","state-management":"State Management","component-patterns":"Component Patterns"}},{kind:"MdxPage",name:"app-router-structure",route:"/trading-engine/technical/frontend/app-router-structure",frontMatter:{title:"App Router Structure",description:"Next.js 15 App Router configuration and routing"}},{kind:"MdxPage",name:"component-patterns",route:"/trading-engine/technical/frontend/component-patterns",frontMatter:{title:"Component Patterns",description:"UI component patterns and shadcn/ui usage in Nexgent"}},{kind:"MdxPage",name:"feature-organization",route:"/trading-engine/technical/frontend/feature-organization",frontMatter:{title:"Feature Organization",description:"Feature-based code organization in the Nexgent frontend"}},{kind:"MdxPage",name:"state-management",route:"/trading-engine/technical/frontend/state-management",frontMatter:{title:"State Management",description:"React Query, Context, and WebSocket state in the Nexgent frontend"}}]},{kind:"Folder",name:"integrations",route:"/trading-engine/technical/integrations",children:[{kind:"Meta",data:{jupiter:"Jupiter Aggregator",pyth:"Pyth Network",dexscreener:"DexScreener","solana-web3":"Solana Web3.js"}},{kind:"MdxPage",name:"dexscreener",route:"/trading-engine/technical/integrations/dexscreener",frontMatter:{title:"DexScreener",description:"DexScreener integration for token price feeds and liquidity data"}},{kind:"MdxPage",name:"jupiter",route:"/trading-engine/technical/integrations/jupiter",frontMatter:{title:"Jupiter Aggregator",description:"Jupiter DEX aggregator integration for swaps and prices"}},{kind:"MdxPage",name:"pyth",route:"/trading-engine/technical/integrations/pyth",frontMatter:{title:"Pyth Network",description:"Pyth Network integration for SOL/USD price oracle"}},{kind:"MdxPage",name:"solana-web3",route:"/trading-engine/technical/integrations/solana-web3",frontMatter:{title:"Solana Web3.js",description:"Solana Web3.js integration for blockchain interaction"}}]},{kind:"MdxPage",name:"shared",route:"/trading-engine/technical/shared",frontMatter:{title:"Shared Package",description:"Types, validators, and utilities in nexgent-open-source-trading-engine/shared"}}]}]}],flexsearch:{codeblocks:!0},title:"Core Concepts Overview",headings:l}
1,pageNextRoute:"/trading-engine/getting-started/core-concepts/overview",nextraLayout:a.ZP,themeConfig:o.Z};t.default=(0,r.j)(g)},96735:function(e,t,n){"use strict";var i=n(52676);n(75271);var r=n(49290),a=n.n(r);let o={logo:(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[(0,i.jsx)(a(),{src:"/icon-logo.png",alt:"Nexgent Logo",width:24,height:24}),(0,i.jsx)("span",{children:"Nexgent Documentation"})]}),project:{link:"https://github.com/nexgent-ai-org/nexgent-open-source-trading-engine",icon:(0,i.jsx)(()=>(0,i.jsx)("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"currentColor",children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})}),{})},chat:{link:"https://x.com/nexgentai",icon:(0,i.jsx)(()=>(0,i.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor",children:(0,i.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),{})},docsRepositoryBase:"https://github.com/nexgent-ai-org/nexgent-open-source-trading-engine/tree/main/documentation",useNextSeoProps:()=>({titleTemplate:"%s â Nexgent Docs"}),head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{property:"og:site_name",content:"Nexgent Documentation"}),(0,i.jsx)("meta",{property:"og:type",content:"website"}),(0,i.jsx)("meta",{property:"og:title",content:"Nexgent Documentation"}),(0,i.jsx)("meta",{property:"og:description",content:"Open-source Solana AI agent trading automation framework"}),(0,i.jsx)("meta",{property:"og:url",content:"https://docs.nexgent.ai"}),(0,i.jsx)("meta",{property:"og:image",content:"https://docs.nexgent.ai/images/og-image.png"}),(0,i.jsx)("meta",{property:"og:image:width",content:"1200"}),(0,i.jsx)("meta",{property:"og:image:height",content:"630"}),(0,i.jsx)("meta",{property:"og:image:alt",content:"Nexgent Documentation"}),(0,i.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,i.jsx)("meta",{name:"twitter:site",content:"@nexgentai"}),(0,i.jsx)("meta",{name:"twitter:title",content:"Nexgent Documentation"}),(0,i.jsx)("meta",{name:"twitter:description",content:"Open-source Solana AI agent trading automation framework"}),(0,i.jsx)("meta",{name:"twitter:image",content:"https://docs.nexgent.ai/images/og-image.png"}),(0,i.jsx)("meta",{name:"twitter:image:alt",content:"Nexgent Documentation"})]}),primaryHue:212,sidebar:{defaultMenuCollapseLevel:1,toggleButton:!0},toc:{backToTop:!0},navigation:{prev:!0,next:!0},search:{placeholder:"Search documentation..."},feedback:{content:null},editLink:{component:null},footer:{text:"\xa9 ".concat(new Date().getFullYear()," Nexgent AI. Built with Nextra.")}};t.Z=o},45184:function(){}},function(e){e.O(0,[6e3,6225,2744,2888,9774,179],function(){return e(e.s=88917)}),_N_E=e.O()}]);
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.