What sandbox has
- Your tokens: sandbox CETs linked to your account, one per chain deployment.
GET /tokenslists them; use any of them below. - Real market status. A token’s
marketStatusfollows the real underlying market, so outside US market hours you readCLOSEDwithPRE_MARKETorPOST_MARKET, as in production. - A webhook endpoint registered by your Securitize contact, with its signing secret. Point it at your sandbox handler.
- Scenarios that create corporate actions marked as sandbox tests. They are never executed: no dividend is paid, no multiplier changes.
Trigger a scenario
sourceEventId and sequence.
The scenarios
What to check after a run
- Every step reached your endpoint, signed, and you answered
2xx. Compare with the event list:GET $EVENTS/events?since=<the run's first executedAt>(the webhooks base URL, see Replay and recover) returns the samesourceEventIds. - Order came from
sequence, not from arrival. Deliveries are parallel: theca.action.completedof a lifecycle can arrive before itsca.action.updated. Sort what you received bystream.idandsequenceand the scenario’s order appears. - Each object ended in the right state.
GET /corporate-actions/{sourceCaId}afterCASH_DIVIDEND_LIFECYCLEis version 5,COMPLETED, withsettlement; afterCA_CANCELLED,CANCELLEDwithcancellationReason; afterCA_SUPERSEDED, the old one isCANCELLEDwithsupersededByCaIdset. - A restriction changed the status. During
RESTRICTION_LIFECYCLE,GET /tokens/{tokenId}/statusreadsUNAVAILABLEwithreasonOTHERand one entry inactiveRestrictions; afterca.restriction.removed, it is back to the market’s status. The scenario runs in a second, so read the status from the events rather than by polling. - Duplicates were harmless. Run
POST /events/recoverover the window and confirm that nothing in your state changed.
Sandbox differences
- Scenarios run at once; in production, the steps of a corporate action are days or weeks apart.
- Sandbox corporate actions are marked as tests in
descriptionand are never executed. - Unknown-scenario requests answer
400; a token outside your account answers404 TOKEN_NOT_FOUND, as in every other call.