The caller's RFQ collateral, as the vault-watcher last projected it
Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty rows array means exactly that: a real zero, not an error and not an outage. free_balance and locked_total are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (after returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user’s money is without an RPC round trip, and it lags the chain by the vault-watcher’s projection delay.
GET
/
query
/
vault-subaccount
The caller's RFQ collateral, as the vault-watcher last projected it
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Joyride Docs","description":"Daily crypto options on Solana: market making, trading, and API integration.","colors":{"primary":"#3C52FF","light":"#3C52FF","dark":"#3C52FF"},"logo":{"light":"https://mintcdn.com/joyride/NC5bVBvD2tWYUMNe/images/joyride-logo-black.svg?fit=max\u0026auto=format\u0026n=NC5bVBvD2tWYUMNe\u0026q=85\u0026s=56f0278cb0f4e2b18c213a18498f5ed5","dark":"https://mintcdn.com/joyride/NC5bVBvD2tWYUMNe/images/joyride-logo-white.svg?fit=max\u0026auto=format\u0026n=NC5bVBvD2tWYUMNe\u0026q=85\u0026s=32bd920198d90d939ba2959726214cdb","href":"https://joyride.exchange"},"favicon":"https://mintcdn.com/joyride/A0EvKSHHYdYlyFe9/favicon.svg?fit=max\u0026auto=format\u0026n=A0EvKSHHYdYlyFe9\u0026q=85\u0026s=87d9aa2c60c55c9de38b065ad4ae1356","appearance":{"default":"dark","strict":true},"background":{"color":{"light":"#04060A","dark":"#04060A"}},"navbar":{"primary":{"type":"button","label":"Launch App","href":"https://joyride.exchange/trade"}},"fonts":{"family":"IBM Plex Sans"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":"css-variables"},"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"joyride","hasAudioNarration":false,"actualSubdomain":"joyride","customDomains":["docs.joyride.exchange"],"gitSource":{"type":"github","owner":"joyrideexchange","repo":"joyride-monorepo","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3c1262042f5b403bf4f79","collectionId":"3326ae23-d4e5-4252-b114-4604fb4484d0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3c1262042f5b403bf4f79"},"entitlements":{},"buildId":"6ae3c1262042f5b403bf4f79","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Builders","count":32},{"language":"default","tag":"Market Makers","count":30},{"language":"default","tag":"WebSocket API","count":18},{"language":"default","tag":"Websockets","count":18},{"language":"default","tag":"Reference","count":14},{"language":"default","tag":"REST API","count":12},{"language":"default","tag":"Agents","count":10},{"language":"default","tag":"Trading","count":10},{"language":"default","tag":"Overview","count":7},{"language":"default","tag":"Joyride","count":7}]},"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":"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":"llms-txt-v2","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":"vite-origin","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":"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}],"googleFontsInlined":true},"customCss":[{"filePath":"instrument.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--jr-canvas: #04060a;--jr-panel: #0a0d14;--jr-well: #06080d;--jr-raised: #10141d;--jr-border: #161c28;--jr-divider: #171e2a;--jr-text: #f2f4f6;--jr-muted: #9aa6b9;--jr-quiet: #7e8ca2;--jr-readout: #74c0ff;--jr-signal: #3c52ff;--jr-signal-pressed: #2a38b0;--jr-selected: #12172b;--jr-lamp: #41ff41;--jr-danger: #ff6b60;--jr-warning: #ffd166;--jr-sans: \"IBM Plex Sans\", sans-serif;--jr-mono: \"IBM Plex Mono\", ui-monospace, monospace;--mint-color-text: #f2f4f6;--mint-color-background: transparent;--mint-token-constant: #f2f4f6;--mint-token-string: #74c0ff;--mint-token-comment: #7e8ca2;--mint-token-keyword: #6e7dd8;--mint-token-parameter: #f2f4f6;--mint-token-function: #f2f4f6;--mint-token-string-expression: #74c0ff;--mint-token-punctuation: #9aa6b9;--mint-token-link: #74c0ff;--mint-ansi-red: #9aa6b9;--mint-ansi-red-dim: #9aa6b9;--mint-ansi-green: #74c0ff;--mint-ansi-green-dim: #74c0ff;--mint-ansi-bright-red: #9aa6b9;--mint-ansi-bright-red-dim: #9aa6b9;--mint-ansi-bright-green: #74c0ff;--mint-ansi-bright-green-dim: #74c0ff}html,body,#body-content{background-color:var(--jr-canvas);background-image:radial-gradient(1100px 520px at 75% -12%, #0f1828 0%, var(--jr-canvas) 68%);background-attachment:fixed;color:var(--jr-text);font-family:var(--jr-sans)}h1,h2,h3,h4{font-family:var(--jr-sans);font-weight:600;letter-spacing:0}#header>.prose{display:none}#navbar,#navbar::before,#navbar::after,#navbar>div,#navbar>div::before,#navbar>div::after,#navbar .z-10.relative,#navbar .z-10.relative>div{background-color:#04060a!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}#navbar{border-bottom:1px solid var(--jr-divider)!important}#navbar>div{border-color:transparent!important}#navbar .nav-logo{height:26px!important;width:auto!important}#navbar .z-10.relative>div.hidden.lg\\:flex{height:56px!important;min-height:56px!important;padding-left:20px!important;padding-right:16px!important}#navbar .z-10.relative>div.hidden.lg\\:block,#navbar .z-10.relative>div.hidden.lg\\:block>div,#navbar .nav-tabs{background-color:#04060a!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}#navbar .z-10.relative>div.hidden.lg\\:block>div{height:44px!important;min-height:44px!important;padding-left:12px!important;padding-right:12px!important}#navbar .nav-tabs{align-items:center!important;height:36px!important;gap:2px!important}#navbar .nav-tabs-item{height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 12px!important;border-radius:4px!important;background:transparent!important;color:var(--jr-muted)!important;font-family:var(--jr-sans)!important;font-size:13px!important;font-weight:500!important;line-height:36px!important;letter-spacing:0!important;text-shadow:none!important;box-shadow:none!important}#navbar .nav-tabs-item>div{display:none!important}#navbar .nav-tabs-item:hover{background:var(--jr-raised)!important;color:var(--jr-muted)!important}#navbar .nav-tabs-item[aria-current=\"location\"]{background:var(--jr-selected)!important;color:var(--jr-text)!important}#search-bar-entry{height:28px!important;min-height:28px!important;max-height:28px!important;width:200px!important;max-width:200px!important;padding:0 10px!important;border-radius:4px!important;background:var(--jr-well)!important;border:1px solid #222a38!important;box-shadow:none!important;color:var(--jr-muted)!important;font-size:13px!important;font-weight:400!important}#search-bar-entry:hover{background:var(--jr-raised)!important}#search-bar-entry span{border-radius:4px!important;font-size:12px!important;box-shadow:none!important}#search-bar-entry span:last-child{background:var(--jr-raised)!important;color:var(--jr-quiet)!important}#topbar-cta-button,#navbar [data-component-name=\"primary-header-button\"]{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 14px!important;border:0!important;border-radius:4px!important;background:#3c52ff!important;background-image:none!important;color:#ffffff!important;font-family:var(--jr-sans)!important;font-size:13px!important;font-weight:500!important;line-height:32px!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:none!important;text-shadow:none!important;opacity:1!important}#topbar-cta-button:hover,#topbar-cta-button:active,#navbar [data-component-name=\"primary-header-button\"]:hover,#navbar [data-component-name=\"primary-header-button\"]:active{background:#2a38b0!important;color:#ffffff!important;opacity:1!important;box-shadow:none!important}#sidebar,#sidebar-content{background:transparent!important;border-right:1px solid var(--jr-divider)!important;box-shadow:none!important}#sidebar-content a,#sidebar-content li{border-radius:4px!important;min-height:36px!important;color:var(--jr-muted)!important;font-family:var(--jr-sans)!important;font-size:13px!important;font-weight:500!important;text-shadow:none!important;box-shadow:none!important}#sidebar-content a{align-items:center!important;padding:0 12px!important}#sidebar-content li:hover,#sidebar-content a:hover{background:var(--jr-raised)!important;color:var(--jr-muted)!important}#sidebar-content li[data-active],#sidebar-content li[data-active] a,#sidebar-content a[aria-current=\"page\"]{background:var(--jr-selected)!important;color:var(--jr-text)!important}#sidebar-content li[data-active]:hover,#sidebar-content li[data-active]:hover a,#sidebar-content a[aria-current=\"page\"]:hover{background:var(--jr-selected)!important;color:var(--jr-text)!important}#sidebar-content svg{color:var(--jr-quiet)!important}#sidebar-content li[data-active] svg,#sidebar-content a[aria-current=\"page\"] svg{color:var(--jr-signal)!important}@media (max-width: 767px){#navbar .z-10.relative>div.hidden.lg\\:flex{display:flex!important;height:48px!important;min-height:48px!important;padding-left:16px!important;padding-right:8px!important}#navbar .z-10.relative>div.flex.lg\\:hidden,#navbar .z-10.relative>div.lg\\:hidden{display:none!important}#navbar .z-10.relative>div.hidden.lg\\:block{display:block!important}#navbar .z-10.relative>div.hidden.lg\\:block>div{height:44px!important;padding-left:8px!important;padding-right:8px!important;overflow:hidden!important}#navbar .nav-tabs{overflow-x:auto!important;max-width:100%!important}#navbar .nav-tabs-item{flex:0 0 auto!important;white-space:nowrap!important}#search-bar-entry{width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;padding:0!important;justify-content:center!important;gap:0!important}#search-bar-entry span{display:none!important}#topbar-cta-button,#navbar [data-component-name=\"primary-header-button\"]{height:30px!important;min-height:30px!important;max-height:30px!important;line-height:28px!important;padding:0 14px!important}}#content-area a.link,.mdx-content p a,.mdx-content li a,.mdx-content td a{color:var(--jr-readout);text-underline-offset:3px}.code-block,.code-group{background:var(--jr-well)!important;border:1px solid var(--jr-border)!important;border-radius:4px!important;box-shadow:none!important;padding:0!important;overflow:hidden}.code-block *,.code-group *{border-radius:0!important}.code-block pre,.code-group pre{padding:16px!important}.code-block pre,.code-group pre,.code-block .shiki,.code-group .shiki,.code-block [class*=\"min-w-full\"],.code-group [class*=\"min-w-full\"]{background:transparent!important;background-color:transparent!important;box-shadow:none!important}.code-block,.code-group,.code-block pre,.code-group pre,.code-block code,.code-group code,.code-block .shiki,.code-group .shiki{font-family:var(--jr-mono)!important}.callout{background:var(--jr-panel)!important;border:1px solid var(--jr-border)!important;border-left:2px solid var(--jr-border)!important;border-radius:0!important;box-shadow:none!important}.callout[data-callout-type=\"note\"],.callout[data-callout-type=\"info\"],.callout[data-callout-type=\"tip\"]{border-left-color:var(--jr-readout)!important}.callout[data-callout-type=\"check\"]{border-left-color:var(--jr-muted)!important}.callout[data-callout-type=\"warning\"]{border-left-color:var(--jr-warning)!important}.callout[data-callout-type=\"danger\"]{border-left-color:var(--jr-danger)!important}.callout [data-component-part=\"callout-icon\"],.callout [data-component-part=\"callout-icon\"] svg{color:var(--jr-muted)!important}.callout[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"],.callout[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg,.callout[data-callout-type=\"info\"] [data-component-part=\"callout-icon\"],.callout[data-callout-type=\"info\"] [data-component-part=\"callout-icon\"] svg,.callout[data-callout-type=\"tip\"] [data-component-part=\"callout-icon\"],.callout[data-callout-type=\"tip\"] [data-component-part=\"callout-icon\"] svg{color:var(--jr-readout)!important}.callout[data-callout-type=\"check\"] [data-component-part=\"callout-icon\"],.callout[data-callout-type=\"check\"] [data-component-part=\"callout-icon\"] svg{color:var(--jr-muted)!important}.callout[data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"],.callout[data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg{color:var(--jr-warning)!important}.callout[data-callout-type=\"danger\"] [data-component-part=\"callout-icon\"],.callout[data-callout-type=\"danger\"] [data-component-part=\"callout-icon\"] svg{color:var(--jr-danger)!important}.callout [class*=\"rounded\"]{border-radius:0!important;box-shadow:none!important}:not(pre)>code{background:var(--jr-raised)!important;border:1px solid #222a38!important;border-radius:2px!important;font-family:var(--jr-mono)!important;font-size:0.9em!important;color:var(--jr-text)!important;padding:0.05em 0.35em}.code-block code,.code-group code,.shiki code{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;font-size:inherit!important;color:var(--mint-color-text, var(--jr-text))!important}.card,a.card{background:var(--jr-panel)!important;border:1px solid var(--jr-border)!important;border-radius:0!important;box-shadow:none!important}.card:hover,a.card:hover{background:var(--jr-raised)!important;border-color:#222a38!important}table th{font-family:var(--jr-sans);font-size:12px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:var(--jr-quiet);border-bottom:1px solid var(--jr-divider)}table td{font-family:var(--jr-mono);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--jr-divider)}.method-pill,.method-nav-pill,.method-pill span,.method-nav-pill span{background:var(--jr-raised)!important;color:var(--jr-text)!important;border:1px solid var(--jr-border)!important;border-radius:2px!important;box-shadow:none!important;font-family:var(--jr-mono)!important;font-weight:500!important}.tryit-button{background:transparent!important;color:var(--jr-text)!important;border:1px solid var(--jr-border)!important;border-radius:4px!important;box-shadow:none!important}nav.grid:has([data-component-part=\"pagination-prev\"]),nav.grid:has([data-component-part=\"pagination-next\"]){display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;align-items:stretch!important}[data-component-part=\"pagination-prev\"]{grid-column:1!important}[data-component-part=\"pagination-next\"]{grid-column:2!important}[data-component-part=\"pagination-prev\"],[data-component-part=\"pagination-next\"]{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;height:100%!important;min-height:72px!important;margin:0!important;padding:16px!important;border-radius:4px!important;background:var(--jr-panel)!important;border:1px solid var(--jr-border)!important;box-shadow:none!important;text-align:left!important;text-decoration:none!important}[data-component-part=\"pagination-prev\"]:hover,[data-component-part=\"pagination-next\"]:hover{background:var(--jr-raised)!important;border-color:var(--jr-border)!important;box-shadow:none!important}[data-component-part=\"pagination-prev\"]>div,[data-component-part=\"pagination-next\"]>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important;width:100%!important;min-width:0!important;margin:0!important;text-align:left!important}[data-component-part=\"pagination-prev\"]>div>div:not([data-component-part=\"pagination-title\"]),[data-component-part=\"pagination-next\"]>div>div:not([data-component-part=\"pagination-title\"]){display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:auto!important;max-width:100%!important;margin:0!important;order:1!important;color:var(--jr-muted)!important;font-family:var(--jr-sans)!important;font-size:12px!important;font-weight:500!important;line-height:16px!important;text-align:left!important}[data-component-part=\"pagination-prev\"] [data-component-part=\"pagination-title\"],[data-component-part=\"pagination-next\"] [data-component-part=\"pagination-title\"]{display:block!important;order:2!important;width:100%!important;color:var(--jr-text)!important;font-family:var(--jr-sans)!important;font-size:14px!important;font-weight:500!important;line-height:20px!important;text-align:left!important}[data-component-part=\"pagination-label\"],[data-component-part=\"pagination-chevron\"]{color:var(--jr-muted)!important}[data-component-part=\"pagination-chevron\"]{width:12px!important;height:12px!important;flex:0 0 12px!important}[data-component-part=\"pagination-next\"] [data-component-part=\"pagination-label\"]{order:1!important}[data-component-part=\"pagination-next\"] [data-component-part=\"pagination-chevron\"]{order:2!important}@media (max-width: 767px){nav.grid:has([data-component-part=\"pagination-prev\"]),nav.grid:has([data-component-part=\"pagination-next\"]){grid-template-columns:1fr!important}[data-component-part=\"pagination-prev\"],[data-component-part=\"pagination-next\"]{grid-column:1!important}}:focus-visible{outline:2px solid var(--jr-lamp);outline-offset:2px}"}],"page":{"pagePath":"api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it","slug":"/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it","pageMetadata":{"title":"The caller's RFQ collateral, as the vault-watcher last projected it","description":"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty `rows` array means exactly that: a real zero, not an error and not an outage. `free_balance` and `locked_total` are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (`after` returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user's money is without an RPC round trip, and it lags the chain by the vault-watcher's projection delay.","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /query/vault-subaccount","href":"/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty \", _jsx(_components.code, {\n children: \"rows\"\n }), \" array means exactly that: a real zero, not an error and not an outage. \", _jsx(_components.code, {\n children: \"free_balance\"\n }), \" and \", _jsx(_components.code, {\n children: \"locked_total\"\n }), \" are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (\", _jsx(_components.code, {\n children: \"after\"\n }), \" returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user’s money is without an RPC round trip, and it lags the chain by the vault-watcher’s projection delay.\"]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"The caller's RFQ collateral, as the vault-watcher last projected it","description":"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty `rows` array means exactly that: a real zero, not an error and not an outage. `free_balance` and `locked_total` are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (`after` returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user's money is without an RPC round trip, and it lags the chain by the vault-watcher's projection delay.","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /query/vault-subaccount","href":"/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Query"],"operationId":"listVaultSubaccount","summary":"The caller's RFQ collateral, as the vault-watcher last projected it","description":"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty `rows` array means exactly that: a real zero, not an error and not an outage. `free_balance` and `locked_total` are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (`after` returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user's money is without an RPC round trip, and it lags the chain by the vault-watcher's projection delay.","parameters":["9cf56573-8c36-4d1e-82f8-0e4395616ca4","4294be8b-8844-432f-822a-a26608401d1f"],"responses":{"200":"f5cb666c-ff4a-4a76-b78f-f0b69ea4b8c2","400":"bee4a799-e0fb-451a-a51f-cfc2171165f0","401":"fa0145e4-7851-49a0-8039-87076ac70f87"},"method":"get","type":"path","servers":["61145495-d965-4b95-a4eb-8ccd5abd20b9"],"security":["7a2d770d-7fb6-45f1-8f08-7b751cde5d86"],"path":"/query/vault-subaccount","baseUrlOptions":["https://joyride.exchange/api"],"title":"The caller's RFQ collateral, as the vault-watcher last projected it","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9cf56573-8c36-4d1e-82f8-0e4395616ca4":{"name":"account_id","in":"query","schema":{"type":"integer","minimum":0,"uniqueKey":"","typeLabel":"integer"}},"4294be8b-8844-432f-822a-a26608401d1f":{"name":"limit","in":"query","description":"Rows per page. Omitted or above 500, the server uses 500; a page shorter than `limit` does not mean the end, so page until `next_cursor` is absent.","schema":{"type":"integer","minimum":1,"maximum":500,"default":500,"description":"Rows per page. Omitted or above 500, the server uses 500; a page shorter than `limit` does not mean the end, so page until `next_cursor` is absent.","uniqueKey":"","typeLabel":"integer"}}},"responses":{"f5cb666c-ff4a-4a76-b78f-f0b69ea4b8c2":{"description":"Zero or one vault-subaccount row","content":{"application/json":{"schema":{"type":"object","required":["rows"],"properties":{"rows":{"type":"array","description":"Zero or one row for a user-scoped caller. An admin token without `account_id` is not narrowed, so it reads every subaccount up to the page limit.","items":{"type":"object","required":["account_id"],"properties":{"account_id":{"type":"integer","isRequired":true,"uniqueKey":"rows.items.[INDEX].account_id","typeLabel":"integer"},"subaccount":{"oneOf":[{"type":"string","description":"Hex-encoded subaccount address. Null on every row today: no projector write path populates the column.","uniqueKey":"rows.items.[INDEX].subaccount.oneOf.0","typeLabel":"string"},{"type":"null","description":"Hex-encoded subaccount address. Null on every row today: no projector write path populates the column.","uniqueKey":"rows.items.[INDEX].subaccount.oneOf.1","typeLabel":"null"}],"uniqueKey":"rows.items.[INDEX].subaccount","typeLabel":"string | null"},"free_balance":{"oneOf":[{"type":"string","description":"Collateral free to back a new fill, vault-decimal (6 dp), as finalized on chain. Null means not yet projected, which is UNKNOWN, not zero: a subaccount row can exist before its first balance effect. Open quote fills are not debited here until settlement, so this can read higher than the risk state does.","pattern":"^[0-9]+(\\.[0-9]{1,6})?$","uniqueKey":"rows.items.[INDEX].free_balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Collateral free to back a new fill, vault-decimal (6 dp), as finalized on chain. Null means not yet projected, which is UNKNOWN, not zero: a subaccount row can exist before its first balance effect. Open quote fills are not debited here until settlement, so this can read higher than the risk state does.","uniqueKey":"rows.items.[INDEX].free_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"rows.items.[INDEX].free_balance","typeLabel":"string | null"},"locked_total":{"oneOf":[{"type":"string","description":"Collateral locked under open positions, vault-decimal (6 dp).","pattern":"^[0-9]+(\\.[0-9]{1,6})?$","uniqueKey":"rows.items.[INDEX].locked_total.oneOf.0","typeLabel":"string"},{"type":"null","description":"Collateral locked under open positions, vault-decimal (6 dp).","uniqueKey":"rows.items.[INDEX].locked_total.oneOf.1","typeLabel":"null"}],"uniqueKey":"rows.items.[INDEX].locked_total","typeLabel":"string | null"},"max_locked_balance":{"oneOf":[{"type":"string","description":"The collateral ceiling stored on the subaccount by the last fill the account wrote, vault-decimal (6 dp); the largest total lock a later fill or standalone lock may reach. Null before the first such fill.","pattern":"^[0-9]+(\\.[0-9]{1,6})?$","uniqueKey":"rows.items.[INDEX].max_locked_balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"The collateral ceiling stored on the subaccount by the last fill the account wrote, vault-decimal (6 dp); the largest total lock a later fill or standalone lock may reach. Null before the first such fill.","uniqueKey":"rows.items.[INDEX].max_locked_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"rows.items.[INDEX].max_locked_balance","typeLabel":"string | null"},"open_position_counter":{"oneOf":[{"type":"string","uniqueKey":"rows.items.[INDEX].open_position_counter.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"rows.items.[INDEX].open_position_counter.oneOf.1","typeLabel":"null"}],"uniqueKey":"rows.items.[INDEX].open_position_counter","typeLabel":"string | null"},"finalized_slot":{"oneOf":[{"type":"integer","uniqueKey":"rows.items.[INDEX].finalized_slot.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"rows.items.[INDEX].finalized_slot.oneOf.1","typeLabel":"null"}],"uniqueKey":"rows.items.[INDEX].finalized_slot","typeLabel":"integer | null"}},"uniqueKey":"rows.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"rows","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"rows":[{"account_id":123,"subaccount":"\u003cstring>","free_balance":"\u003cstring>","locked_total":"\u003cstring>","max_locked_balance":"\u003cstring>","open_position_counter":"\u003cstring>","finalized_slot":123}]}}},"exampleType":"generated"}},"exampleType":"generated"},"bee4a799-e0fb-451a-a51f-cfc2171165f0":{"description":"Query API error response","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"fa0145e4-7851-49a0-8039-87076ac70f87":{"description":"Missing, expired or invalid bearer token. The body is the plain text `unauthorized`, not JSON.","content":{"text/plain":{"schema":{"type":"string","const":"unauthorized","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"unauthorized"}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7a2d770d-7fb6-45f1-8f08-7b751cde5d86":{"bearerAuth":{"type":"http","scheme":"bearer","description":"SIWS-issued JWT. Admin commands require the `admin` role, `admin:*`, or the exact `admin:\u003ctype>` scope; admin reads use their documented read scope.","scopes":[]}}},"servers":{"61145495-d965-4b95-a4eb-8ccd5abd20b9":{"url":"https://joyride.exchange/api","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"SIWS-issued JWT. Admin commands require the `admin` role, `admin:*`, or the exact `admin:\u003ctype>` scope; admin reads use their documented read scope.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"SIWS-issued JWT. Admin commands require the `admin` role, `admin:*`, or the exact `admin:\u003ctype>` scope; admin reads use their documented read scope.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"_generated/openapi.yaml"},"subdomain":"joyride","siteName":"Joyride Docs","title":"The caller's RFQ collateral, as the vault-watcher last projected it - Joyride Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-05T15:22:22.136Z","originalFileLocation":"api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";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=\"dark\"}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=\"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty rows array means exactly that: a real zero, not an error and not an outage. free_balance and locked_total are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (after returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user\u0026#x27;s money is without an RPC round trip, and it lags the chain by the vault-watcher\u0026#x27;s projection delay.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Joyride Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_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/joyride/I7NWbPwL8IHfTijF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"The caller\u0026#x27;s RFQ collateral, as the vault-watcher last projected it - Joyride Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty rows array means exactly that: a real zero, not an error and not an outage. free_balance and locked_total are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (after returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user\u0026#x27;s money is without an RPC round trip, and it lags the chain by the vault-watcher\u0026#x27;s projection delay.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Joyride Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://joyride.mintlify.app/_mintlify/api/og/v2?division=Query\u0026amp;title=The+caller%27s+RFQ+collateral%2C+as+the+vault-watcher+last+projected+it\u0026amp;description=Zero+or+one+row.+A+wallet+that+has+never+funded+the+RFQ+side+has+no+subaccount%2C+and+an+empty+%60rows%60+array+means+exactly+that%3A+a+real+zero%2C+not+an+error+and+not+\u0026amp;theme=8f3206837b80aac3ed0fdf95\u0026amp;signature=2305d5d021b06e5a4a437a43ba971cbf61a6a091625247de310c03647c1d7133\">\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=\"The caller\u0026#x27;s RFQ collateral, as the vault-watcher last projected it - Joyride Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty rows array means exactly that: a real zero, not an error and not an outage. free_balance and locked_total are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (after returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user\u0026#x27;s money is without an RPC round trip, and it lags the chain by the vault-watcher\u0026#x27;s projection delay.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://joyride.mintlify.app/_mintlify/api/og/v2?division=Query\u0026amp;title=The+caller%27s+RFQ+collateral%2C+as+the+vault-watcher+last+projected+it\u0026amp;description=Zero+or+one+row.+A+wallet+that+has+never+funded+the+RFQ+side+has+no+subaccount%2C+and+an+empty+%60rows%60+array+means+exactly+that%3A+a+real+zero%2C+not+an+error+and+not+\u0026amp;theme=8f3206837b80aac3ed0fdf95\u0026amp;signature=2305d5d021b06e5a4a437a43ba971cbf61a6a091625247de310c03647c1d7133\">\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/joyride/I7NWbPwL8IHfTijF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Joyride Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3C52FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.joyride.exchange/#organization\",\"name\":\"Joyride Docs\",\"url\":\"https://docs.joyride.exchange\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/joyride/NC5bVBvD2tWYUMNe/images/joyride-logo-black.svg?fit=max\u0026auto=format\u0026n=NC5bVBvD2tWYUMNe\u0026q=85\u0026s=56f0278cb0f4e2b18c213a18498f5ed5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.joyride.exchange#website\",\"name\":\"Joyride Docs\",\"url\":\"https://docs.joyride.exchange\",\"publisher\":{\"@id\":\"https://docs.joyride.exchange/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it#webpage\",\"url\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it\",\"name\":\"The caller's RFQ collateral, as the vault-watcher last projected it\",\"description\":\"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty rows array means exactly that: a real zero, not an error and not an outage. free_balance and locked_total are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (after returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user's money is without an RPC round trip, and it lags the chain by the vault-watcher's projection delay.\",\"dateModified\":\"2026-10-05T15:22:22.136Z\",\"isPartOf\":{\"@id\":\"https://docs.joyride.exchange#website\"},\"breadcrumb\":{\"@id\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST API\",\"item\":\"https://docs.joyride.exchange/api-reference/public/health-check\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The caller's RFQ collateral, as the vault-watcher last projected it\",\"item\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it#apireference\",\"headline\":\"The caller's RFQ collateral, as the vault-watcher last projected it\",\"name\":\"The caller's RFQ collateral, as the vault-watcher last projected it\",\"description\":\"Zero or one row. A wallet that has never funded the RFQ side has no subaccount, and an empty rows array means exactly that: a real zero, not an error and not an outage. free_balance and locked_total are NULLABLE: a subaccount row can exist before its first projected balance, and a null there means UNKNOWN, never zero. Cursor pagination is not supported on this endpoint (after returns 400). The app reads the same account straight off the chain; this projection exists so a server-side consumer can see where a user's money is without an RPC round trip, and it lags the chain by the vault-watcher's projection delay.\",\"url\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it\",\"mainEntityOfPage\":{\"@id\":\"https://docs.joyride.exchange/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it#webpage\"},\"dateModified\":\"2026-10-05T15:22:22.136Z\",\"publisher\":{\"@id\":\"https://docs.joyride.exchange/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.joyride.exchange#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Joyride Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Joyride Docs","nav":{"global":null,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":""}]},{"tab":"Trading","pages":[{"title":"Trading","href":"/exchange/trading"}]},{"tab":"Market Makers","pages":[{"title":"Market Makers","href":"/market-makers/overview"}]},{"tab":"Builders","groups":[{"group":"Builders","pages":[{"title":"Integration guide","href":"/getting-started"}]},{"group":"REST API","pages":[{"group":"Public","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /health","href":"/api-reference/public/health-check"},{"title":"Get public market configuration","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/market/config","href":"/api-reference/public/get-public-market-configuration"},{"title":"List public instrument metadata","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/market/instruments","href":"/api-reference/public/list-public-instrument-metadata"},{"title":"List available implied volatilities for open instruments","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/market/quotes","href":"/api-reference/public/list-available-implied-volatilities-for-open-instruments"},{"title":"Get the current implied volatility for an instrument","description":"Returns the latest validated BlockScholes mark IV for an open instrument. Quotes at least two minutes old are unavailable. This display-data window does not change the five-second trading risk gate.","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/market/quotes/{symbol}","href":"/api-reference/public/get-the-current-implied-volatility-for-an-instrument"}]},{"group":"Query","pages":[{"title":"The caller's RFQ collateral, as the vault-watcher last projected it","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /query/vault-subaccount","href":"/api-reference/query/the-callers-rfq-collateral-as-the-vault-watcher-last-projected-it"},{"title":"Net RFQ contracts per instrument for the authenticated account","description":"One row per (account, instrument) with a non-zero net position folded from RFQ strategy fills; long is positive. Legs of a package fold into their own instruments, so a filled straddle is two rows. Rows carry the instrument's `expiry` (unix seconds) and `settled`; `status` selects `open` (default, the instrument has not settled), `settled`, or `all`. A reverted fill unwinds its rows. Cursor pagination is not supported (`after` returns 400). This is the RFQ analogue of `/api/query/positions`, which lists central-limit-order-book positions only.","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /query/rfq-positions","href":"/api-reference/query/net-rfq-contracts-per-instrument-for-the-authenticated-account"},{"title":"List RFQ fill history for the authenticated maker or taker","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /query/rfq-fills","href":"/api-reference/query/list-rfq-fill-history-for-the-authenticated-maker-or-taker"}]},{"group":"Account","pages":[{"title":"List deposit history","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/deposits","href":"/api-reference/account/list-deposit-history"},{"title":"Ensure the caller's RFQ subaccount exists (Joyride pays the rent once)","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml post /v1/rfq/subaccount","href":"/api-reference/account/ensure-the-callers-rfq-subaccount-exists-joyride-pays-the-rent-once"}]},{"group":"Withdrawals","pages":[{"title":"List withdrawal history","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/withdrawals","href":"/api-reference/withdrawals/list-withdrawal-history"}]},{"group":"Market Data","pages":[{"title":"Get greeks, model price, and probability of profit","deprecated":null,"version":null,"openapi":"/_generated/openapi.yaml get /v1/greeks","href":"/api-reference/market-data/get-greeks-model-price-and-probability-of-profit"}]}]},{"group":"WebSocket API","pages":[{"group":"Websockets","pages":[{"asyncapi":"_generated/asyncapi.yaml public.get_nonce","href":"/api-reference/websockets/publicget_nonce","title":"public/get_nonce","version":null},{"asyncapi":"_generated/asyncapi.yaml public.auth","href":"/api-reference/websockets/publicauth","title":"public/auth","version":null},{"asyncapi":"_generated/asyncapi.yaml public.session_resume","href":"/api-reference/websockets/publicsession_resume","title":"public/session_resume","version":null},{"asyncapi":"_generated/asyncapi.yaml public.get_market_config","href":"/api-reference/websockets/publicget_market_config","title":"public/get_market_config","version":null},{"asyncapi":"_generated/asyncapi.yaml public.get_instruments","href":"/api-reference/websockets/publicget_instruments","title":"public/get_instruments","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.create","href":"/api-reference/websockets/rfqcreate","title":"Rfq.create","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.accept","href":"/api-reference/websockets/rfqaccept","title":"Rfq.accept","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.get","href":"/api-reference/websockets/rfqget","title":"Rfq.get","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.list","href":"/api-reference/websockets/rfqlist","title":"Rfq.list","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.subscribe","href":"/api-reference/websockets/rfqsubscribe","title":"Rfq.subscribe","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.maker.subscribe","href":"/api-reference/websockets/rfqmakersubscribe","title":"Rfq.maker.subscribe","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.maker.poll","href":"/api-reference/websockets/rfqmakerpoll","title":"Rfq.maker.poll","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.maker.respond","href":"/api-reference/websockets/rfqmakerrespond","title":"Rfq.maker.respond","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq.maker.decline","href":"/api-reference/websockets/rfqmakerdecline","title":"Rfq.maker.decline","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq","href":"/api-reference/websockets/rfq-channel-pushes","title":"rfq channel (pushes)","version":null},{"asyncapi":"_generated/asyncapi.yaml rfq_maker","href":"/api-reference/websockets/rfq_maker-channel-pushes","title":"rfq_maker channel (pushes)","version":null},{"asyncapi":"_generated/asyncapi.yaml oracle","href":"/api-reference/websockets/oracle","title":"Oracle","version":null},{"asyncapi":"_generated/asyncapi.yaml prices","href":"/api-reference/websockets/prices","title":"Prices","version":null}]}]}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/quickstart"}]}]},"basePath":"","title":"The caller's RFQ collateral, as the vault-watcher last projected it - Joyride Docs","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}