[{"data":1,"prerenderedAt":714},["ShallowReactive",2],{"navigation_docs":3,"-docs-troubleshooting-common-errors":268,"-docs-troubleshooting-common-errors-surround":709},[4,22,35,56,80,135,170,198,222,243],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[9,13,17],{"title":10,"path":11,"stem":12},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview",{"title":14,"path":15,"stem":16},"Integration checklist","\u002Fdocs\u002Fgetting-started\u002Fintegration-checklist","docs\u002F1.getting-started\u002F2.integration-checklist",{"title":18,"path":19,"stem":20},"Environments and base URLs","\u002Fdocs\u002Fgetting-started\u002Fenvironments-and-base-urls","docs\u002F1.getting-started\u002F3.environments-and-base-urls",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Troubleshooting","\u002Fdocs\u002Ftroubleshooting","docs\u002F10.troubleshooting",[27,31],{"title":28,"path":29,"stem":30},"Common errors","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-errors","docs\u002F10.troubleshooting\u002F1.common-errors",{"title":32,"path":33,"stem":34},"Support escalation","\u002Fdocs\u002Ftroubleshooting\u002Fsupport-escalation","docs\u002F10.troubleshooting\u002F2.support-escalation",{"title":36,"path":37,"stem":38,"children":39,"page":21},"Integration Flow","\u002Fdocs\u002Fintegration-flow","docs\u002F2.integration-flow",[40,44,48,52],{"title":41,"path":42,"stem":43},"Architecture","\u002Fdocs\u002Fintegration-flow\u002Farchitecture","docs\u002F2.integration-flow\u002F1.architecture",{"title":45,"path":46,"stem":47},"Launch session model","\u002Fdocs\u002Fintegration-flow\u002Flaunch-session-model","docs\u002F2.integration-flow\u002F2.launch-session-model",{"title":49,"path":50,"stem":51},"Order and wallet saga","\u002Fdocs\u002Fintegration-flow\u002Forder-and-wallet-saga","docs\u002F2.integration-flow\u002F3.order-and-wallet-saga",{"title":53,"path":54,"stem":55},"FX fees and rounding","\u002Fdocs\u002Fintegration-flow\u002Ffx-fees-and-rounding","docs\u002F2.integration-flow\u002F4.fx-fees-and-rounding",{"title":57,"path":58,"stem":59,"children":60,"page":21},"Dashboard","\u002Fdocs\u002Fdashboard","docs\u002F3.dashboard",[61,64,68,72,76],{"title":10,"path":62,"stem":63},"\u002Fdocs\u002Fdashboard\u002Foverview","docs\u002F3.dashboard\u002F1.overview",{"title":65,"path":66,"stem":67},"API keys","\u002Fdocs\u002Fdashboard\u002Fapi-keys","docs\u002F3.dashboard\u002F2.api-keys",{"title":69,"path":70,"stem":71},"Wallet adapter settings","\u002Fdocs\u002Fdashboard\u002Fwallet-adapter-settings","docs\u002F3.dashboard\u002F3.wallet-adapter-settings",{"title":73,"path":74,"stem":75},"Webhook endpoints","\u002Fdocs\u002Fdashboard\u002Fwebhook-endpoints","docs\u002F3.dashboard\u002F4.webhook-endpoints",{"title":77,"path":78,"stem":79},"Market visibility","\u002Fdocs\u002Fdashboard\u002Fmarket-visibility","docs\u002F3.dashboard\u002F5.market-visibility",{"title":81,"path":82,"stem":83,"children":84,"page":21},"Operator Api","\u002Fdocs\u002Foperator-api","docs\u002F4.operator-api",[85,89,92,96,100,104,107,111,115,119,123,127,131],{"title":86,"path":87,"stem":88},"Authentication","\u002Fdocs\u002Foperator-api\u002Fauthentication","docs\u002F4.operator-api\u002F1.authentication",{"title":73,"path":90,"stem":91},"\u002Fdocs\u002Foperator-api\u002Fwebhook-endpoints","docs\u002F4.operator-api\u002F10.webhook-endpoints",{"title":93,"path":94,"stem":95},"Webhook deliveries","\u002Fdocs\u002Foperator-api\u002Fwebhook-deliveries","docs\u002F4.operator-api\u002F11.webhook-deliveries",{"title":97,"path":98,"stem":99},"Simulator","\u002Fdocs\u002Foperator-api\u002Fsimulator","docs\u002F4.operator-api\u002F12.simulator",{"title":101,"path":102,"stem":103},"Error codes","\u002Fdocs\u002Foperator-api\u002Ferror-codes","docs\u002F4.operator-api\u002F13.error-codes",{"title":65,"path":105,"stem":106},"\u002Fdocs\u002Foperator-api\u002Fapi-keys","docs\u002F4.operator-api\u002F2.api-keys",{"title":108,"path":109,"stem":110},"Session","\u002Fdocs\u002Foperator-api\u002Fsession","docs\u002F4.operator-api\u002F3.session",{"title":112,"path":113,"stem":114},"Launch","\u002Fdocs\u002Foperator-api\u002Flaunch","docs\u002F4.operator-api\u002F4.launch",{"title":116,"path":117,"stem":118},"Users","\u002Fdocs\u002Foperator-api\u002Fusers","docs\u002F4.operator-api\u002F5.users",{"title":120,"path":121,"stem":122},"Markets","\u002Fdocs\u002Foperator-api\u002Fmarkets","docs\u002F4.operator-api\u002F6.markets",{"title":124,"path":125,"stem":126},"Trades","\u002Fdocs\u002Foperator-api\u002Ftrades","docs\u002F4.operator-api\u002F7.trades",{"title":128,"path":129,"stem":130},"Redemptions","\u002Fdocs\u002Foperator-api\u002Fredemptions","docs\u002F4.operator-api\u002F8.redemptions",{"title":132,"path":133,"stem":134},"Balance operations","\u002Fdocs\u002Foperator-api\u002Fbalance-operations","docs\u002F4.operator-api\u002F9.balance-operations",{"title":136,"path":137,"stem":138,"children":139,"page":21},"Wallet Adapter","\u002Fdocs\u002Fwallet-adapter","docs\u002F5.wallet-adapter",[140,143,146,150,154,158,162,166],{"title":10,"path":141,"stem":142},"\u002Fdocs\u002Fwallet-adapter\u002Foverview","docs\u002F5.wallet-adapter\u002F1.overview",{"title":86,"path":144,"stem":145},"\u002Fdocs\u002Fwallet-adapter\u002Fauthentication","docs\u002F5.wallet-adapter\u002F2.authentication",{"title":147,"path":148,"stem":149},"Balance","\u002Fdocs\u002Fwallet-adapter\u002Fbalance","docs\u002F5.wallet-adapter\u002F3.balance",{"title":151,"path":152,"stem":153},"Debit","\u002Fdocs\u002Fwallet-adapter\u002Fdebit","docs\u002F5.wallet-adapter\u002F4.debit",{"title":155,"path":156,"stem":157},"Credit","\u002Fdocs\u002Fwallet-adapter\u002Fcredit","docs\u002F5.wallet-adapter\u002F5.credit",{"title":159,"path":160,"stem":161},"Debit reversal","\u002Fdocs\u002Fwallet-adapter\u002Fdebit-reversal","docs\u002F5.wallet-adapter\u002F6.debit-reversal",{"title":163,"path":164,"stem":165},"Operation lookup","\u002Fdocs\u002Fwallet-adapter\u002Foperation-lookup","docs\u002F5.wallet-adapter\u002F7.operation-lookup",{"title":167,"path":168,"stem":169},"Idempotency","\u002Fdocs\u002Fwallet-adapter\u002Fidempotency","docs\u002F5.wallet-adapter\u002F8.idempotency",{"title":171,"path":172,"stem":173,"children":174,"page":21},"Webhooks","\u002Fdocs\u002Fwebhooks","docs\u002F6.webhooks",[175,178,182,186,190,194],{"title":10,"path":176,"stem":177},"\u002Fdocs\u002Fwebhooks\u002Foverview","docs\u002F6.webhooks\u002F1.overview",{"title":179,"path":180,"stem":181},"Signatures","\u002Fdocs\u002Fwebhooks\u002Fsignatures","docs\u002F6.webhooks\u002F2.signatures",{"title":183,"path":184,"stem":185},"Event envelope","\u002Fdocs\u002Fwebhooks\u002Fevent-envelope","docs\u002F6.webhooks\u002F3.event-envelope",{"title":187,"path":188,"stem":189},"Event types","\u002Fdocs\u002Fwebhooks\u002Fevent-types","docs\u002F6.webhooks\u002F4.event-types",{"title":191,"path":192,"stem":193},"Retry and replay","\u002Fdocs\u002Fwebhooks\u002Fretry-and-replay","docs\u002F6.webhooks\u002F5.retry-and-replay",{"title":195,"path":196,"stem":197},"Receiver examples","\u002Fdocs\u002Fwebhooks\u002Freceiver-examples","docs\u002F6.webhooks\u002F6.receiver-examples",{"title":199,"path":200,"stem":201,"children":202,"page":21},"Testing And Staging","\u002Fdocs\u002Ftesting-and-staging","docs\u002F7.testing-and-staging",[203,207,210,214,218],{"title":204,"path":205,"stem":206},"Staging overview","\u002Fdocs\u002Ftesting-and-staging\u002Fstaging-overview","docs\u002F7.testing-and-staging\u002F1.staging-overview",{"title":97,"path":208,"stem":209},"\u002Fdocs\u002Ftesting-and-staging\u002Fsimulator","docs\u002F7.testing-and-staging\u002F2.simulator",{"title":211,"path":212,"stem":213},"Wallet failure drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwallet-failure-drills","docs\u002F7.testing-and-staging\u002F3.wallet-failure-drills",{"title":215,"path":216,"stem":217},"Webhook drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwebhook-drills","docs\u002F7.testing-and-staging\u002F4.webhook-drills",{"title":219,"path":220,"stem":221},"Production cutover rehearsal","\u002Fdocs\u002Ftesting-and-staging\u002Fproduction-cutover-rehearsal","docs\u002F7.testing-and-staging\u002F5.production-cutover-rehearsal",{"title":223,"path":224,"stem":225,"children":226,"page":21},"Production Readiness","\u002Fdocs\u002Fproduction-readiness","docs\u002F8.production-readiness",[227,231,235,239],{"title":228,"path":229,"stem":230},"Checklist","\u002Fdocs\u002Fproduction-readiness\u002Fchecklist","docs\u002F8.production-readiness\u002F1.checklist",{"title":232,"path":233,"stem":234},"Operational runbook","\u002Fdocs\u002Fproduction-readiness\u002Foperational-runbook","docs\u002F8.production-readiness\u002F2.operational-runbook",{"title":236,"path":237,"stem":238},"Security","\u002Fdocs\u002Fproduction-readiness\u002Fsecurity","docs\u002F8.production-readiness\u002F3.security",{"title":240,"path":241,"stem":242},"Rollback","\u002Fdocs\u002Fproduction-readiness\u002Frollback","docs\u002F8.production-readiness\u002F4.rollback",{"title":244,"path":245,"stem":246,"children":247,"page":21},"Reference","\u002Fdocs\u002Freference","docs\u002F9.reference",[248,252,256,260,264],{"title":249,"path":250,"stem":251},"Statuses","\u002Fdocs\u002Freference\u002Fstatuses","docs\u002F9.reference\u002F1.statuses",{"title":253,"path":254,"stem":255},"Scopes","\u002Fdocs\u002Freference\u002Fscopes","docs\u002F9.reference\u002F2.scopes",{"title":257,"path":258,"stem":259},"Units and money","\u002Fdocs\u002Freference\u002Funits-and-money","docs\u002F9.reference\u002F3.units-and-money",{"title":261,"path":262,"stem":263},"Changelog","\u002Fdocs\u002Freference\u002Fchangelog","docs\u002F9.reference\u002F4.changelog",{"title":265,"path":266,"stem":267},"Virtual AMM","\u002Fdocs\u002Freference\u002Fvirtual-amm","docs\u002F9.reference\u002F5.virtual-amm",{"id":269,"title":28,"body":270,"description":702,"extension":703,"links":704,"meta":705,"navigation":706,"path":29,"seo":707,"stem":30,"__hash__":708},"docs\u002Fdocs\u002F10.troubleshooting\u002F1.common-errors.md",{"type":271,"value":272,"toc":693},"minimark",[273,277,281,286,336,340,503,507,563,567,570,662,666,669],[274,275,28],"h1",{"id":276},"common-errors",[278,279,280],"p",{},"Use error code plus surrounding record state together.",[282,283,285],"h2",{"id":284},"authentication-and-scope","Authentication and scope",[287,288,289,305],"table",{},[290,291,292],"thead",{},[293,294,295,299,302],"tr",{},[296,297,298],"th",{},"Error",[296,300,301],{},"Likely cause",[296,303,304],{},"Next action",[306,307,308,323],"tbody",{},[293,309,310,317,320],{},[311,312,313],"td",{},[314,315,316],"code",{},"INVALID_API_KEY",[311,318,319],{},"missing bearer token, revoked key, wrong token",[311,321,322],{},"confirm key value, revocation state, and target environment",[293,324,325,330,333],{},[311,326,327],{},[314,328,329],{},"INSUFFICIENT_SCOPE",[311,331,332],{},"key missing route scope",[311,334,335],{},"add required scope or use different key",[282,337,339],{"id":338},"request-validation","Request validation",[287,341,342,352],{},[290,343,344],{},[293,345,346,348,350],{},[296,347,298],{},[296,349,301],{},[296,351,304],{},[306,353,354,370,388,401,414,431,451,464,490],{},[293,355,356,361,367],{},[311,357,358],{},[314,359,360],{},"INVALID_NAME",[311,362,363,364],{},"API key create request missing ",[314,365,366],{},"name",[311,368,369],{},"send non-empty key name",[293,371,372,377,380],{},[311,373,374],{},[314,375,376],{},"INVALID_SCOPES",[311,378,379],{},"scope list empty or unsupported",[311,381,382,383],{},"use source-truth scopes from ",[384,385,386],"a",{"href":254},[314,387,254],{},[293,389,390,395,398],{},[311,391,392],{},[314,393,394],{},"INVALID_ID",[311,396,397],{},"path param not positive integer",[311,399,400],{},"validate resource ID before request",[293,402,403,408,411],{},[311,404,405],{},[314,406,407],{},"INVALID_URL",[311,409,410],{},"webhook endpoint URL invalid or not allowed",[311,412,413],{},"use HTTPS except allowed localhost testing cases",[293,415,416,421,424],{},[311,417,418],{},[314,419,420],{},"INVALID_ENABLED_EVENTS",[311,422,423],{},"webhook event name unsupported",[311,425,426,427],{},"use event names from ",[384,428,429],{"href":188},[314,430,188],{},[293,432,433,438,441],{},[311,434,435],{},[314,436,437],{},"INVALID_STATUS",[311,439,440],{},"webhook endpoint patch sent unsupported status",[311,442,443,444,447,448],{},"use ",[314,445,446],{},"active"," or ",[314,449,450],{},"disabled",[293,452,453,458,461],{},[311,454,455],{},[314,456,457],{},"INVALID_ENDPOINT_ID",[311,459,460],{},"replay or patch target ID invalid",[311,462,463],{},"confirm webhook endpoint or delivery ID",[293,465,466,471,474],{},[311,467,468],{},[314,469,470],{},"INVALID_DIRECTION",[311,472,473],{},"simulator direction invalid",[311,475,443,476,479,480,479,483,486,487],{},[314,477,478],{},"debit",", ",[314,481,482],{},"credit",[314,484,485],{},"debit_reversal",", or ",[314,488,489],{},"credit_reversal",[293,491,492,497,500],{},[311,493,494],{},[314,495,496],{},"INVALID_AMOUNT_MINOR",[311,498,499],{},"simulator amount not positive integer",[311,501,502],{},"send positive integer in minor units",[282,504,506],{"id":505},"resource-and-state","Resource and state",[287,508,509,519],{},[290,510,511],{},[293,512,513,515,517],{},[296,514,298],{},[296,516,301],{},[296,518,304],{},[306,520,521,534,547],{},[293,522,523,528,531],{},[311,524,525],{},[314,526,527],{},"NOT_FOUND",[311,529,530],{},"resource missing or not visible to authenticated operator",[311,532,533],{},"verify ownership and ID",[293,535,536,541,544],{},[311,537,538],{},[314,539,540],{},"SIMULATOR_DISABLED",[311,542,543],{},"operator not configured for simulator mode",[311,545,546],{},"enable simulator in staging config or use real wallet adapter flow",[293,548,549,554,560],{},[311,550,551],{},[314,552,553],{},"OPERATOR_USER_NOT_FOUND",[311,555,556,557],{},"user not created or wrong ",[314,558,559],{},"external_user_id",[311,561,562],{},"create launch\u002Fsession first, then retry simulator call",[282,564,566],{"id":565},"webhook-receiver-failures","Webhook receiver failures",[278,568,569],{},"These may appear in receiver logs or delivery samples rather than operator API JSON.",[287,571,572,582],{},[290,573,574],{},[293,575,576,578,580],{},[296,577,298],{},[296,579,301],{},[296,581,304],{},[306,583,584,597,610,623,636,649],{},[293,585,586,591,594],{},[311,587,588],{},[314,589,590],{},"MISSING_SIGNATURE_HEADERS",[311,592,593],{},"receiver expected headers missing",[311,595,596],{},"inspect reverse proxy or framework raw request handling",[293,598,599,604,607],{},[311,600,601],{},[314,602,603],{},"INVALID_SIGNATURE",[311,605,606],{},"wrong secret or wrong raw-body handling",[311,608,609],{},"verify stored secret and use raw body bytes",[293,611,612,617,620],{},[311,613,614],{},[314,615,616],{},"INVALID_TIMESTAMP",[311,618,619],{},"timestamp header unparsable",[311,621,622],{},"inspect header handling",[293,624,625,630,633],{},[311,626,627],{},[314,628,629],{},"TIMESTAMP_SKEW_TOO_LARGE",[311,631,632],{},"receiver clock drift or replayed old request",[311,634,635],{},"fix system clock and reject stale delivery",[293,637,638,643,646],{},[311,639,640],{},[314,641,642],{},"EVENT_ID_MISMATCH",[311,644,645],{},"body and header mismatch",[311,647,648],{},"inspect custom middleware or body transforms",[293,650,651,656,659],{},[311,652,653],{},[314,654,655],{},"DUPLICATE_EVENT_ID",[311,657,658],{},"delivery already processed",[311,660,661],{},"keep idempotent receiver behavior",[282,663,665],{"id":664},"when-to-escalate","When to escalate",[278,667,668],{},"Escalate after you collect:",[670,671,672,676,679,682,690],"ul",{},[673,674,675],"li",{},"request path",[673,677,678],{},"response status",[673,680,681],{},"operator API key scope set",[673,683,684,447,687],{},[314,685,686],{},"event_id",[314,688,689],{},"idempotency_key",[673,691,692],{},"relevant UTC timestamps",{"title":694,"searchDepth":695,"depth":695,"links":696},"",2,[697,698,699,700,701],{"id":284,"depth":695,"text":285},{"id":338,"depth":695,"text":339},{"id":505,"depth":695,"text":506},{"id":565,"depth":695,"text":566},{"id":664,"depth":695,"text":665},"Common integration errors and how operators should respond.","md",null,{},true,{"title":28,"description":702},"FmgMNrPjIvzDPdRWUThBo7Blqo5zGKN3Tpx7issmcnE",[710,712],{"title":18,"path":19,"stem":20,"description":711,"children":-1},"How environment-specific base URLs are handled without changing URL paths.",{"title":32,"path":33,"stem":34,"description":713,"children":-1},"What to collect before escalating an integration issue.",1781957290954]