Marketplace
The three surfaces of a private markets marketplace: live offerings, upcoming offerings, and the company catalogue.
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.
The marketplace is where investors discover private markets opportunities. It has three components, and they answer three different questions: what can I invest in now, what is coming, and what companies exist at all.
Monark endpoints used
| Method | Endpoint | Purpose |
|---|---|---|
GET | /primary/v1/pre-ipo-company-spv/investor/{investorId} | Live SPV offerings |
GET | /primary/v1/prospective-offering/financial-institution/{financialInstitutionId} | Upcoming offerings |
GET | /primary/v1/pre-ipo-company | The company catalogue |
GET | /primary/v1/watchlist | The investor's watchlist |
POST | /primary/v1/watchlist | Add a company to it |
Live offerings
GET /primary/v1/pre-ipo-company-spv/investor/{investorId}?monarkStage=PRIMARY_FUNDRAISE&pageSize=25Then keep only the results where isApproved is true.
Important: Both conditions are required, and neither is sufficient alone.
monarkStage=PRIMARY_FUNDRAISEmeans Monark has opened the offering for fundraising;isApprovedmeans your platform has approved it for distribution to your investors. An SPV missing either must not be presented as investable, and a subscription against an unapproved one is refused.Earlier versions of these guides described filtering on a
statefield with a value ofOPEN. Monark's API has no such field. UsemonarkStageandisApproved.
Offering cards
| UI element | Monark field | Notes |
|---|---|---|
| Company name and logo | Resolved from preIPOCompanyId against the company catalogue | The SPV names the company it holds |
| Offering name | name | The SPV's own name, e.g. "SpaceX Access Fund IV" |
| Valuation | valuation | The company valuation this offering implies |
| Price per share | investorPricePerShare | Format as a share price, to 2 decimal places |
| Minimum | minCommitmentAmount | The entry ticket |
| Remaining | remainingDollarAllocation | How much of the raise is left |
| Seats remaining | numberOfSeatsRemaining | An SPV can be seat-closed while dollars remain |
| Deadline | fundingDeadline | When it closes if it has not filled |
| Card action | id | Opens the SPV View |
Upcoming offerings
GET /primary/v1/prospective-offering/financial-institution/{financialInstitutionId}?targetAssetType=PreIPOCompany&pageSize=25A prospective offering is a potential SPV, not a real one. Monark uses them to test demand for a company and structure before committing to a raise, so terms are given as ranges — a price band and a valuation band — rather than fixed numbers.
Investors cannot subscribe to a prospective offering. They can only register non-binding interest. Present them alongside live offerings, clearly labelled as upcoming, and route the action to Indications of Interest rather than to an order form.
Two webhooks drive this surface: ProspectiveOfferingAccessGained and ProspectiveOfferingAccessLost tell you when your financial institution gains or loses access to one.
The company catalogue
GET /primary/v1/pre-ipo-company?pageSize=100&sortBy=LastValuation&sortOrder=Descending&isActive=trueThe catalogue is the browsable universe of private companies. A company is not investable on its own — only an SPV over it is — so a company card leads to the Company View, and the offering, if any, is surfaced there.
| UI element | Monark field |
|---|---|
| Name and logo | name, logoURL |
| Valuation | lastValuation |
| Latest round | lastFundingRound |
| Sector | sector or the company's tags |
Caching the catalogue for the length of a session keeps the marketplace responsive; it changes infrequently.
Watchlist
An investor who is interested but not ready can watch a company and be notified when an offering appears.
POST /primary/v1/watchlist{
"investorId": "{investorId}",
"targetId": "{preIpoCompanyId}",
"targetAssetType": "PreIPOCompany"
}Note: The watchlist list endpoint takes
pageNumber, notpage, unlike every other list endpoint in the API. This is a known inconsistency; sendpageNumberhere andpageeverywhere else.
Implementation notes
- Scope everything. Live offerings are scoped by
investorId, prospective offerings and market data byfinancialInstitutionId. Neither is optional. - Show why something is not investable. An offering at
PRE_CLOSE_REVIEWis full; one awaiting your approval is pending review. They should not look the same, and neither should look like an error. - Handle empty results. A financial institution with no approved offerings yet is a normal state, not a failure. Say "no live offerings right now" and point at the upcoming ones.
- Filter server-side where you can. The SPV list accepts
preIPOCompanyId, which is how a company page shows only its own offerings.
Next steps
- What an investor sees about a company: Company View
- Non-binding interest in an upcoming offering: Indications of Interest
- The offering page itself: SPV View
Updated 12 days ago