calls: Vec<VenueCall { data, account_count }> // optional Phoenix unwind callsrepay: u64 // debt to repay, in the debt tokenmin_seized: u64 // liquidator's slippage bound
Anyone can call it on a margin with debt and HF ≤ 1.10. It does not need the owner.
Run the venue calls (if any) through the validator in liquidation mode. For Phoenix, that means reduce-only closes inside a price band and a withdrawal of the trader’s collateral.
Revalue every holding. Require HF ≤ 1.10.
If repay > 0, settle one pair: repay part of one debt from the liquidator’s wallet, and take one allowed token from the margin.
Settling one pair. The repay is capped at 50% of that debt, or the full debt when HF ≤ 1 + the token’s bonus or the debt is worth $100 or less. The token taken is worth at most the repaid value × (1 + liquidation_bonus_bps, at most 5%). While the margin is solvent but below that line, the multiplier is the health factor instead, so a liquidation never takes more than the margin’s equity. When the margin holds less of the token, the repay shrinks to match. A token past its cap, or capped to zero, can still be seized.The debt and collateral prices used for settlement must be fresh and within confidence, but not within the TWAP band, so a crash never blocks liquidation.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vanna","colors":{"primary":"#7C5CFF","light":"#A387FF","dark":"#5A3ECC"},"logo":{"light":"https://mintcdn.com/vannafinance/UHj8oBBMt2jwIvZH/logo/vanna-light.png?fit=max\u0026auto=format\u0026n=UHj8oBBMt2jwIvZH\u0026q=85\u0026s=b84d79f7687e9ead3384d0c98cfe0ea1","dark":"https://mintcdn.com/vannafinance/UHj8oBBMt2jwIvZH/logo/vanna-dark.png?fit=max\u0026auto=format\u0026n=UHj8oBBMt2jwIvZH\u0026q=85\u0026s=8d4a259c94861810159a811d7d5a66bd","href":"/home"},"favicon":"https://mintcdn.com/vannafinance/UHj8oBBMt2jwIvZH/favicon.png?fit=max\u0026auto=format\u0026n=UHj8oBBMt2jwIvZH\u0026q=85\u0026s=c7a095c28bca61f74a69a54865b8c656","navbar":{"links":[{"href":"https://github.com/vannafinance","label":"GitHub"}],"primary":{"type":"button","label":"Launch App","href":"https://test.vanna.finance"}},"footer":{"socials":{"x":"https://x.com/vannafinance","github":"https://github.com/vannafinance","discord":"https://discord.gg/vanna"}},"search":{"prompt":"Search Vanna docs (Stellar \u0026 Solana)..."},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Discord","icon":"discord","href":"https://discord.gg/vanna"},{"anchor":"X / Twitter","icon":"x-twitter","href":"https://x.com/vannafinance"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vannafinance","hasAudioNarration":false,"actualSubdomain":"vannafinance","customDomains":["docs.vanna.finance"],"gitSource":{"type":"github","owner":"vannafinance","repo":"vanna_docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"15f22fdf-90b4-4222-a4a1-70e1f87febe7","liveDeploymentHistoryId":"6aac2c60d1541a73c58697e1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aac2c60d1541a73c58697e1"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae2f983ad767fccae346a84","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Solana","count":75},{"language":"default","tag":"Stellar","count":74},{"language":"default","tag":"User Guide","count":68},{"language":"default","tag":"Developers","count":52},{"language":"default","tag":"Contract Reference","count":28},{"language":"default","tag":"Core Concepts","count":27},{"language":"default","tag":"Margin Account","count":12},{"language":"default","tag":"Farm","count":9},{"language":"default","tag":"Core Mechanics","count":9},{"language":"default","tag":"Solana · Introduction","count":8}]},"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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"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":"byok-sep-25","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":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","href":"/_mintlify/custom/vannafinance/aa85d521d75cd9c1/custom.css"}],"page":{"pagePath":"solana/developers/contracts/liquidation","slug":"/solana/developers/contracts/liquidation","pageMetadata":{"title":"Liquidation Instructions","description":"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.","mode":"wide","href":"/solana/developers/contracts/liquidation"},"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: \"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.\"\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`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Source: `,_jsx(_components.code,{children:`instructions/account_manager/liquidate.rs`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`public_liquidate-calls-repay-min_seized`,children:_jsx(_components.code,{children:`public_liquidate(calls, repay, min_seized)`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`calls: Vec\u003cVenueCall { data, account_count }> // optional Phoenix unwind calls`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`repay: u64 // debt to repay, in the debt token`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`min_seized: u64 // liquidator's slippage bound`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Anyone can call it on a margin with debt and HF ≤ 1.10. It does not need the owner.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Run the venue calls (if any) through the validator in liquidation mode. For Phoenix, that means reduce-only closes inside a price band and a withdrawal of the trader’s collateral.`}),`\n`,_jsx(_components.li,{children:`Revalue every holding. Require HF ≤ 1.10.`}),`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.code,{children:`repay > 0`}),`, settle one pair: repay part of one debt from the liquidator’s wallet, and take one allowed token from the margin.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Settling one pair.`}),` The repay is capped at 50% of that debt, or the full debt when HF ≤ 1 + the token’s bonus or the debt is worth $100 or less. The token taken is worth at most the repaid value × (1 + `,_jsx(_components.code,{children:`liquidation_bonus_bps`}),`, at most 5%). While the margin is solvent but below that line, the multiplier is the health factor instead, so a liquidation never takes more than the margin’s equity. When the margin holds less of the token, the repay shrinks to match. A token past its cap, or capped to zero, can still be seized.`]}),`\n`,_jsx(_components.p,{children:`The debt and collateral prices used for settlement must be fresh and within confidence, but not within the TWAP band, so a crash never blocks liquidation.`}),`\n`,_jsx(Heading,{level:`3`,id:`accounts`,children:`Accounts`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Account`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`liquidator`})}),_jsx(_components.td,{children:`Signer, pays the debt token`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`protocol_config`}),`, `,_jsx(_components.code,{children:`margin_account`})]}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`venue_asset`}),`, `,_jsx(_components.code,{children:`integration`}),`, `,_jsx(_components.code,{children:`target_program`}),`, `,_jsx(_components.code,{children:`validator`})]}),_jsx(_components.td,{children:`Optional; only with venue calls`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`remaining_accounts`}),`, in order:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`The venue calls’ accounts.`}),`\n`,_jsx(_components.li,{children:`The groups (allowed tokens, venues, debts). The repaid debt’s reserve and debt position, and the seized token’s vault, are writable.`}),`\n`,_jsxs(_components.li,{children:[`When `,_jsx(_components.code,{children:`repay > 0`}),`: `,_jsx(_components.code,{children:`[debt_mint, reserve_vault, source, debt_token_program, collateral_mint, destination, collateral_token_program]`}),`.`]}),`\n`,_jsx(_components.li,{children:`The agent segments.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`admin_write_off`,children:_jsx(_components.code,{children:`admin_write_off`})}),`\n`,_jsxs(_components.p,{children:[`Admin only, refused while `,_jsx(_components.code,{children:`Halted`}),`. Clears every debt of a margin whose collateral is $1 or less and below its debt, with no venue position open.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Collateral is every allowed token at its raw balance (frozen or past its cap included).`}),`\n`,_jsx(_components.li,{children:`Every price must pass every check.`}),`\n`,_jsxs(_components.li,{children:[`Each reserve’s `,_jsx(_components.code,{children:`accrued_protocol_fees`}),` absorb the written-off amount first, then lenders’ assets fall by the rest.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Write-off sees only allowed tokens. Don’t remove a token from the allowed list while a margin about to be written off still holds it.`})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/solana/developers/math-reference#liquidation`,children:`Math`}),` and `,_jsx(_components.a,{href:`/solana/developers/guides/liquidation-bots`,children:`Liquidation Bots`}),`.`]})]})}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":"Liquidation Instructions","description":"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.","mode":"wide","href":"/solana/developers/contracts/liquidation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"public_liquidate(calls, repay, min_seized)","slug":"public_liquidate-calls-repay-min_seized","depth":2,"children":[{"title":"Accounts","slug":"accounts","depth":3,"children":[]}]},{"title":"admin_write_off","slug":"admin_write_off","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"vannafinance","siteName":"Vanna","title":"Liquidation Instructions - Vanna","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T07:45:16.782Z","originalFileLocation":"solana/developers/contracts/liquidation.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=\"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vanna\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_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/vannafinance/r0T44zvAX1A9uSGh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Liquidation Instructions - Vanna\">\u003cmeta data-mint-head property=\"og:description\" content=\"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vanna\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vanna.finance/solana/developers/contracts/liquidation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vannafinance.mintlify.app/_mintlify/api/og/v2?division=Contract+Reference\u0026amp;title=Liquidation+Instructions\u0026amp;description=public_liquidate+%28permissionless%2C+partial%2C+with+optional+venue+calls%29+and+admin_write_off.\u0026amp;theme=ce14588e1c9c342033dcc7d2\u0026amp;signature=b83fc003646f0551cc292ce921efef59d6b3fcd4469ae4391983f908bc8cd09e\">\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=\"Liquidation Instructions - Vanna\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vannafinance.mintlify.app/_mintlify/api/og/v2?division=Contract+Reference\u0026amp;title=Liquidation+Instructions\u0026amp;description=public_liquidate+%28permissionless%2C+partial%2C+with+optional+venue+calls%29+and+admin_write_off.\u0026amp;theme=ce14588e1c9c342033dcc7d2\u0026amp;signature=b83fc003646f0551cc292ce921efef59d6b3fcd4469ae4391983f908bc8cd09e\">\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/vannafinance/r0T44zvAX1A9uSGh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vanna\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C5CFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vanna.finance/solana/developers/contracts/liquidation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/solana/developers/contracts/liquidation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vanna.finance/#organization\",\"name\":\"Vanna\",\"url\":\"https://docs.vanna.finance\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vannafinance/UHj8oBBMt2jwIvZH/logo/vanna-light.png?fit=max\u0026auto=format\u0026n=UHj8oBBMt2jwIvZH\u0026q=85\u0026s=b84d79f7687e9ead3384d0c98cfe0ea1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vanna.finance#website\",\"name\":\"Vanna\",\"url\":\"https://docs.vanna.finance\",\"publisher\":{\"@id\":\"https://docs.vanna.finance/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation#webpage\",\"url\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation\",\"name\":\"Liquidation Instructions\",\"description\":\"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.\",\"dateModified\":\"2026-10-29T07:45:16.782Z\",\"isPartOf\":{\"@id\":\"https://docs.vanna.finance#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contract Reference\",\"item\":\"https://docs.vanna.finance/solana/developers/contracts/program\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Liquidation Instructions\",\"item\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation#article\",\"headline\":\"Liquidation Instructions\",\"name\":\"Liquidation Instructions\",\"description\":\"public_liquidate (permissionless, partial, with optional venue calls) and admin_write_off.\",\"url\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vanna.finance/solana/developers/contracts/liquidation#webpage\"},\"dateModified\":\"2026-10-29T07:45:16.782Z\",\"publisher\":{\"@id\":\"https://docs.vanna.finance/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vanna.finance#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vanna\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vanna","nav":{"global":{"anchors":[{"anchor":"Discord","icon":"discord","href":"https://discord.gg/vanna"},{"anchor":"X / Twitter","icon":"x-twitter","href":"https://x.com/vannafinance"}]},"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":"/home"}]},{"tab":"User Guide","icon":"book-open","menu":[{"item":"Stellar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/stellar.png","pages":[{"title":"Stellar","href":"/stellar/home"}]},{"item":"Solana","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/solana.png","pages":[{"title":"Solana","href":"/solana/home"}]}],"pages":[{"title":"User Guide","href":"/stellar/home"}]},{"tab":"Core Concepts","icon":"graduation-cap","menu":[{"item":"Stellar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/stellar.png","pages":[{"title":"Stellar","href":"/stellar/learn/overview"}]},{"item":"Solana","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/solana.png","pages":[{"title":"Solana","href":"/solana/learn/overview"}]}],"pages":[{"title":"Core Concepts","href":"/stellar/learn/overview"}]},{"tab":"Developers","icon":"code","menu":[{"item":"Stellar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/stellar.png","pages":[{"title":"Stellar","href":"/stellar/developers/overview"}]},{"item":"Solana","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/solana.png","groups":[{"group":"Solana · Introduction","pages":[{"title":"Developer Overview","mode":"wide","href":"/solana/developers/overview"},{"title":"Architecture","mode":"wide","href":"/solana/developers/architecture"},{"title":"Configured Accounts","mode":"wide","href":"/solana/developers/deployed-contracts"},{"title":"Math Reference","mode":"wide","href":"/solana/developers/math-reference"},{"title":"Developer Setup","mode":"wide","href":"/solana/developers/setup"}]},{"group":"Contract Reference","pages":[{"title":"Program Entrypoint","mode":"wide","href":"/solana/developers/contracts/program"},{"title":"Account Layout","mode":"wide","href":"/solana/developers/contracts/accounts"},{"title":"Lending Instructions","mode":"wide","href":"/solana/developers/contracts/lending"},{"title":"Margin Instructions","mode":"wide","href":"/solana/developers/contracts/margin"},{"title":"Borrow and Repay","mode":"wide","href":"/solana/developers/contracts/borrowing"},{"title":"External Calls (margin_execute)","mode":"wide","href":"/solana/developers/contracts/margin-execute"},{"title":"Margin Swaps","mode":"wide","href":"/solana/developers/contracts/swap"},{"title":"Phoenix Perps","mode":"wide","href":"/solana/developers/contracts/perps"},{"title":"Yield Vaults","mode":"wide","href":"/solana/developers/contracts/vaults"},{"title":"Oracle Program","mode":"wide","href":"/solana/developers/contracts/oracle"},{"title":"Validator Program","description":"vanna_validator: review_call, call modes, and the per-protocol rules for every margin_execute target.","mode":"wide","href":"/solana/developers/contracts/validator"},{"title":"Liquidation Instructions","mode":"wide","href":"/solana/developers/contracts/liquidation"},{"title":"Admin Instructions","description":"Protocol init, two-step admin, modes, margin limits, assets, venues, reserves, integrations, fees.","mode":"wide","href":"/solana/developers/contracts/admin"}]},{"group":"TypeScript Integration","pages":[{"title":"TypeScript Getting Started","mode":"wide","href":"/solana/developers/sdk/getting-started"},{"title":"Transaction Flow","mode":"wide","href":"/solana/developers/sdk/transaction-flow"},{"title":"PDA Helpers","mode":"wide","href":"/solana/developers/sdk/pdas"}]},{"group":"Integration Guides","pages":[{"title":"Integrate Lending","mode":"wide","href":"/solana/developers/guides/integrate-lending"},{"title":"Integrate Margin","mode":"wide","href":"/solana/developers/guides/integrate-margin"},{"title":"Liquidation Bots","mode":"wide","href":"/solana/developers/guides/liquidation-bots"}]}]}]},{"tab":"Resources","icon":"circle-info","menu":[{"item":"Stellar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/stellar.png","pages":[{"title":"Stellar","href":"/stellar/resources/faq"}]},{"item":"Solana","icon":"https://mintlify.s3.us-west-1.amazonaws.com/vannafinance/images/chains/solana.png","pages":[{"title":"Solana","href":"/solana/resources/faq"}]}],"pages":[{"title":"Resources","href":"/stellar/resources/faq"}]}]},"title":"Liquidation Instructions - Vanna","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}