Skip to main content
Capital lets an entity invest idle balances in Fixed Return or Share Offering products. An order holds an immutable quote for 15 minutes; confirming it debits the entity’s funding account and creates the capital account, which is tracked through accrual to payout. All monetary values are in the smallest currency unit.

The Capital Product object

string
The ULID of the capital product.
string
The product type. One of FIXED_RETURN, SHARE_OFFERING.
boolean
Whether the product is managed by an external partner rather than Nuvion directly.
string
The display name of the product.
string
Description of what the product offers, as HTML.
string
ISO 4217 currency code. The funding account used to order must match this currency.
number
Unix-ms start of the sale window. null when not configured.
number
Unix-ms end of the sale window. null when not configured.
object
Commercial terms for the product. Detail responses additionally include documents; list responses never do.
object
Present only for SHARE_OFFERING. status is available or sold_out; quantity is the current sellable inventory in whole shares.

Example Capital Product Object

Capital product types

Day count conventions


The Capital Order object

string
The ULID of the product order.
string
The ID of the entity that placed the order.
string
The order reference. Distinct from id.
string
The ULID of the capital product ordered.
string
The ULID of the funding wallet account debited for this order. Matches the account_id submitted at creation.
string
One of FIXED_RETURN, SHARE_OFFERING.
string
ISO 4217 currency code.
number
The reserved debit amount. The principal for Fixed Return; total_debit for Share Offering.
number
Share Offering reserved shares. null for Fixed Return.
string
One of RESERVED, CONFIRMING, APPROVED, EXPIRED, REJECTED, RECOVERY_REQUIRED.
string
A human-readable reason accompanying the current status.
number
Unix-ms reservation expiry, 15 minutes from creation.
number
Unix-ms confirmation timestamp.
number
Unix-ms rejection timestamp.
number
Unix-ms expiry timestamp.
object
A summary of the capital account created by the order. null until the order is approved.
array
Detail responses only. Each entry pairs the document with the requesting entity’s affirmations, each carrying action_type and actioned_at. Only the requesting entity’s affirmations are exposed.

Capital order statuses


The Capital Account object

The capital account is created on confirmation and holds the immutable terms of the investment.
string
The ULID of the capital account.
string
The ULID of the order that created the account.
string
The ULID of the capital product this account was opened against.
string
One of FIXED_RETURN, SHARE_OFFERING.
string
ISO 4217 currency code.
string
The account number issued for this capital holding.
number
Fixed Return only. The invested principal in minor units.
number
Fixed Return only. The annual decimal rate locked at purchase.
number
Fixed Return only. 365 or 360, resolved from the currency.
number
Fixed Return only. One of 7, 30, 60, 90, 180.
number
Fixed Return only. The Unix-ms confirmation timestamp from which interest accrues.
number
Fixed Return only. The business-day maturity in UTC. A contractual end falling on a Saturday or Sunday shifts to the following Monday.
number
Fixed Return only. The earliest Unix-ms at which an early withdrawal may be requested. null when the investment is locked or early withdrawal is disabled.
number
Fixed Return only. Computed on read from the account terms and the elapsed days, bounded by the tenor. It is not a stored balance.
number
Fixed Return only. The projected net interest at maturity: gross_interest minus total_deductions. Fixed at confirmation; does not reflect elapsed time. See accrued_interest for the current accrued amount.
number
Fixed Return only. The projected payout at maturity: principal plus due_interest.
number
Fixed Return only. Interest-based deductibles, such as withholding tax, projected at maturity.
number
Fixed Return only. The projected total interest at maturity, before deductibles. Fixed at confirmation; does not reflect elapsed time.
number
Fixed Return only. principal plus gross_interest, before deductibles.
number
Fixed Return only. null until a payout is initiated. Persisted by the withdrawal action and used by the settlement workers.
number
Fixed Return only. Unix-ms date the payout is scheduled to settle. null until settlement is scheduled, which can be after the payout is initiated.
number
Share Offering only. The originally allocated quantity. Never rewritten by allotment adjustments.
number
Share Offering only. Adjusted by allotment; initially equal to shares_purchased.
number
Share Offering only. allocated_shares multiplied by offer_price.
number
Share Offering only. The brokerage fee charged at purchase.
number
Share Offering only. The cross-deal fee charged at purchase.
number
Share Offering only. The full amount debited from the funding wallet.
number
Share Offering only. The immutable lock expiry computed from the confirmed purchase date.
number
Share Offering only. The cost basis of the units held.
number
Share Offering only. The cost basis divided by the units held.
number
Share Offering only. null rather than zero before a valid price update exists.
number
Share Offering only. The unallocated value awaiting refund.
object
status carries the account state. payout_status (or refund_status for Share Offering) is one of pending, completed, failed and is present once a payout exists.

Capital account lifecycle statuses

Fixed Return: Share Offering:

The Capital Transaction object

string
The ULID of the capital transaction.
string
The ID of the entity that owns the capital transaction.
string
The event the transaction records. See the table below.
number
The amount in minor units. Its meaning depends on event_type.
number
Unix-ms accrual date. Present only on DAILY_ACCRUAL events.
number
The amount funded through an investment vehicle, in minor units. null when not applicable.
number
The placement fee charged for this transaction, in minor units. null when not applicable.
number
Expenses charged by the investment vehicle for this transaction, in minor units. null when not applicable.
number
Unix-ms event creation timestamp.

Capital transaction event types


Retrieve capital products

GET /products Lists the capital products visible to the authenticated entity. Hidden products, ineligible products, products whose owner is inactive, and share offerings with zero inventory are excluded. Sold-out share offerings are returned as not orderable.

Query parameters

string
Filter by product type. One of FIXED_RETURN, SHARE_OFFERING.
string
Filter by ISO 4217 currency code.
string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
number
Page size. Between 1 and 100. Defaults to 25.
string
Next-page cursor.
string
Previous-page cursor. Mutually exclusive with cursor.
Product documents are never included in list responses. Call GET /products/{id} to retrieve the documents to affirm before ordering.

Retrieve a capital product

GET /products/{id} Retrieves the detail view of a single capital product, including its displayable documents.

Path parameters

string
required
The ULID of the capital product.

Query parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
A 404 is returned rather than disclosing existence when the product is inactive, ineligible, misconfigured, or holds an unsupported Share Offering quantity.

Create a capital order

POST /product-orders Creates a 15-minute reservation holding an immutable commercial quote and the entity’s agreement evidence. No funds move. The product type is resolved from product_id and determines whether principal or amount is permitted. Share Offering inventory is conditionally reserved in the same transaction; where inventory is insufficient the order is allocated down to the remaining shares and the adjusted quote must be confirmed.

Request parameters

string
required
The ULID of the capital product being ordered.
string
required
The ULID of the funding wallet account to debit. Must match the product currency.
string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
number
Required for FIXED_RETURN, rejected for SHARE_OFFERING. Positive minor units. Must match an exact configured band, or fall within the configured minimum and maximum.
boolean
Required for FIXED_RETURN, rejected for SHARE_OFFERING. Set to true to waive early withdrawal for the full tenor. Write-once; it cannot be changed after the order is created.
number
Required for SHARE_OFFERING, rejected for FIXED_RETURN. The desired spend in minor units, from which whole shares are derived.
array
required
One affirmation per configured product document. Unknown, duplicate, stale, or missing entries are rejected.

Response

Where the requested shares exceed the remaining inventory, allocated_shares and total_debit reflect the adjusted amounts.

Confirm a capital order

POST /product-orders/{id}/confirm Confirms an unexpired reservation. Eligibility, product and owner status, and the sale window are re-evaluated before any debit; the stored quote is authoritative. Nuvion debits the funding wallet once using a deterministic transfer reference, then creates the approved capital account and a PURCHASE capital transaction.

Path parameters

string
required
The ULID of the capital order to confirm.

Request parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
string
A secondary identifier for the capital account, in addition to capital_account_id.
This endpoint does not require a request body. Nuvion never accepts client-supplied amounts, rates, inventory, or agreements. A retry resumes from the persisted transfer and order state and never issues a second debit. Where post-debit persistence fails, the order transitions to RECOVERY_REQUIRED for reconciliation rather than being retried as a new debit, and subsequent calls return 409 error_transfer_already_processing.

Retrieve capital orders

GET /product-orders Lists the capital orders belonging to the authenticated entity. Each item includes a linked capital account summary where one exists.

Query parameters

string
Filter by order status. One of RESERVED, CONFIRMING, APPROVED, EXPIRED, REJECTED, RECOVERY_REQUIRED.
string
Filter by product type. One of FIXED_RETURN, SHARE_OFFERING.
string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
number
Page size. Between 1 and 100. Defaults to 25.
string
Next-page cursor.
string
Previous-page cursor. Mutually exclusive with cursor.

Retrieve a capital order

GET /product-orders/{id} Retrieves a capital order with its linked account summary and agreement snapshots. Agreements expose only the requesting entity’s affirmations and never internal signatory metadata.

Path parameters

string
required
The ULID of the capital order.

Query parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.

Preview a withdrawal

GET /product-orders/{id}/withdrawal/preview Returns a read-only payout preview for a Fixed Return capital order. Nuvion resolves the order and its linked capital account, then selects one path from the account snapshot and the current time: before maturity, the early-liquidation preview applies where the account is active, unlocked, and eligible; from MATURED, the contractual maturity payout applies with no early penalty. The preview has no side effects. It never opens a session, writes a record, or schedules a settlement job.

Path parameters

string
required
The ULID of the capital order.

Query parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
string
The ULID of the capital account being previewed.
string
The ID of the entity that owns the capital account.
number
Accrued interest for an early preview, or the contractual interest at maturity.
number
The decimal penalty rate applied to gross interest. 0 for a maturity withdrawal.
number
gross_interest multiplied by penalty_rate, rounded down. 0 for a maturity withdrawal.
number
Interest-based deductibles such as withholding tax. Applied to the penalty-excluded base for an early withdrawal, and to the full interest base at maturity.
number
principal + gross_interest - penalty_amount - total_deductions.
number
Whole days elapsed since the start date for an early preview, or the account tenor at maturity.

Initiate a withdrawal

POST /product-orders/{id}/withdrawal Initiates the payout for a Fixed Return capital order. Nuvion resolves the order and its linked capital account, then selects one guarded path from the account snapshot:
  • An ACTIVE account before maturity follows the early withdrawal rules: ACTIVE moves to EARLY_LIQUIDATING, with the penalty and interest-based deductibles applied. Nuvion writes the penalty, withholding, and payout capital transactions and schedules the early-liquidation settlement job.
  • A MATURED account follows the contractual maturity payout: MATURED moves to CLOSING, with no early penalty. Nuvion creates a pending payment backed by the order’s funding account and schedules the maturity settlement job.
  • A CLOSING or terminal account returns its current state rather than starting a second payout.

Path parameters

string
required
The ULID of the capital order.

Request parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
This endpoint does not require a request body. The stored account snapshot is authoritative; Nuvion never accepts client-supplied amounts, rates, or settlement accounts.
A 400 error_operation_invalid_for_state covers locked accounts, non-Fixed-Return accounts, accounts already EARLY_LIQUIDATING, CLOSING, or CLOSED, accounts at or after maturity that are still ACTIVE, products with early withdrawal disabled, and requests made before the earliest action day.

Retrieve the capital portfolio

GET /capital-portfolio Returns the authenticated entity’s current capital investment totals grouped by currency. Nuvion accrues Fixed Return interest from the account terms at request time; Share Offering value uses the units held and the latest market price. Fixed Return holdings in ACTIVE, MATURED, EARLY_LIQUIDATING, and CLOSING, and Share Offering holdings in LOCKED, ALLOTMENT_ADJUSTED, ALLOTMENT_CONFIRMED, and TRANSFERABLE, are included.

Query parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
string
ISO 4217 currency code. Currencies are sorted ascending.
number
The total invested amount in minor units.
number
The total accrued or unrealized return in minor units. null when valuation is unavailable.
number
The invested amount plus the return in minor units. null when valuation is unavailable.
Valuation fields are null for a currency when any included holding lacks a valid valuation, rather than being reported as zero.

Retrieve capital transactions

GET /capital-transactions Lists the immutable capital transaction records belonging to the authenticated entity for a single capital account. Transaction metadata is redacted from the entity’s view.

Query parameters

string
required
The ULID of the capital account that owns the transactions.
string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.
number
Page size. Between 1 and 100. Defaults to 25.
string
Next-page cursor.
string
Previous-page cursor. Mutually exclusive with cursor.

Retrieve a capital transaction

GET /capital-transactions/{id} Retrieves a capital transaction. Transaction metadata is redacted from the entity’s view.

Path parameters

string
required
The ULID of the capital transaction.

Query parameters

string
Defaults to the authenticating entity when omitted. Required when acting on a child entity. See Managing child entities for details.

Error Response

  • Validation errors: triggered if the payload or query parameters do not meet the endpoint specification
  • State errors: triggered where the order or capital account is in a state that does not permit the requested action
  • Transfer errors: triggered where the funding wallet cannot be debited, or a debit is already being reconciled