Go-Live Checklist

What to confirm with Monark before your platform submits its first production private-company subscription.

📘

Integrating through Apex AscendOS?

The product guidance on this page applies to you. The endpoints, fields and statuses are Monark's; use the AscendOS equivalents listed in Building on Apex AscendOS.

Work through this list in the sandbox, then review it with Monark before your production API key is issued.

Setup

  • Every entity you distribute through is set up as a financial institution, and you hold its financialInstitutionId
  • Your deal or operations team has Alts Desk access, and whoever approves SPVs knows it can be done there or through PUT /primary/v2/partner-approval/target/{id}/approve
  • Your production webhook is registered, verifies the X-Webhook-Signature (Base64 HMAC-SHA256 over the raw body), and skips repeats using X-Webhook-Event-Id
  • Your webhook handler returns a 2xx within 30 seconds and processes afterwards

Investors and Eligibility

  • Every investor has a current accreditation status. Transactions for investors with none, one more than 12 months old, or NOT_APPLICABLE are refused
  • Accreditation is re-collected annually, and investors are prompted before it lapses rather than at the point of order
  • Regulation D offerings are presented only to accredited investors
  • Qualified purchaser and qualified client status is recorded where the offering requires it

Offerings

  • An SPV is presented as investable only when monarkStage is PRIMARY_FUNDRAISE and isApproved is true. Neither condition alone is sufficient
  • Prospective offerings are labelled as upcoming and are clearly non-binding: no signature, no cash check, no gating to submit an indication of interest
  • Deal terms, fees and the all-in price per share are shown before the investor commits
  • The PPM, risk factors, series agreement and subscription agreement preview are available to read before subscribing
  • Share counts shown to the investor are labelled as estimates

Cash

  • The investor's cash balance is checked, and the amount locked or debited, before the transaction is created. Monark does not hold investor cash and cannot see it
  • Reserved cash is released when a transaction reaches Canceled or Failed
  • Your operations team knows to wire the aggregate, including fees, to the SPV account on Monark's request at close, using the wire instructions in the SPV's document set

Orders

  • Every transaction sends a unique referenceId and an IdempotencyKey header
  • A timed-out POST is retried with the same IdempotencyKey, and a retry outside the 24-hour window falls back to a GET /primary/v2/transaction lookup by referenceId before resubmitting
  • Amount inputs validate against minCommitmentAmount and remainingDollarAllocation before submission, including the case where less than the minimum remains and the last investor must take exactly the remainder
  • No seats remaining for the SPV. is handled as a closed offering rather than an error — an SPV can be seat-closed while dollars remain
  • Refusal messages are shown to the investor verbatim, alongside a way to correct and resubmit
  • Your UI branches on the transaction status, not only on the HTTP status code
  • side is sent as Subscription, and enumerations are sent with exactly the casing in the reference

Actions and Signatures

  • Every action returned for a transaction is presented, including ViewDisclosure and Questionnaire, not only documents and text
  • Questionnaire answers are submitted before the questionnaire action is completed
  • The investor is told, before they commit, that reaching Processing makes the subscription binding
  • You retain your own record of each acknowledgement and signature for your books and records

Operations

  • Transaction status is driven by webhooks, with the transaction endpoints used to reconcile
  • Your webhook handler accounts for the fact that SubscriptionStatus carries the v1 status vocabulary, where a v2 Canceled arrives as Rejected
  • The webhook event log is checked after any outage on your side, because failed deliveries cannot be resent
  • PendingSubscriptionReminder drives a prompt to investors who abandoned a transaction with actions outstanding
  • Positions, NAV marks, monthly statements and K-1s are surfaced from Monark's endpoints
  • Corporate actions are surfaced, and your team knows that cash or share settlement from one is handled directly with your custodian
  • Investors are told that privately acquired shares carry a 180-day lock-up after an IPO

Sandbox Tests

  • A subscription taken from investor creation to Processing, as in the Sandbox Walkthrough
  • A subscription below the minimum commitment, refused and corrected
  • A subscription above the remaining allocation, refused and corrected
  • A transaction with a document signature action, completed
  • An expired or missing accreditation, refused
  • An indication of interest against a prospective offering
  • The responses in Errors & Reason Codes that your UI handles

When these are done, Monark issues your production API key and base URL.


Did this page help you?