How Volmarket’s volume signal is calculated from TxLINE’s demargined odds and on-chain stake, and how each layer is verified.
A signal has two layers. They are obtained differently, verified differently, and — critically — only one of them can settle a market.
The line: implied probability
The line comes from TxLINE’s StablePrice feed: demargined consensus odds, so the percentage reads as a true probability rather than a bookmaker’s marked-up price.Each odds update is an Odds record:
The implied probability for an outcome is its Pct[] entry — a 3-decimal percent string (for example "39.432"), positionally parallel to PriceNames[]. That is the value that settles markets.On-chain, it is scaled to an integer as round(Pct × 1000), so "39.432" becomes 39432.
The settling value is not taken from Prices[]. That array holds decimal odds × 1000, which is a different quantity on a different scale. Reading the wrong array produces a plausible-looking number that settles markets incorrectly.
Every update is committed into a batch whose Merkle root is anchored on Solana.
The volume: support and resistance
The volume layer comes from Volmarket’s own escrow — aggregate stake-by-level, held as publicly readable on-chain state.Volume only informs; it never settles. It shapes the displayed profile and suggests where a level sits, but no outcome is ever decided by internal stake.This separation is what makes the market non-manipulable. Manufacturing internal volume moves the picture, not the payout.
The level that settles
The level L is snapped from TxLINE’s anchored StablePrice at market open:
support = current − δ
resistance = current + δ
Because the level derives from public anchored odds rather than user stake, no participant can manufacture the level they are predicting against.
Verification
An odds update is provable via its Merkle proof — a two-stage subTreeProof plus mainTreeProof. You reconstruct the root and compare it against the on-chain root through TxLINE’s validate_odds instruction.This is not theoretical. The CPI is deployed and verified on devnet; see Settlement and proof verification for the transaction and how to reproduce it.Because the profile is a pure function of public, anchored data, anyone can recompute it identically.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Volmarket","description":"A non-custodial Solana protocol for predicting the volume signal on a live match's odds, settled against TxLINE's on-chain odds proofs.","colors":{"primary":"#9341ff","light":"#9341ff","dark":"#9341ff"},"logo":{"light":"https://mintcdn.com/volmarket/aZ_OK119cKEyq8Bj/logo.png?fit=max\u0026auto=format\u0026n=aZ_OK119cKEyq8Bj\u0026q=85\u0026s=529ae3f5fa707e43036f0d1ada39e621","dark":"https://mintcdn.com/volmarket/aZ_OK119cKEyq8Bj/logo.png?fit=max\u0026auto=format\u0026n=aZ_OK119cKEyq8Bj\u0026q=85\u0026s=529ae3f5fa707e43036f0d1ada39e621","href":"https://volmarket.xyz"},"favicon":"https://mintcdn.com/volmarket/ZLUc95SiWNuKbzBR/favicon.png?fit=max\u0026auto=format\u0026n=ZLUc95SiWNuKbzBR\u0026q=85\u0026s=66e0fea83d0de8c1b47f97e36c410e63","background":{"color":{"light":"#fbfbfb","dark":"#1B1B1B"}},"navbar":{"links":[{"href":"https://github.com/Ifezko/volmarket","label":"GitHub"}],"primary":{"type":"button","label":"Open app","href":"https://volmarket.xyz"}},"footer":{"socials":{"website":"https://volmarket.xyz","github":"https://github.com/Ifezko/volmarket","x":"https://x.com/volmarketxyz"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"volmarket","hasAudioNarration":false,"actualSubdomain":"volmarket","customDomains":["docs.volmarket.xyz"],"gitSource":{"type":"github","owner":"ifezko","repo":"volmarket","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae95c72bb9827c4f400a3c5:success","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Documentation","count":6},{"language":"default","tag":"Overview","count":2},{"language":"default","tag":"Operations","count":2},{"language":"default","tag":"Protocol","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"signals","slug":"/signals","pageMetadata":{"title":"How signals work","description":"How Volmarket's volume signal is calculated from TxLINE's demargined odds and on-chain stake, and how each layer is verified.","href":"/signals"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How Volmarket’s volume signal is calculated from TxLINE’s demargined odds and on-chain stake, and how each layer is verified.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`A signal has two layers. They are obtained differently, verified differently, and — critically — only one of them can settle a market.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-line-implied-probability`,children:`The line: implied probability`}),`\n`,_jsxs(_components.p,{children:[`The line comes from TxLINE’s `,_jsx(_components.strong,{children:`StablePrice`}),` feed: demargined consensus odds, so the percentage reads as a true probability rather than a bookmaker’s marked-up price.`]}),`\n`,_jsxs(_components.p,{children:[`Each odds update is an `,_jsx(_components.code,{children:`Odds`}),` record:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`FixtureId · MessageId · Ts · SuperOddsType · MarketParameters`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`PriceNames[] · Prices[] · Pct[] · InRunning`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`The implied probability for an outcome is its `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`Pct[]`})}),` entry — a 3-decimal percent string (for example `,_jsx(_components.code,{children:`\"39.432\"`}),`), positionally parallel to `,_jsx(_components.code,{children:`PriceNames[]`}),`. That is the value that settles markets.`]}),`\n`,_jsxs(_components.p,{children:[`On-chain, it is scaled to an integer as `,_jsx(_components.code,{children:`round(Pct × 1000)`}),`, so `,_jsx(_components.code,{children:`\"39.432\"`}),` becomes `,_jsx(_components.code,{children:`39432`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The settling value is `,_jsx(_components.strong,{children:`not`}),` taken from `,_jsx(_components.code,{children:`Prices[]`}),`. That array holds decimal odds × 1000, which is a different quantity on a different scale. Reading the wrong array produces a plausible-looking number that settles markets incorrectly.`]})}),`\n`,_jsx(_components.p,{children:`Every update is committed into a batch whose Merkle root is anchored on Solana.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-volume-support-and-resistance`,children:`The volume: support and resistance`}),`\n`,_jsx(_components.p,{children:`The volume layer comes from Volmarket’s own escrow — aggregate stake-by-level, held as publicly readable on-chain state.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Volume only informs; it never settles.`}),` It shapes the displayed profile and suggests where a level sits, but no outcome is ever decided by internal stake.`]}),`\n`,_jsx(_components.p,{children:`This separation is what makes the market non-manipulable. Manufacturing internal volume moves the picture, not the payout.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-level-that-settles`,children:`The level that settles`}),`\n`,_jsxs(_components.p,{children:[`The level `,_jsx(_components.code,{children:`L`}),` is snapped from TxLINE’s anchored StablePrice at market open:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`support`}),` = current − δ`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`resistance`}),` = current + δ`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Because the level derives from public anchored odds rather than user stake, no participant can manufacture the level they are predicting against.`}),`\n`,_jsx(Heading,{level:`2`,id:`verification`,children:`Verification`}),`\n`,_jsxs(_components.p,{children:[`An odds update is provable via its Merkle proof — a two-stage `,_jsx(_components.code,{children:`subTreeProof`}),` plus `,_jsx(_components.code,{children:`mainTreeProof`}),`. You reconstruct the root and compare it against the on-chain root through TxLINE’s `,_jsx(_components.code,{children:`validate_odds`}),` instruction.`]}),`\n`,_jsxs(_components.p,{children:[`This is not theoretical. The CPI is deployed and verified on devnet; see `,_jsx(_components.a,{href:`/settlement#the-real-txline-cpi`,children:`Settlement and proof verification`}),` for the transaction and how to reproduce it.`]}),`\n`,_jsx(_components.p,{children:`Because the profile is a pure function of public, anchored data, anyone can recompute it identically.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How signals work","description":"How Volmarket's volume signal is calculated from TxLINE's demargined odds and on-chain stake, and how each layer is verified.","href":"/signals"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The line: implied probability","slug":"the-line-implied-probability","depth":2,"children":[]},{"title":"The volume: support and resistance","slug":"the-volume-support-and-resistance","depth":2,"children":[]},{"title":"The level that settles","slug":"the-level-that-settles","depth":2,"children":[]},{"title":"Verification","slug":"verification","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"volmarket","siteName":"Volmarket","title":"How signals work - Volmarket","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-20T10:39:25.733Z","originalFileLocation":"signals.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How Volmarket\u0026#x27;s volume signal is calculated from TxLINE\u0026#x27;s demargined odds and on-chain stake, and how each layer is verified.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Volmarket\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How signals work - Volmarket\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Volmarket\u0026#x27;s volume signal is calculated from TxLINE\u0026#x27;s demargined odds and on-chain stake, and how each layer is verified.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Volmarket\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.volmarket.xyz/signals\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://volmarket.mintlify.site/_mintlify/api/og/v2?division=Protocol\u0026amp;title=How+signals+work\u0026amp;description=How+Volmarket%27s+volume+signal+is+calculated+from+TxLINE%27s+demargined+odds+and+on-chain+stake%2C+and+how+each+layer+is+verified.\u0026amp;theme=91493b9ec1403987a2cc9d3b\u0026amp;signature=81c60dba19745341debd739b1a69c5223106f80045b74aa921d0ce4e85ea23cf\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How signals work - Volmarket\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Volmarket\u0026#x27;s volume signal is calculated from TxLINE\u0026#x27;s demargined odds and on-chain stake, and how each layer is verified.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://volmarket.mintlify.site/_mintlify/api/og/v2?division=Protocol\u0026amp;title=How+signals+work\u0026amp;description=How+Volmarket%27s+volume+signal+is+calculated+from+TxLINE%27s+demargined+odds+and+on-chain+stake%2C+and+how+each+layer+is+verified.\u0026amp;theme=91493b9ec1403987a2cc9d3b\u0026amp;signature=81c60dba19745341debd739b1a69c5223106f80045b74aa921d0ce4e85ea23cf\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/volmarket/HRooUJO8xskM_7Lm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Volmarket\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9341ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.volmarket.xyz/signals\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/signals.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.volmarket.xyz/#organization\",\"name\":\"Volmarket\",\"url\":\"https://docs.volmarket.xyz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/volmarket/aZ_OK119cKEyq8Bj/logo.png?fit=max\u0026auto=format\u0026n=aZ_OK119cKEyq8Bj\u0026q=85\u0026s=529ae3f5fa707e43036f0d1ada39e621\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.volmarket.xyz#website\",\"name\":\"Volmarket\",\"url\":\"https://docs.volmarket.xyz\",\"publisher\":{\"@id\":\"https://docs.volmarket.xyz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.volmarket.xyz/signals#webpage\",\"url\":\"https://docs.volmarket.xyz/signals\",\"name\":\"How signals work\",\"description\":\"How Volmarket's volume signal is calculated from TxLINE's demargined odds and on-chain stake, and how each layer is verified.\",\"dateModified\":\"2026-07-20T10:39:25.733Z\",\"isPartOf\":{\"@id\":\"https://docs.volmarket.xyz#website\"},\"breadcrumb\":{\"@id\":\"https://docs.volmarket.xyz/signals#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.volmarket.xyz/signals#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Volmarket\",\"item\":\"https://docs.volmarket.xyz\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How signals work\",\"item\":\"https://docs.volmarket.xyz/signals\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.volmarket.xyz/signals#article\",\"headline\":\"How signals work\",\"name\":\"How signals work\",\"description\":\"How Volmarket's volume signal is calculated from TxLINE's demargined odds and on-chain stake, and how each layer is verified.\",\"url\":\"https://docs.volmarket.xyz/signals\",\"mainEntityOfPage\":{\"@id\":\"https://docs.volmarket.xyz/signals#webpage\"},\"dateModified\":\"2026-07-20T10:39:25.733Z\",\"publisher\":{\"@id\":\"https://docs.volmarket.xyz/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.volmarket.xyz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Volmarket\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Volmarket\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/signals.md","siteName":"Volmarket","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Architecture","description":"The Anchor program, the keeper service, the frontend, and how they connect.","href":"/architecture"}]},{"group":"Protocol","pages":[{"title":"How signals work","href":"/signals"},{"title":"Settlement and proof verification","description":"Volmarket's single-proof settlement design, the real TxLINE validate_odds CPI, epoch timing, and the settlement receipts that let you verify an outcome yourself.","href":"/settlement"}]},{"group":"Operations","pages":[{"title":"TxLINE integration","href":"/txline-integration"},{"title":"Deployment","href":"/deployment"}]}]}]},"basePath":"","title":"How signals work - Volmarket","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}