Creates a funded vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their main balance; each stake is locked into the participant’s own escrow balance immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do not send the customer-id header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.
Your secret key as a Bearer token. The key prefix selects the environment: sk_test_... (staging) or sk_live_... (production); a key on the wrong host is refused with 403 Unauthorized Access. Each key is limited to 10 requests per minute (429 beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Payluk API","description":"Merchant API for escrow payment links, milestones, disputes and payments on Payluk.","colors":{"primary":"#635BFF","light":"#8C84FF","dark":"#4B45C6"},"logo":{"light":"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/logo/light.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=4d5ac80b7027fa47525679435f866b7a","dark":"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/logo/dark.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=0d2d45ebcb4b59d2505dfb2963cd4cd5"},"favicon":"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/favicon.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=57e2a7f2aaba8aea48f98fc8fbb5bcc2","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://payluk.ng"}},"footer":{"socials":{"website":"https://payluk.ng","x":"https://x.com/payluk"}},"fonts":{"family":"DM Sans"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"payluk-ef2ec5d5","hasAudioNarration":false,"actualSubdomain":"payluk-ef2ec5d5","customDomains":["docs.payluk.ng"],"gitSource":{"type":"github","owner":"jerozeek","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"f4fe0f48-58ed-4eed-a3e6-12471f8dd6b7","liveDeploymentHistoryId":"6ad8d33b9cc3966443d31784","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad8d33b9cc3966443d31784"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad8d33b9cc3966443d31784","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"API Reference","count":57},{"language":"default","tag":"Documentation","count":18},{"language":"default","tag":"1. Onboard customers","count":9},{"language":"default","tag":"6. Fund it: Payments","count":9},{"language":"default","tag":"7. Release \u0026 resolve: Disputes","count":8},{"language":"default","tag":"3. Create the deal: Escrow","count":8},{"language":"default","tag":"2. Catalog (optional)","count":7},{"language":"default","tag":"Core concepts","count":7},{"language":"default","tag":"4. Create the deal: Milestone Escrow","count":6},{"language":"default","tag":"5. Stake \u0026 resolve: Vault Escrow","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"editor-v7-file-tree","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":"editor-nav-generations","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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"html[data-current-path^=\"/api-reference/\"]:not([data-current-path$=\"/overview\"]) #header>.prose{font-size:1rem;line-height:1.75}"}],"page":{"pagePath":"api-reference/vault-escrow/create-vault-escrow","slug":"/api-reference/vault-escrow/create-vault-escrow","pageMetadata":{"title":"Create vault escrow","openapi":"openapi.json POST /v1/escrow/vault/create","description":"Creates a **funded** vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their **main balance**; each stake is locked into the participant's own **escrow balance** immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do **not** send the `customer-id` header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.","href":"/api-reference/vault-escrow/create-vault-escrow"},"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 strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Creates a \", _jsx(_components.strong, {\n children: \"funded\"\n }), \" vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their \", _jsx(_components.strong, {\n children: \"main balance\"\n }), \"; each stake is locked into the participant’s own \", _jsx(_components.strong, {\n children: \"escrow balance\"\n }), \" immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do \", _jsx(_components.strong, {\n children: \"not\"\n }), \" send the \", _jsx(_components.code, {\n children: \"customer-id\"\n }), \" header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.\"]\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":{"config":{},"pageMetadata":{"title":"Create vault escrow","openapi":"openapi.json POST /v1/escrow/vault/create","description":"Creates a **funded** vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their **main balance**; each stake is locked into the participant's own **escrow balance** immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do **not** send the `customer-id` header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.","href":"/api-reference/vault-escrow/create-vault-escrow"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Vault Escrow"],"summary":"Create vault escrow","operationId":"createVaultEscrow","description":"Creates a **funded** vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their **main balance**; each stake is locked into the participant's own **escrow balance** immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do **not** send the `customer-id` header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.","requestBody":"dc8482b2-d805-4987-89cb-4d4140083182","responses":{"201":"a9f95cdc-93d6-438d-9f93-0ce1cb7cd72f","400":"d5e7defd-3a70-4b3b-935f-a7eca81e34c5","401":"ad34f0ef-fadf-41b1-8d41-398fb3a1afff","429":"e39f6c85-c129-4757-93ec-cffe609aaa79"},"method":"post","type":"path","servers":["aefc91df-d969-4cc9-bdc5-50d00d24475d","a3d61f54-47ad-4063-90bb-7b528d417445"],"security":["1e2fcc27-9d70-4608-bab0-b7f13130ea35"],"path":"/v1/escrow/vault/create","baseUrlOptions":["https://staging.api.payluk.ng","https://api.payluk.ng"],"title":"Create vault escrow","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["purpose","participants"],"properties":{"purpose":{"type":"string","example":"FIFA tournament stake","isRequired":true,"uniqueKey":"purpose","typeLabel":"string"},"participants":{"type":"array","minItems":2,"description":"At least 2 unique customers. The escrow amount is derived as the sum of the stakes and must be at least 1000.","items":{"type":"object","required":["customerId","amount"],"properties":{"customerId":{"type":"string","description":"A customer of the requesting merchant.","example":"665f1b2c9a1e4d0012ab3c40","isRequired":true,"uniqueKey":"participants.items.[INDEX].customerId","typeLabel":"string"},"amount":{"type":"number","minimum":1,"description":"The stake this customer locks, debited from their main balance. Naira with at most two decimal places.","example":600000,"isRequired":true,"uniqueKey":"participants.items.[INDEX].amount","typeLabel":"number"}},"uniqueKey":"participants.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"participants","typeLabel":"object[]"},"description":{"type":"string","example":"Winner takes all; final on Saturday","uniqueKey":"description","typeLabel":"string"},"categoryId":{"type":"string","example":"665f1b2c9a1e4d0012ab3c30","uniqueKey":"categoryId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"purpose":"FIFA tournament stake","description":"Winner takes all; final on Saturday","participants":[{"customerId":"665f1b2c9a1e4d0012ab3c40","amount":600000},{"customerId":"665f1b2c9a1e4d0012ab3c41","amount":400000}]},"examples":{"Example":{"title":"Example","value":{"purpose":"FIFA tournament stake","description":"Winner takes all; final on Saturday","participants":[{"customerId":"665f1b2c9a1e4d0012ab3c40","amount":600000},{"customerId":"665f1b2c9a1e4d0012ab3c41","amount":400000}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"a9f95cdc-93d6-438d-9f93-0ce1cb7cd72f":{"description":"Vault escrow created and funded (`OPENED` / `ONGOING`).","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer","example":200,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Operation successful","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","properties":{"id":{"type":"string","example":"665f1b2c9a1e4d0012ab3c10","uniqueKey":"data.id","typeLabel":"string"},"amount":{"type":"integer","example":150000,"uniqueKey":"data.amount","typeLabel":"integer"},"purpose":{"type":"string","example":"MacBook Pro 14\"","uniqueKey":"data.purpose","typeLabel":"string"},"description":{"type":"string","example":"Space grey, sealed","uniqueKey":"data.description","typeLabel":"string"},"whoPays":{"type":"string","enum":["buyer","seller","both"],"example":"both","uniqueKey":"data.whoPays","typeLabel":"enum\u003cstring>"},"imageUrl":{"type":"array","items":{"type":"string","uniqueKey":"data.imageUrl.items.[INDEX]","typeLabel":"string"},"example":["https://cdn.payluk.ng/escrow/abc.png"],"uniqueKey":"data.imageUrl","typeLabel":"string[]"},"fee":{"type":"integer","example":3750,"uniqueKey":"data.fee","typeLabel":"integer"},"additionalFee":{"type":"integer","description":"The merchant's own charge on top of the amount (delivery and the like). 0 unless set through Update additional fee.","example":0,"uniqueKey":"data.additionalFee","typeLabel":"integer"},"additionalFeeRefundable":{"type":"boolean","description":"Whether a buyer-favoured dispute refund returns the additional fee to the buyer.","example":true,"uniqueKey":"data.additionalFeeRefundable","typeLabel":"boolean"},"paymentToken":{"type":"string","example":"PY_8AB12C9D3045","uniqueKey":"data.paymentToken","typeLabel":"string"},"paidAt":{"oneOf":[{"type":"string","example":null,"uniqueKey":"data.paidAt.oneOf.0","typeLabel":"string"},{"type":"null","example":null,"uniqueKey":"data.paidAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.paidAt","typeLabel":"string | null"},"status":{"type":"string","description":"High-level escrow status.","enum":["PENDING","ONGOING","COMPLETED","REFUNDED","CLAIMED","DISPUTED","INVESTIGATING","SPLIT"],"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"state":{"type":"string","description":"Lifecycle state of the escrow.","enum":["AWAITING_PAYMENT","OPENED","CLOSED"],"uniqueKey":"data.state","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","example":"API","uniqueKey":"data.channel","typeLabel":"string"},"isSeller":{"type":"boolean","example":true,"uniqueKey":"data.isSeller","typeLabel":"boolean"},"dispute":{"oneOf":[{"type":"array","items":{"type":"object","uniqueKey":"data.dispute.oneOf.0.items.[INDEX]","typeLabel":"object"},"example":null,"uniqueKey":"data.dispute.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object"},"example":null,"uniqueKey":"data.dispute.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dispute","typeLabel":"object[] | null"},"category":{"oneOf":[{"type":"object","example":null,"uniqueKey":"data.category.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"uniqueKey":"data.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.category","typeLabel":"object | null"},"completedAt":{"oneOf":[{"type":"string","example":null,"uniqueKey":"data.completedAt.oneOf.0","typeLabel":"string"},{"type":"null","example":null,"uniqueKey":"data.completedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.completedAt","typeLabel":"string | null"},"maxDelivery":{"type":"integer","example":3,"uniqueKey":"data.maxDelivery","typeLabel":"integer"},"deliveryTimeline":{"type":"string","example":"days","uniqueKey":"data.deliveryTimeline","typeLabel":"string"},"totalQuantity":{"type":"integer","example":1,"uniqueKey":"data.totalQuantity","typeLabel":"integer"},"settlementType":{"type":"string","enum":["STANDARD","MILESTONE","VAULT"],"uniqueKey":"data.settlementType","typeLabel":"enum\u003cstring>"},"milestones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"665f1b2c9a1e4d0012ab3c21","uniqueKey":"data.milestones.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","example":"Design","uniqueKey":"data.milestones.items.[INDEX].title","typeLabel":"string"},"description":{"type":"string","example":"Figma mockups","uniqueKey":"data.milestones.items.[INDEX].description","typeLabel":"string"},"amount":{"type":"integer","example":300000,"uniqueKey":"data.milestones.items.[INDEX].amount","typeLabel":"integer"},"dueDate":{"oneOf":[{"type":"string","example":"2026-07-15","uniqueKey":"data.milestones.items.[INDEX].dueDate.oneOf.0","typeLabel":"string"},{"type":"null","example":"2026-07-15","uniqueKey":"data.milestones.items.[INDEX].dueDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.milestones.items.[INDEX].dueDate","typeLabel":"string | null"},"customerId":{"oneOf":[{"type":"string","description":"Optional beneficiary. When set, releasing this milestone credits this customer's main balance instead of the seller's.","example":null,"uniqueKey":"data.milestones.items.[INDEX].customerId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional beneficiary. When set, releasing this milestone credits this customer's main balance instead of the seller's.","example":null,"uniqueKey":"data.milestones.items.[INDEX].customerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.milestones.items.[INDEX].customerId","typeLabel":"string | null"},"status":{"type":"string","enum":["PENDING","RELEASED","REFUNDED","SPLIT"],"description":"`SPLIT` means this milestone was still held when a dispute was resolved by dividing the funds between both parties.","example":"PENDING","uniqueKey":"data.milestones.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"releasedAt":{"oneOf":[{"type":"string","example":null,"uniqueKey":"data.milestones.items.[INDEX].releasedAt.oneOf.0","typeLabel":"string"},{"type":"null","example":null,"uniqueKey":"data.milestones.items.[INDEX].releasedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.milestones.items.[INDEX].releasedAt","typeLabel":"string | null"}},"uniqueKey":"data.milestones.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.milestones","typeLabel":"object[]"},"participants":{"oneOf":[{"type":"array","description":"VAULT escrows only: the customers staking into the pot.","items":{"type":"object","properties":{"customerId":{"type":"string","example":"665f1b2c9a1e4d0012ab3c40","uniqueKey":"data.participants.oneOf.0.items.[INDEX].customerId","typeLabel":"string"},"amount":{"type":"integer","example":600000,"uniqueKey":"data.participants.oneOf.0.items.[INDEX].amount","typeLabel":"integer"},"status":{"type":"string","enum":["STAKED","RELEASED","REFUNDED"],"example":"STAKED","uniqueKey":"data.participants.oneOf.0.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"stakedAt":{"type":"string","description":"Unix timestamp (seconds) the stake was locked.","example":"1784900000","uniqueKey":"data.participants.oneOf.0.items.[INDEX].stakedAt","typeLabel":"string"},"settledAt":{"oneOf":[{"type":"string","description":"Unix timestamp (seconds) the stake was released or refunded.","example":null,"uniqueKey":"data.participants.oneOf.0.items.[INDEX].settledAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unix timestamp (seconds) the stake was released or refunded.","example":null,"uniqueKey":"data.participants.oneOf.0.items.[INDEX].settledAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.participants.oneOf.0.items.[INDEX].settledAt","typeLabel":"string | null"}},"uniqueKey":"data.participants.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.participants.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"VAULT escrows only: the customers staking into the pot.","items":{"type":"object","properties":{"customerId":{"type":"string","example":"665f1b2c9a1e4d0012ab3c40"},"amount":{"type":"integer","example":600000},"status":{"type":"string","enum":["STAKED","RELEASED","REFUNDED"],"example":"STAKED"},"stakedAt":{"type":"string","description":"Unix timestamp (seconds) the stake was locked.","example":"1784900000"},"settledAt":{"oneOf":[{"type":"string","description":"Unix timestamp (seconds) the stake was released or refunded.","example":null},{"type":"null","description":"Unix timestamp (seconds) the stake was released or refunded.","example":null}]}}},"uniqueKey":"data.participants.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.participants","typeLabel":"object[] | null"},"winnerId":{"oneOf":[{"type":"string","description":"VAULT escrows only: the participant declared the winner by the merchant.","example":null,"uniqueKey":"data.winnerId.oneOf.0","typeLabel":"string"},{"type":"null","description":"VAULT escrows only: the participant declared the winner by the merchant.","example":null,"uniqueKey":"data.winnerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.winnerId","typeLabel":"string | null"},"split":{"oneOf":[{"type":"object","description":"Set only when the dispute was resolved with `status: SPLIT`. Null on every other escrow.","properties":{"sellerAmount":{"type":"number","description":"Released to the seller's main balance.","example":30000,"uniqueKey":"data.split.oneOf.0.sellerAmount","typeLabel":"number"},"buyerAmount":{"type":"number","description":"Returned to the buyer's main balance.","example":20000,"uniqueKey":"data.split.oneOf.0.buyerAmount","typeLabel":"number"},"pool":{"type":"number","description":"What the escrow held at the moment of resolution. Always equals `sellerAmount + buyerAmount`.","example":50000,"uniqueKey":"data.split.oneOf.0.pool","typeLabel":"number"},"resolvedAt":{"type":"string","description":"Unix seconds, as a string.","example":"1786694400","uniqueKey":"data.split.oneOf.0.resolvedAt","typeLabel":"string"}},"uniqueKey":"data.split.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.split.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.split","typeLabel":"object | null"},"createdAt":{"type":"string","example":"2026-06-22T10:15:00.000Z","uniqueKey":"data.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","example":"2026-06-22T10:15:00.000Z","uniqueKey":"data.updatedAt","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":201,"message":"Vault escrow created successfully","data":{"id":"665f1b2c9a1e4d0012ab3c50","amount":1000000,"purpose":"FIFA tournament stake","fee":25000,"paymentToken":"PY_7CD34E0F5162","paidAt":"1784900000","state":"OPENED","status":"ONGOING","settlementType":"VAULT","participants":[{"customerId":"665f1b2c9a1e4d0012ab3c40","amount":600000,"status":"STAKED","stakedAt":"1784900000","settledAt":null},{"customerId":"665f1b2c9a1e4d0012ab3c41","amount":400000,"status":"STAKED","stakedAt":"1784900000","settledAt":null}],"winnerId":null,"createdAt":"2026-07-24T10:15:00.000Z","updatedAt":"2026-07-24T10:15:00.000Z"}},"examples":{"Example":{"title":"Example","value":{"status":201,"message":"Vault escrow created successfully","data":{"id":"665f1b2c9a1e4d0012ab3c50","amount":1000000,"purpose":"FIFA tournament stake","fee":25000,"paymentToken":"PY_7CD34E0F5162","paidAt":"1784900000","state":"OPENED","status":"ONGOING","settlementType":"VAULT","participants":[{"customerId":"665f1b2c9a1e4d0012ab3c40","amount":600000,"status":"STAKED","stakedAt":"1784900000","settledAt":null},{"customerId":"665f1b2c9a1e4d0012ab3c41","amount":400000,"status":"STAKED","stakedAt":"1784900000","settledAt":null}],"winnerId":null,"createdAt":"2026-07-24T10:15:00.000Z","updatedAt":"2026-07-24T10:15:00.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"d5e7defd-3a70-4b3b-935f-a7eca81e34c5":{"description":"Validation failed, a participant does not belong to the merchant, or a stake cannot be covered.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope.","properties":{"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Action not allowed","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","example":{},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"tooFew":{"title":"tooFew","value":{"status":400,"message":"A vault escrow must have at least 2 participants","data":{}}},"duplicate":{"title":"duplicate","value":{"status":400,"message":"Each participant may only appear once in a vault","data":{}}},"minimum":{"title":"minimum","value":{"status":400,"message":"The total staked amount must be at least 1000","data":{}}},"notCustomer":{"title":"notCustomer","value":{"status":400,"message":"Participant 665f1b2c9a1e4d0012ab3c40 is not a customer of this merchant","data":{}}},"blocked":{"title":"blocked","value":{"status":400,"message":"Participant 665f1b2c9a1e4d0012ab3c40 is not an active customer","data":{}}},"balance":{"title":"balance","value":{"status":400,"message":"Participant 665f1b2c9a1e4d0012ab3c40 has insufficient main balance for their stake","data":{}}}},"exampleType":"examples"}},"exampleType":"examples"},"ad34f0ef-fadf-41b1-8d41-398fb3a1afff":{"description":"Access denied.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope.","properties":{"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Action not allowed","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","example":{},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":401,"message":"Access denied","data":{}},"examples":{"Example":{"title":"Example","value":{"status":401,"message":"Access denied","data":{}}}},"exampleType":"examples"}},"exampleType":"examples"},"e39f6c85-c129-4757-93ec-cffe609aaa79":{"description":"Rate limit exceeded: more than 10 requests in one minute from this secret key. Read the `RateLimit` header and retry after the window resets.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope.","properties":{"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Action not allowed","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","example":{},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":429,"message":"Too many request"},"examples":{"Example":{"title":"Example","value":{"status":429,"message":"Too many request"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"1e2fcc27-9d70-4608-bab0-b7f13130ea35":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your secret key as a Bearer token. The key prefix selects the environment: `sk_test_...` (staging) or `sk_live_...` (production); a key on the wrong host is refused with `403 Unauthorized Access`. Each key is limited to 10 requests per minute (`429` beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"aefc91df-d969-4cc9-bdc5-50d00d24475d":{"url":"https://staging.api.payluk.ng","description":"Staging: use sk_test_ keys here for safe testing"},"a3d61f54-47ad-4063-90bb-7b528d417445":{"url":"https://api.payluk.ng","description":"Production: use sk_live_ keys"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your secret key as a Bearer token. The key prefix selects the environment: `sk_test_...` (staging) or `sk_live_...` (production); a key on the wrong host is refused with `403 Unauthorized Access`. Each key is limited to 10 requests per minute (`429` beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your secret key as a Bearer token. The key prefix selects the environment: `sk_test_...` (staging) or `sk_live_...` (production); a key on the wrong host is refused with `403 Unauthorized Access`. Each key is limited to 10 requests per minute (`429` beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"payluk-ef2ec5d5","siteName":"Payluk API","title":"Create vault escrow - Payluk API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-10T10:04:29.830Z","originalFileLocation":"api-reference/vault-escrow/create-vault-escrow.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=\"Creates a funded vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their main balance; each stake is locked into the participant\u0026#x27;s own escrow balance immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do not send the customer-id header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Payluk API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create vault escrow - Payluk API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a funded vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their main balance; each stake is locked into the participant\u0026#x27;s own escrow balance immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do not send the customer-id header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Payluk API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://payluk-ef2ec5d5.mintlify.app/_mintlify/api/og/v2?division=5.+Stake+%26+resolve%3A+Vault+Escrow\u0026amp;title=Create+vault+escrow\u0026amp;description=Creates+a+**funded**+vault+escrow+in+one+call.+Every+participant+must+be+a+customer+of+the+merchant+with+the+stake+available+in+their+**main+balance**%3B+each+sta\u0026amp;theme=871e0e65f83a6a3d487d4038\u0026amp;signature=71e73e5914bfd81de948beef36d8c19b364cd92aec276d30cb7b62dbfe64b5d4\">\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=\"Create vault escrow - Payluk API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a funded vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their main balance; each stake is locked into the participant\u0026#x27;s own escrow balance immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do not send the customer-id header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://payluk-ef2ec5d5.mintlify.app/_mintlify/api/og/v2?division=5.+Stake+%26+resolve%3A+Vault+Escrow\u0026amp;title=Create+vault+escrow\u0026amp;description=Creates+a+**funded**+vault+escrow+in+one+call.+Every+participant+must+be+a+customer+of+the+merchant+with+the+stake+available+in+their+**main+balance**%3B+each+sta\u0026amp;theme=871e0e65f83a6a3d487d4038\u0026amp;signature=71e73e5914bfd81de948beef36d8c19b364cd92aec276d30cb7b62dbfe64b5d4\">\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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Payluk API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#635BFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/vault-escrow/create-vault-escrow.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.payluk.ng/#organization\",\"name\":\"Payluk API\",\"url\":\"https://docs.payluk.ng\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/logo/light.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=4d5ac80b7027fa47525679435f866b7a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.payluk.ng#website\",\"name\":\"Payluk API\",\"url\":\"https://docs.payluk.ng\",\"publisher\":{\"@id\":\"https://docs.payluk.ng/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow#webpage\",\"url\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow\",\"name\":\"Create vault escrow\",\"description\":\"Creates a funded vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their main balance; each stake is locked into the participant's own escrow balance immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do not send the customer-id header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.\",\"dateModified\":\"2026-09-10T10:04:29.830Z\",\"isPartOf\":{\"@id\":\"https://docs.payluk.ng#website\"},\"breadcrumb\":{\"@id\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"5. Stake \u0026 resolve: Vault Escrow\",\"item\":\"https://docs.payluk.ng/api-reference/vault-escrow/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create vault escrow\",\"item\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow#apireference\",\"headline\":\"Create vault escrow\",\"name\":\"Create vault escrow\",\"description\":\"Creates a funded vault escrow in one call. Every participant must be a customer of the merchant with the stake available in their main balance; each stake is locked into the participant's own escrow balance immediately (all-or-nothing: if any stake cannot be locked, everything is rolled back). Merchant-only: do not send the customer-id header. Rules: at least 2 unique participants, stakes in naira with at most two decimal places (minimum 1), and the derived pot (sum of stakes) must be at least 1000.\",\"url\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow\",\"mainEntityOfPage\":{\"@id\":\"https://docs.payluk.ng/api-reference/vault-escrow/create-vault-escrow#webpage\"},\"dateModified\":\"2026-09-10T10:04:29.830Z\",\"publisher\":{\"@id\":\"https://docs.payluk.ng/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.payluk.ng#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Payluk API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Payluk API","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Checkout SDK","icon":"code","pages":[{"title":"Checkout SDK","href":"/sdk/introduction"}]},{"tab":"API Reference","icon":"terminal","groups":[{"group":"1. Onboard customers","pages":[{"title":"Onboard customers overview","href":"/api-reference/merchant-customers/overview"},{"title":"Create merchant customer","openapi":"openapi.json POST /v1/customer/create","href":"/api-reference/merchant-customers/create-merchant-customer"},{"title":"List merchant customers","openapi":"openapi.json GET /v1/customers","href":"/api-reference/merchant-customers/list-merchant-customers"},{"title":"Get merchant customer","openapi":"openapi.json GET /v1/customer/get/{customerId}","href":"/api-reference/merchant-customers/get-merchant-customer"},{"title":"Update customer","openapi":"openapi.json PUT /v1/customer/update/{customerId}","href":"/api-reference/merchant-customers/update-customer"},{"title":"Update customer permissions","openapi":"openapi.json PUT /v1/customer/permissions/{customerId}","href":"/api-reference/merchant-customers/update-customer-permissions"},{"title":"Block customer","openapi":"openapi.json PUT /v1/customer/block/{customerId}","href":"/api-reference/merchant-customers/block-customer"},{"title":"Unblock customer","openapi":"openapi.json PUT /v1/customer/unblock/{customerId}","href":"/api-reference/merchant-customers/unblock-customer"},{"title":"Get customer wallet","openapi":"openapi.json GET /v1/wallet","href":"/api-reference/merchant-customers/get-customer-wallet"}]},{"group":"2. Catalog (optional)","pages":[{"title":"Catalog (categories) overview","href":"/api-reference/categories/overview"},{"title":"Create category","openapi":"openapi.json POST /v1/escrow/category/create","href":"/api-reference/categories/create-category"},{"title":"Update category","openapi":"openapi.json PUT /v1/escrow/category/edit/{categoryId}","href":"/api-reference/categories/update-category"},{"title":"List categories","openapi":"openapi.json GET /v1/escrow/category/get","href":"/api-reference/categories/list-categories"},{"title":"Get category by ID","openapi":"openapi.json GET /v1/escrow/category/get/{categoryId}","href":"/api-reference/categories/get-category-by-id"},{"title":"Update category position","openapi":"openapi.json PUT /v1/escrow/category/position/{categoryId}","href":"/api-reference/categories/update-category-position"},{"title":"Delete category","openapi":"openapi.json DELETE /v1/escrow/category/delete/{categoryId}","href":"/api-reference/categories/delete-category"}]},{"group":"3. Create the deal: Escrow","pages":[{"title":"Escrow overview","href":"/api-reference/escrow/overview"},{"title":"Create escrow","openapi":"openapi.json POST /v1/escrow/create","href":"/api-reference/escrow/create-escrow"},{"title":"Edit escrow","openapi":"openapi.json PUT /v1/escrow/edit/{paymentToken}","href":"/api-reference/escrow/edit-escrow"},{"title":"Update additional fee","openapi":"openapi.json PUT /v1/escrow/additional-fee/{paymentToken}","href":"/api-reference/escrow/update-additional-fee"},{"title":"Delete escrow","openapi":"openapi.json DELETE /v1/escrow/delete/{paymentToken}","href":"/api-reference/escrow/delete-escrow"},{"title":"Verify payment token","openapi":"openapi.json GET /v1/escrow/verify/{paymentToken}","href":"/api-reference/escrow/verify-payment-token"},{"title":"Claim funds","openapi":"openapi.json GET /v1/escrow/claim-funds/{paymentToken}","href":"/api-reference/escrow/claim-funds"},{"title":"List escrow transactions","openapi":"openapi.json GET /v1/escrow/transactions","href":"/api-reference/escrow/list-escrow-transactions"}]},{"group":"4. Create the deal: Milestone Escrow","pages":[{"title":"Milestone escrow overview","href":"/api-reference/milestone-escrow/overview"},{"title":"Create milestone escrow","openapi":"openapi.json POST /v1/escrow/milestone/create","href":"/api-reference/milestone-escrow/create-milestone-escrow"},{"title":"Edit milestone escrow","openapi":"openapi.json PUT /v1/escrow/milestone/edit/{paymentToken}","href":"/api-reference/milestone-escrow/edit-milestone-escrow"},{"title":"Convert standard escrow to milestone","openapi":"openapi.json PUT /v1/escrow/milestone/convert/{paymentToken}","href":"/api-reference/milestone-escrow/convert-to-milestone"},{"title":"Get milestones","openapi":"openapi.json GET /v1/escrow/milestone/{paymentToken}","href":"/api-reference/milestone-escrow/get-milestones"},{"title":"Confirm milestone","openapi":"openapi.json POST /v1/escrow/milestone/confirm/{escrowId}/{milestoneId}","href":"/api-reference/milestone-escrow/confirm-milestone"}]},{"group":"5. Stake \u0026 resolve: Vault Escrow","pages":[{"title":"Vault escrow overview","description":"Pool stakes from two or more of your customers and pay the whole pot to the winner you declare.","href":"/api-reference/vault-escrow/overview"},{"title":"Create vault escrow","openapi":"openapi.json POST /v1/escrow/vault/create","href":"/api-reference/vault-escrow/create-vault-escrow"},{"title":"Declare vault winner","openapi":"openapi.json POST /v1/escrow/vault/winner/{paymentToken}","description":"The merchant names the winning participant. Every stake is released from the participants' escrow balances and the **whole pot minus the platform fee** is credited to the winner's main balance. The escrow closes as `COMPLETED`. There is no dispute flow; the merchant is expected to have verified the outcome before calling this. Merchant-only: do **not** send the `customer-id` header.","href":"/api-reference/vault-escrow/declare-vault-winner"},{"title":"Cancel vault escrow","openapi":"openapi.json POST /v1/escrow/vault/cancel/{paymentToken}","href":"/api-reference/vault-escrow/cancel-vault-escrow"},{"title":"Get vault escrow","openapi":"openapi.json GET /v1/escrow/vault/{paymentToken}","href":"/api-reference/vault-escrow/get-vault-escrow"}]},{"group":"6. Fund it: Payments","pages":[{"title":"Payments overview","href":"/api-reference/payments/overview"},{"title":"Pay escrow (buy)","openapi":"openapi.json POST /v1/payment/escrow","href":"/api-reference/payments/pay-escrow-buy"},{"title":"Create payment intent","openapi":"openapi.json POST /v1/payment/create-intent","href":"/api-reference/payments/create-payment-intent"},{"title":"Verify payment","openapi":"openapi.json POST /v1/payment/verify","href":"/api-reference/payments/verify-payment"},{"title":"Generate virtual account (deprecated)","openapi":"openapi.json POST /v1/payment/virtual-account","deprecated":true,"href":"/api-reference/payments/generate-virtual-account"},{"title":"Get payment history","openapi":"openapi.json GET /v1/payment/history","href":"/api-reference/payments/get-payment-history"},{"title":"Get bank list","openapi":"openapi.json GET /v1/payment/bank-list","href":"/api-reference/payments/get-bank-list"},{"title":"Verify account number","openapi":"openapi.json POST /v1/payment/verify-account","href":"/api-reference/payments/verify-account-number"},{"title":"Verify phone number","openapi":"openapi.json GET /v1/payment/verify-phone/{phone}","href":"/api-reference/payments/verify-phone-number"}]},{"group":"7. Release \u0026 resolve: Disputes","pages":[{"title":"Release \u0026 resolve (disputes) overview","href":"/api-reference/disputes/overview"},{"title":"Buyer confirm payment (standard)","openapi":"openapi.json POST /v1/escrow/confirm-payment/{escrowId}","href":"/api-reference/disputes/buyer-confirm-payment-standard"},{"title":"Submit dispute","openapi":"openapi.json POST /v1/escrow/submit-dispute/{paymentToken}","href":"/api-reference/disputes/submit-dispute"},{"title":"List my disputes","openapi":"openapi.json GET /v1/escrow/dispute/get","href":"/api-reference/disputes/list-my-disputes"},{"title":"Get dispute by escrow ID","openapi":"openapi.json GET /v1/escrow/dispute/get/{escrowId}","href":"/api-reference/disputes/get-dispute-by-escrow-id"},{"title":"List all customers' disputes","openapi":"openapi.json GET /v1/escrow/all-dispute","href":"/api-reference/disputes/list-all-customers-disputes"},{"title":"Get escrow feeds","openapi":"openapi.json GET /v1/escrow/feeds","href":"/api-reference/disputes/get-escrow-feeds"},{"title":"Resolve dispute","openapi":"openapi.json POST /v1/escrow/dispute/resolve/{escrowId}","href":"/api-reference/disputes/resolve-dispute"}]},{"group":"Other: Merchant Account","pages":[{"title":"Merchant account overview","href":"/api-reference/merchant-account/overview"},{"title":"Get merchant balance","openapi":"openapi.json GET /v1/merchant/balance","href":"/api-reference/merchant-account/get-merchant-balance"},{"title":"Get merchant transactions","openapi":"openapi.json GET /v1/merchant/transactions","href":"/api-reference/merchant-account/get-merchant-transactions"}]},{"group":"Other: Misc","pages":[{"title":"Misc overview","href":"/api-reference/misc/overview"},{"title":"Get countries","openapi":"openapi.json GET /v1/countries","href":"/api-reference/misc/get-countries"}]}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Create vault escrow - Payluk API","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","Page-kQh739Uz.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}