[{"data":1,"prerenderedAt":1226},["ShallowReactive",2],{"navigation_docs":3,"-docs-webhooks-event-envelope":352,"-docs-webhooks-event-envelope-surround":1221},[4,22,35,60,81,137,223,254,282,306,327],{"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},"Polyflight","\u002Fdocs\u002Fpolyflight","docs\u002F11.polyflight",[40,44,48,52,56],{"title":41,"path":42,"stem":43},"Polyflight overview and launch","\u002Fdocs\u002Fpolyflight\u002Foverview-and-launch","docs\u002F11.polyflight\u002F1.overview-and-launch",{"title":45,"path":46,"stem":47},"Native wallet contract","\u002Fdocs\u002Fpolyflight\u002Fnative-wallet-contract","docs\u002F11.polyflight\u002F2.native-wallet-contract",{"title":49,"path":50,"stem":51},"API, events, and proof","\u002Fdocs\u002Fpolyflight\u002Fapi-events-and-proof","docs\u002F11.polyflight\u002F3.api-events-and-proof",{"title":53,"path":54,"stem":55},"Terms, statements, and settlement","\u002Fdocs\u002Fpolyflight\u002Fterms-statements-and-settlement","docs\u002F11.polyflight\u002F4.terms-statements-and-settlement",{"title":57,"path":58,"stem":59},"Operations, reconciliation, and rollback","\u002Fdocs\u002Fpolyflight\u002Foperations-reconciliation-and-rollback","docs\u002F11.polyflight\u002F5.operations-reconciliation-and-rollback",{"title":61,"path":62,"stem":63,"children":64,"page":21},"Integration Flow","\u002Fdocs\u002Fintegration-flow","docs\u002F2.integration-flow",[65,69,73,77],{"title":66,"path":67,"stem":68},"Architecture","\u002Fdocs\u002Fintegration-flow\u002Farchitecture","docs\u002F2.integration-flow\u002F1.architecture",{"title":70,"path":71,"stem":72},"Launch session model","\u002Fdocs\u002Fintegration-flow\u002Flaunch-session-model","docs\u002F2.integration-flow\u002F2.launch-session-model",{"title":74,"path":75,"stem":76},"Order and wallet saga","\u002Fdocs\u002Fintegration-flow\u002Forder-and-wallet-saga","docs\u002F2.integration-flow\u002F3.order-and-wallet-saga",{"title":78,"path":79,"stem":80},"FX fees and rounding","\u002Fdocs\u002Fintegration-flow\u002Ffx-fees-and-rounding","docs\u002F2.integration-flow\u002F4.fx-fees-and-rounding",{"title":82,"path":83,"stem":84,"children":85,"page":21},"Dashboard","\u002Fdocs\u002Fdashboard","docs\u002F3.dashboard",[86,89,93,97,101,105,109,113,117,121,125,129,133],{"title":10,"path":87,"stem":88},"\u002Fdocs\u002Fdashboard\u002Foverview","docs\u002F3.dashboard\u002F1.overview",{"title":90,"path":91,"stem":92},"Webhook Deliveries","\u002Fdocs\u002Fdashboard\u002Fwebhook-deliveries","docs\u002F3.dashboard\u002F10.webhook-deliveries",{"title":94,"path":95,"stem":96},"Staffs","\u002Fdocs\u002Fdashboard\u002Fstaffs","docs\u002F3.dashboard\u002F11.staffs",{"title":98,"path":99,"stem":100},"Simulator","\u002Fdocs\u002Fdashboard\u002Fsimulator","docs\u002F3.dashboard\u002F12.simulator",{"title":102,"path":103,"stem":104},"API Playground","\u002Fdocs\u002Fdashboard\u002Fapi-playground","docs\u002F3.dashboard\u002F13.api-playground",{"title":106,"path":107,"stem":108},"API keys","\u002Fdocs\u002Fdashboard\u002Fapi-keys","docs\u002F3.dashboard\u002F2.api-keys",{"title":110,"path":111,"stem":112},"Wallet adapter settings","\u002Fdocs\u002Fdashboard\u002Fwallet-adapter-settings","docs\u002F3.dashboard\u002F3.wallet-adapter-settings",{"title":114,"path":115,"stem":116},"Webhook endpoints","\u002Fdocs\u002Fdashboard\u002Fwebhook-endpoints","docs\u002F3.dashboard\u002F4.webhook-endpoints",{"title":118,"path":119,"stem":120},"Markets and visibility","\u002Fdocs\u002Fdashboard\u002Fmarket-visibility","docs\u002F3.dashboard\u002F5.market-visibility",{"title":122,"path":123,"stem":124},"Users","\u002Fdocs\u002Fdashboard\u002Fusers","docs\u002F3.dashboard\u002F6.users",{"title":126,"path":127,"stem":128},"Trades","\u002Fdocs\u002Fdashboard\u002Ftrades","docs\u002F3.dashboard\u002F7.trades",{"title":130,"path":131,"stem":132},"Resolutions","\u002Fdocs\u002Fdashboard\u002Fresolutions","docs\u002F3.dashboard\u002F8.resolutions",{"title":134,"path":135,"stem":136},"Balance Operations","\u002Fdocs\u002Fdashboard\u002Fbalance-operations","docs\u002F3.dashboard\u002F9.balance-operations",{"title":138,"path":139,"stem":140,"children":141,"page":21},"Operator Api","\u002Fdocs\u002Foperator-api","docs\u002F4.operator-api",[142,146,149,153,156,160,163,167,171,175,179,183,186,190,194,198,202,206,209,213,216,219],{"title":143,"path":144,"stem":145},"Authentication","\u002Fdocs\u002Foperator-api\u002Fauthentication","docs\u002F4.operator-api\u002F1.authentication",{"title":114,"path":147,"stem":148},"\u002Fdocs\u002Foperator-api\u002Fwebhook-endpoints","docs\u002F4.operator-api\u002F10.webhook-endpoints",{"title":150,"path":151,"stem":152},"Webhook deliveries","\u002Fdocs\u002Foperator-api\u002Fwebhook-deliveries","docs\u002F4.operator-api\u002F11.webhook-deliveries",{"title":98,"path":154,"stem":155},"\u002Fdocs\u002Foperator-api\u002Fsimulator","docs\u002F4.operator-api\u002F12.simulator",{"title":157,"path":158,"stem":159},"Wallet adapter","\u002Fdocs\u002Foperator-api\u002Fwallet-adapter","docs\u002F4.operator-api\u002F13.wallet-adapter",{"title":94,"path":161,"stem":162},"\u002Fdocs\u002Foperator-api\u002Fstaffs","docs\u002F4.operator-api\u002F14.staffs",{"title":164,"path":165,"stem":166},"Error codes","\u002Fdocs\u002Foperator-api\u002Ferror-codes","docs\u002F4.operator-api\u002F15.error-codes",{"title":168,"path":169,"stem":170},"Redemptions","\u002Fdocs\u002Foperator-api\u002Fredemptions","docs\u002F4.operator-api\u002F16.redemptions",{"title":172,"path":173,"stem":174},"Polyflight overview","\u002Fdocs\u002Foperator-api\u002Fpolyflight","docs\u002F4.operator-api\u002F17.polyflight",{"title":176,"path":177,"stem":178},"Polyflight flights","\u002Fdocs\u002Foperator-api\u002Fpolyflight-flights","docs\u002F4.operator-api\u002F18.polyflight-flights",{"title":180,"path":181,"stem":182},"Polyflight tickets","\u002Fdocs\u002Foperator-api\u002Fpolyflight-tickets","docs\u002F4.operator-api\u002F19.polyflight-tickets",{"title":106,"path":184,"stem":185},"\u002Fdocs\u002Foperator-api\u002Fapi-keys","docs\u002F4.operator-api\u002F2.api-keys",{"title":187,"path":188,"stem":189},"Polyflight balance operations","\u002Fdocs\u002Foperator-api\u002Fpolyflight-balance-operations","docs\u002F4.operator-api\u002F20.polyflight-balance-operations",{"title":191,"path":192,"stem":193},"Polyflight terms","\u002Fdocs\u002Foperator-api\u002Fpolyflight-terms","docs\u002F4.operator-api\u002F21.polyflight-terms",{"title":195,"path":196,"stem":197},"Polyflight settlement reports","\u002Fdocs\u002Foperator-api\u002Fpolyflight-settlement-reports","docs\u002F4.operator-api\u002F22.polyflight-settlement-reports",{"title":199,"path":200,"stem":201},"Session","\u002Fdocs\u002Foperator-api\u002Fsession","docs\u002F4.operator-api\u002F3.session",{"title":203,"path":204,"stem":205},"Launch","\u002Fdocs\u002Foperator-api\u002Flaunch","docs\u002F4.operator-api\u002F4.launch",{"title":122,"path":207,"stem":208},"\u002Fdocs\u002Foperator-api\u002Fusers","docs\u002F4.operator-api\u002F5.users",{"title":210,"path":211,"stem":212},"Markets","\u002Fdocs\u002Foperator-api\u002Fmarkets","docs\u002F4.operator-api\u002F6.markets",{"title":126,"path":214,"stem":215},"\u002Fdocs\u002Foperator-api\u002Ftrades","docs\u002F4.operator-api\u002F7.trades",{"title":130,"path":217,"stem":218},"\u002Fdocs\u002Foperator-api\u002Fresolutions","docs\u002F4.operator-api\u002F8.resolutions",{"title":220,"path":221,"stem":222},"Balance operations","\u002Fdocs\u002Foperator-api\u002Fbalance-operations","docs\u002F4.operator-api\u002F9.balance-operations",{"title":224,"path":225,"stem":226,"children":227,"page":21},"Wallet Adapter","\u002Fdocs\u002Fwallet-adapter","docs\u002F5.wallet-adapter",[228,231,234,238,242,246,250],{"title":10,"path":229,"stem":230},"\u002Fdocs\u002Fwallet-adapter\u002Foverview","docs\u002F5.wallet-adapter\u002F1.overview",{"title":143,"path":232,"stem":233},"\u002Fdocs\u002Fwallet-adapter\u002Fauthentication","docs\u002F5.wallet-adapter\u002F2.authentication",{"title":235,"path":236,"stem":237},"Balance","\u002Fdocs\u002Fwallet-adapter\u002Fbalance","docs\u002F5.wallet-adapter\u002F3.balance",{"title":239,"path":240,"stem":241},"Debit","\u002Fdocs\u002Fwallet-adapter\u002Fdebit","docs\u002F5.wallet-adapter\u002F4.debit",{"title":243,"path":244,"stem":245},"Credit","\u002Fdocs\u002Fwallet-adapter\u002Fcredit","docs\u002F5.wallet-adapter\u002F5.credit",{"title":247,"path":248,"stem":249},"Debit reversal","\u002Fdocs\u002Fwallet-adapter\u002Fdebit-reversal","docs\u002F5.wallet-adapter\u002F6.debit-reversal",{"title":251,"path":252,"stem":253},"Idempotency","\u002Fdocs\u002Fwallet-adapter\u002Fidempotency","docs\u002F5.wallet-adapter\u002F7.idempotency",{"title":255,"path":256,"stem":257,"children":258,"page":21},"Webhooks","\u002Fdocs\u002Fwebhooks","docs\u002F6.webhooks",[259,262,266,270,274,278],{"title":10,"path":260,"stem":261},"\u002Fdocs\u002Fwebhooks\u002Foverview","docs\u002F6.webhooks\u002F1.overview",{"title":263,"path":264,"stem":265},"Signatures","\u002Fdocs\u002Fwebhooks\u002Fsignatures","docs\u002F6.webhooks\u002F2.signatures",{"title":267,"path":268,"stem":269},"Event envelope","\u002Fdocs\u002Fwebhooks\u002Fevent-envelope","docs\u002F6.webhooks\u002F3.event-envelope",{"title":271,"path":272,"stem":273},"Event types","\u002Fdocs\u002Fwebhooks\u002Fevent-types","docs\u002F6.webhooks\u002F4.event-types",{"title":275,"path":276,"stem":277},"Retry and replay","\u002Fdocs\u002Fwebhooks\u002Fretry-and-replay","docs\u002F6.webhooks\u002F5.retry-and-replay",{"title":279,"path":280,"stem":281},"Receiver examples","\u002Fdocs\u002Fwebhooks\u002Freceiver-examples","docs\u002F6.webhooks\u002F6.receiver-examples",{"title":283,"path":284,"stem":285,"children":286,"page":21},"Testing And Staging","\u002Fdocs\u002Ftesting-and-staging","docs\u002F7.testing-and-staging",[287,291,294,298,302],{"title":288,"path":289,"stem":290},"Staging overview","\u002Fdocs\u002Ftesting-and-staging\u002Fstaging-overview","docs\u002F7.testing-and-staging\u002F1.staging-overview",{"title":98,"path":292,"stem":293},"\u002Fdocs\u002Ftesting-and-staging\u002Fsimulator","docs\u002F7.testing-and-staging\u002F2.simulator",{"title":295,"path":296,"stem":297},"Wallet failure drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwallet-failure-drills","docs\u002F7.testing-and-staging\u002F3.wallet-failure-drills",{"title":299,"path":300,"stem":301},"Webhook drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwebhook-drills","docs\u002F7.testing-and-staging\u002F4.webhook-drills",{"title":303,"path":304,"stem":305},"Production cutover rehearsal","\u002Fdocs\u002Ftesting-and-staging\u002Fproduction-cutover-rehearsal","docs\u002F7.testing-and-staging\u002F5.production-cutover-rehearsal",{"title":307,"path":308,"stem":309,"children":310,"page":21},"Production Readiness","\u002Fdocs\u002Fproduction-readiness","docs\u002F8.production-readiness",[311,315,319,323],{"title":312,"path":313,"stem":314},"Checklist","\u002Fdocs\u002Fproduction-readiness\u002Fchecklist","docs\u002F8.production-readiness\u002F1.checklist",{"title":316,"path":317,"stem":318},"Operational runbook","\u002Fdocs\u002Fproduction-readiness\u002Foperational-runbook","docs\u002F8.production-readiness\u002F2.operational-runbook",{"title":320,"path":321,"stem":322},"Security","\u002Fdocs\u002Fproduction-readiness\u002Fsecurity","docs\u002F8.production-readiness\u002F3.security",{"title":324,"path":325,"stem":326},"Rollback","\u002Fdocs\u002Fproduction-readiness\u002Frollback","docs\u002F8.production-readiness\u002F4.rollback",{"title":328,"path":329,"stem":330,"children":331,"page":21},"Reference","\u002Fdocs\u002Freference","docs\u002F9.reference",[332,336,340,344,348],{"title":333,"path":334,"stem":335},"Statuses","\u002Fdocs\u002Freference\u002Fstatuses","docs\u002F9.reference\u002F1.statuses",{"title":337,"path":338,"stem":339},"Scopes","\u002Fdocs\u002Freference\u002Fscopes","docs\u002F9.reference\u002F2.scopes",{"title":341,"path":342,"stem":343},"Units and money","\u002Fdocs\u002Freference\u002Funits-and-money","docs\u002F9.reference\u002F3.units-and-money",{"title":345,"path":346,"stem":347},"Changelog","\u002Fdocs\u002Freference\u002Fchangelog","docs\u002F9.reference\u002F4.changelog",{"title":349,"path":350,"stem":351},"Virtual AMM","\u002Fdocs\u002Freference\u002Fvirtual-amm","docs\u002F9.reference\u002F5.virtual-amm",{"id":353,"title":267,"body":354,"description":1214,"extension":1215,"links":1216,"meta":1217,"navigation":1218,"path":268,"seo":1219,"stem":269,"__hash__":1220},"docs\u002Fdocs\u002F6.webhooks\u002F3.event-envelope.md",{"type":355,"value":356,"toc":1207},"minimark",[357,361,365,370,954,958,1091,1095,1152,1156,1182,1186,1203],[358,359,267],"h1",{"id":360},"event-envelope",[362,363,364],"p",{},"Every webhook payload uses same outer envelope.",[366,367,369],"h2",{"id":368},"example","Example",[371,372,377],"pre",{"className":373,"code":374,"language":375,"meta":376,"style":376},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"event_id\": \"4f35af6b-6aa3-4a6d-bc6f-9a5b24ad7bb0\",\n  \"event_type\": \"mini_app.trade.processed\",\n  \"operator_id\": 12,\n  \"occurred_at\": \"2026-06-18T00:00:00.000Z\",\n  \"aggregate_type\": \"mini_app_order\",\n  \"aggregate_id\": \"123\",\n  \"idempotency_key\": \"mini_app_order:123:processed\",\n  \"data\": {\n    \"order_id\": 123,\n    \"trade_id\": 456,\n    \"executed_trade_id\": 456,\n    \"operator_id\": 12,\n    \"operator_user_id\": 34,\n    \"polynion_user_id\": 789,\n    \"external_user_id\": \"operator-user-123\",\n    \"market_id\": 51,\n    \"side\": \"buy\",\n    \"outcome\": \"yes\",\n    \"status\": \"processed\",\n    \"requested_external_amount_minor\": 10000,\n    \"requested_shares_micro\": null,\n    \"quoted_credits_equivalent\": 6340,\n    \"quoted_external_amount_minor\": 10000,\n    \"shares_micro\": 1234500,\n    \"balance_spent\": 10000,\n    \"trade_fee\": 39,\n    \"trade_fee_credits\": 25,\n    \"currency_code\": \"IDR\",\n    \"fx_rate_snapshot_id\": 88,\n    \"failure_reason\": null\n  }\n}\n","json","",[378,379,380,389,417,438,456,477,498,519,540,555,574,591,607,622,639,656,677,694,715,736,757,774,789,806,822,839,855,872,889,910,927,942,948],"code",{"__ignoreMap":376},[381,382,385],"span",{"class":383,"line":384},"line",1,[381,386,388],{"class":387},"sMK4o","{\n",[381,390,392,395,399,402,405,408,412,414],{"class":383,"line":391},2,[381,393,394],{"class":387},"  \"",[381,396,398],{"class":397},"spNyl","event_id",[381,400,401],{"class":387},"\"",[381,403,404],{"class":387},":",[381,406,407],{"class":387}," \"",[381,409,411],{"class":410},"sfazB","4f35af6b-6aa3-4a6d-bc6f-9a5b24ad7bb0",[381,413,401],{"class":387},[381,415,416],{"class":387},",\n",[381,418,420,422,425,427,429,431,434,436],{"class":383,"line":419},3,[381,421,394],{"class":387},[381,423,424],{"class":397},"event_type",[381,426,401],{"class":387},[381,428,404],{"class":387},[381,430,407],{"class":387},[381,432,433],{"class":410},"mini_app.trade.processed",[381,435,401],{"class":387},[381,437,416],{"class":387},[381,439,441,443,446,448,450,454],{"class":383,"line":440},4,[381,442,394],{"class":387},[381,444,445],{"class":397},"operator_id",[381,447,401],{"class":387},[381,449,404],{"class":387},[381,451,453],{"class":452},"sbssI"," 12",[381,455,416],{"class":387},[381,457,459,461,464,466,468,470,473,475],{"class":383,"line":458},5,[381,460,394],{"class":387},[381,462,463],{"class":397},"occurred_at",[381,465,401],{"class":387},[381,467,404],{"class":387},[381,469,407],{"class":387},[381,471,472],{"class":410},"2026-06-18T00:00:00.000Z",[381,474,401],{"class":387},[381,476,416],{"class":387},[381,478,480,482,485,487,489,491,494,496],{"class":383,"line":479},6,[381,481,394],{"class":387},[381,483,484],{"class":397},"aggregate_type",[381,486,401],{"class":387},[381,488,404],{"class":387},[381,490,407],{"class":387},[381,492,493],{"class":410},"mini_app_order",[381,495,401],{"class":387},[381,497,416],{"class":387},[381,499,501,503,506,508,510,512,515,517],{"class":383,"line":500},7,[381,502,394],{"class":387},[381,504,505],{"class":397},"aggregate_id",[381,507,401],{"class":387},[381,509,404],{"class":387},[381,511,407],{"class":387},[381,513,514],{"class":410},"123",[381,516,401],{"class":387},[381,518,416],{"class":387},[381,520,522,524,527,529,531,533,536,538],{"class":383,"line":521},8,[381,523,394],{"class":387},[381,525,526],{"class":397},"idempotency_key",[381,528,401],{"class":387},[381,530,404],{"class":387},[381,532,407],{"class":387},[381,534,535],{"class":410},"mini_app_order:123:processed",[381,537,401],{"class":387},[381,539,416],{"class":387},[381,541,543,545,548,550,552],{"class":383,"line":542},9,[381,544,394],{"class":387},[381,546,547],{"class":397},"data",[381,549,401],{"class":387},[381,551,404],{"class":387},[381,553,554],{"class":387}," {\n",[381,556,558,561,565,567,569,572],{"class":383,"line":557},10,[381,559,560],{"class":387},"    \"",[381,562,564],{"class":563},"sBMFI","order_id",[381,566,401],{"class":387},[381,568,404],{"class":387},[381,570,571],{"class":452}," 123",[381,573,416],{"class":387},[381,575,577,579,582,584,586,589],{"class":383,"line":576},11,[381,578,560],{"class":387},[381,580,581],{"class":563},"trade_id",[381,583,401],{"class":387},[381,585,404],{"class":387},[381,587,588],{"class":452}," 456",[381,590,416],{"class":387},[381,592,594,596,599,601,603,605],{"class":383,"line":593},12,[381,595,560],{"class":387},[381,597,598],{"class":563},"executed_trade_id",[381,600,401],{"class":387},[381,602,404],{"class":387},[381,604,588],{"class":452},[381,606,416],{"class":387},[381,608,610,612,614,616,618,620],{"class":383,"line":609},13,[381,611,560],{"class":387},[381,613,445],{"class":563},[381,615,401],{"class":387},[381,617,404],{"class":387},[381,619,453],{"class":452},[381,621,416],{"class":387},[381,623,625,627,630,632,634,637],{"class":383,"line":624},14,[381,626,560],{"class":387},[381,628,629],{"class":563},"operator_user_id",[381,631,401],{"class":387},[381,633,404],{"class":387},[381,635,636],{"class":452}," 34",[381,638,416],{"class":387},[381,640,642,644,647,649,651,654],{"class":383,"line":641},15,[381,643,560],{"class":387},[381,645,646],{"class":563},"polynion_user_id",[381,648,401],{"class":387},[381,650,404],{"class":387},[381,652,653],{"class":452}," 789",[381,655,416],{"class":387},[381,657,659,661,664,666,668,670,673,675],{"class":383,"line":658},16,[381,660,560],{"class":387},[381,662,663],{"class":563},"external_user_id",[381,665,401],{"class":387},[381,667,404],{"class":387},[381,669,407],{"class":387},[381,671,672],{"class":410},"operator-user-123",[381,674,401],{"class":387},[381,676,416],{"class":387},[381,678,680,682,685,687,689,692],{"class":383,"line":679},17,[381,681,560],{"class":387},[381,683,684],{"class":563},"market_id",[381,686,401],{"class":387},[381,688,404],{"class":387},[381,690,691],{"class":452}," 51",[381,693,416],{"class":387},[381,695,697,699,702,704,706,708,711,713],{"class":383,"line":696},18,[381,698,560],{"class":387},[381,700,701],{"class":563},"side",[381,703,401],{"class":387},[381,705,404],{"class":387},[381,707,407],{"class":387},[381,709,710],{"class":410},"buy",[381,712,401],{"class":387},[381,714,416],{"class":387},[381,716,718,720,723,725,727,729,732,734],{"class":383,"line":717},19,[381,719,560],{"class":387},[381,721,722],{"class":563},"outcome",[381,724,401],{"class":387},[381,726,404],{"class":387},[381,728,407],{"class":387},[381,730,731],{"class":410},"yes",[381,733,401],{"class":387},[381,735,416],{"class":387},[381,737,739,741,744,746,748,750,753,755],{"class":383,"line":738},20,[381,740,560],{"class":387},[381,742,743],{"class":563},"status",[381,745,401],{"class":387},[381,747,404],{"class":387},[381,749,407],{"class":387},[381,751,752],{"class":410},"processed",[381,754,401],{"class":387},[381,756,416],{"class":387},[381,758,760,762,765,767,769,772],{"class":383,"line":759},21,[381,761,560],{"class":387},[381,763,764],{"class":563},"requested_external_amount_minor",[381,766,401],{"class":387},[381,768,404],{"class":387},[381,770,771],{"class":452}," 10000",[381,773,416],{"class":387},[381,775,777,779,782,784,786],{"class":383,"line":776},22,[381,778,560],{"class":387},[381,780,781],{"class":563},"requested_shares_micro",[381,783,401],{"class":387},[381,785,404],{"class":387},[381,787,788],{"class":387}," null,\n",[381,790,792,794,797,799,801,804],{"class":383,"line":791},23,[381,793,560],{"class":387},[381,795,796],{"class":563},"quoted_credits_equivalent",[381,798,401],{"class":387},[381,800,404],{"class":387},[381,802,803],{"class":452}," 6340",[381,805,416],{"class":387},[381,807,809,811,814,816,818,820],{"class":383,"line":808},24,[381,810,560],{"class":387},[381,812,813],{"class":563},"quoted_external_amount_minor",[381,815,401],{"class":387},[381,817,404],{"class":387},[381,819,771],{"class":452},[381,821,416],{"class":387},[381,823,825,827,830,832,834,837],{"class":383,"line":824},25,[381,826,560],{"class":387},[381,828,829],{"class":563},"shares_micro",[381,831,401],{"class":387},[381,833,404],{"class":387},[381,835,836],{"class":452}," 1234500",[381,838,416],{"class":387},[381,840,842,844,847,849,851,853],{"class":383,"line":841},26,[381,843,560],{"class":387},[381,845,846],{"class":563},"balance_spent",[381,848,401],{"class":387},[381,850,404],{"class":387},[381,852,771],{"class":452},[381,854,416],{"class":387},[381,856,858,860,863,865,867,870],{"class":383,"line":857},27,[381,859,560],{"class":387},[381,861,862],{"class":563},"trade_fee",[381,864,401],{"class":387},[381,866,404],{"class":387},[381,868,869],{"class":452}," 39",[381,871,416],{"class":387},[381,873,875,877,880,882,884,887],{"class":383,"line":874},28,[381,876,560],{"class":387},[381,878,879],{"class":563},"trade_fee_credits",[381,881,401],{"class":387},[381,883,404],{"class":387},[381,885,886],{"class":452}," 25",[381,888,416],{"class":387},[381,890,892,894,897,899,901,903,906,908],{"class":383,"line":891},29,[381,893,560],{"class":387},[381,895,896],{"class":563},"currency_code",[381,898,401],{"class":387},[381,900,404],{"class":387},[381,902,407],{"class":387},[381,904,905],{"class":410},"IDR",[381,907,401],{"class":387},[381,909,416],{"class":387},[381,911,913,915,918,920,922,925],{"class":383,"line":912},30,[381,914,560],{"class":387},[381,916,917],{"class":563},"fx_rate_snapshot_id",[381,919,401],{"class":387},[381,921,404],{"class":387},[381,923,924],{"class":452}," 88",[381,926,416],{"class":387},[381,928,930,932,935,937,939],{"class":383,"line":929},31,[381,931,560],{"class":387},[381,933,934],{"class":563},"failure_reason",[381,936,401],{"class":387},[381,938,404],{"class":387},[381,940,941],{"class":387}," null\n",[381,943,945],{"class":383,"line":944},32,[381,946,947],{"class":387},"  }\n",[381,949,951],{"class":383,"line":950},33,[381,952,953],{"class":387},"}\n",[366,955,957],{"id":956},"fields","Fields",[959,960,961,977],"table",{},[962,963,964],"thead",{},[965,966,967,971,974],"tr",{},[968,969,970],"th",{},"Field",[968,972,973],{},"Type",[968,975,976],{},"Meaning",[978,979,980,995,1008,1022,1035,1051,1064,1077],"tbody",{},[965,981,982,987,992],{},[983,984,985],"td",{},[378,986,398],{},[983,988,989],{},[378,990,991],{},"string",[983,993,994],{},"Globally unique event identifier. Primary dedupe key on receiver side.",[965,996,997,1001,1005],{},[983,998,999],{},[378,1000,424],{},[983,1002,1003],{},[378,1004,991],{},[983,1006,1007],{},"Business event name.",[965,1009,1010,1014,1019],{},[983,1011,1012],{},[378,1013,445],{},[983,1015,1016],{},[378,1017,1018],{},"number",[983,1020,1021],{},"OpenPoly operator record ID for routing and audit.",[965,1023,1024,1028,1032],{},[983,1025,1026],{},[378,1027,463],{},[983,1029,1030],{},[378,1031,991],{},[983,1033,1034],{},"UTC ISO timestamp when event became true.",[965,1036,1037,1041,1045],{},[983,1038,1039],{},[378,1040,484],{},[983,1042,1043],{},[378,1044,991],{},[983,1046,1047,1048,1050],{},"Resource family behind event, such as ",[378,1049,493],{},".",[965,1052,1053,1057,1061],{},[983,1054,1055],{},[378,1056,505],{},[983,1058,1059],{},[378,1060,991],{},[983,1062,1063],{},"Aggregate identifier, always serialized as string.",[965,1065,1066,1070,1074],{},[983,1067,1068],{},[378,1069,526],{},[983,1071,1072],{},[378,1073,991],{},[983,1075,1076],{},"Stable event-level idempotency key from OpenPoly side.",[965,1078,1079,1083,1088],{},[983,1080,1081],{},[378,1082,547],{},[983,1084,1085],{},[378,1086,1087],{},"object",[983,1089,1090],{},"Event-specific payload only.",[366,1092,1094],{"id":1093},"invariants","Invariants",[1096,1097,1098,1104,1109,1116,1122,1125,1128,1141],"ul",{},[1099,1100,1101,1103],"li",{},[378,1102,398],{}," unique across all webhook events",[1099,1105,1106,1108],{},[378,1107,505],{}," always string, even if underlying DB key numeric",[1099,1110,1111,1113,1114],{},[378,1112,547],{}," shape depends on ",[378,1115,424],{},[1099,1117,1118,1119,1121],{},"trade event ",[378,1120,547],{}," is reconstructed from durable order\u002Fuser\u002Foperator\u002Ftrade rows when possible",[1099,1123,1124],{},"no API key, wallet secret, launch token, or session secret in payload",[1099,1126,1127],{},"no raw internal transaction token in payload",[1099,1129,1130,1131,1134,1135,1138,1139],{},"legacy trade fields ",[378,1132,1133],{},"credits_delta"," and ",[378,1136,1137],{},"external_amount_minor"," are not emitted in trade callback ",[378,1140,547],{},[1099,1142,1143,1145,1146,1148,1149,1151],{},[378,1144,862],{}," is historical fee in integer minor units of ",[378,1147,896],{},"; ",[378,1150,879],{}," is same fee denominated in Credits",[366,1153,1155],{"id":1154},"receiver-guidance","Receiver guidance",[1096,1157,1158,1161,1169,1174],{},[1099,1159,1160],{},"store full envelope with raw body hash if audit required",[1099,1162,1163,1164,1166,1167],{},"dedupe by ",[378,1165,398],{},", not by ",[378,1168,505],{},[1099,1170,1171,1172],{},"route business logic by ",[378,1173,424],{},[1099,1175,1176,1177,1134,1179,1181],{},"use ",[378,1178,484],{},[378,1180,505],{}," for correlation, not dedupe",[366,1183,1185],{"id":1184},"related-pages","Related pages",[1096,1187,1188,1196],{},[1099,1189,1190,1191],{},"event list and payloads: ",[1192,1193,1194],"a",{"href":272},[378,1195,272],{},[1099,1197,1198,1199],{},"retry behavior: ",[1192,1200,1201],{"href":276},[378,1202,276],{},[1204,1205,1206],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":376,"searchDepth":391,"depth":391,"links":1208},[1209,1210,1211,1212,1213],{"id":368,"depth":391,"text":369},{"id":956,"depth":391,"text":957},{"id":1093,"depth":391,"text":1094},{"id":1154,"depth":391,"text":1155},{"id":1184,"depth":391,"text":1185},"Shared event envelope for all webhook deliveries.","md",null,{},true,{"title":267,"description":1214},"eXjSvxGFi27FEGO6dbez8mGvuBA8WjmpxbTupiXKjwQ",[1222,1224],{"title":263,"path":264,"stem":265,"description":1223,"children":-1},"Verify webhook signatures and reject replays safely.",{"title":271,"path":272,"stem":273,"description":1225,"children":-1},"Business events sent by OpenPoly to operator webhook receivers.",1789570133508]