SettleMint
Tokens

Corporate actions

Named catalog for cash dividends, bond coupons, bonus issues, rights issues, capital decreases, splits, and spin-offs.

The Corporate Actions catalog is one v2 collection:

/api/v2/tokens/{tokenAddress}/corporate-actions

type selects cashDividend, bondCoupon, bonusIssue, rightsIssue, capitalDecrease, stockSplit, or spinOff. stockSplit carries direction: forward | reverse.

What each type does

TypeMechanismFirst-pass exclusions
cashDividendDeclares and snapshots dividend-yield. Does not mint equity. Does not escrow denomination in a feature.Claims stay on dividend-yield.
bondCouponNames the attached fixed-treasury-yield program and completes on create. Preview and confirm return 409.Top-up, allowance, and claim stay on the feature.
bonusIssueSnapshots holders and mints floor(balance × ratio).No on-chain bonus event. No cash remainder.
rightsIssueAllotment mint, or pages an existing token-sale whitelist.No sale create, rights instrument, nil-paid, or lapse.
capitalDecreaseBurns announced snapshot amounts.No legal ratio engine. No capital-account ledger.
stockSplitChunked mint or burn of the ratio delta.No atomic rebase. No market halt. Do not pause the token.
spinOffMints an existing empty child to parent holders.Child create stays POST /tokens. Parent balances do not change.

Run lifecycle

  1. POST /corporate-actions — create. Composition types persist as drafted. A token accepts only one in-flight composition.
  2. POST .../{corporateActionId}/preview — store allocations. Cash-dividend preview does not queue a transaction.
  3. POST .../{corporateActionId}/confirm — apply the stored preview. One Idempotency-Key covers a holder book larger than one mint or burn batch. A 202 handle is not success.
  4. POST .../{corporateActionId}/abort — fence later chunks. Applied holders stay. There is no rollback.
  5. GET list or get — reconstruct applied, skipped, and remaining holders.

completed requires every snapshot holder applied or stored as zero-after-floor. A compliance skip is aborted.

On this page