Skip to content

Buybacks

Access Prerequisites

  • Permission (module): repurchaseTokens (execute a buyback). Viewing requires access to the group (viewCredits).
  • License/Feature: CREDIT_INVESTMENTS enabled on the tenant license (Vault).
  • Menu container: TOKENIZATION → group Tokenized Credit

What it is / when to use

The Buybacks screen handles buyback requests — when the originator (or the house) needs to repurchase the position in a Deal, returning the capital to the investor. Buybacks arise from events such as contract violation, fraud, invalid receivables, or early settlement.

Use this screen to locate a deal, list its buyback requests, and execute the ones that are approved/pending, triggering the financial return to the investor and the write-off of the position (including burning the tokenized units, when applicable).

Pre-conditions

  • Permission: repurchaseTokens (dual permission — CPM enum + dynamic module in the DB).
  • License/Feature: CREDIT_INVESTMENTS enabled. Without it, the group does not appear in the menu at all.
  • Dependencies on other screens: a Deal must be selected; the buyback request must already exist (originated from the deal/receivable flow).

Step by step

  1. Go to the menu Tokenized Credit → Buybacks.
  2. Search and select a Deal in the search field (the list loads deals; filters by number/ID).
  3. The buyback requests for that deal are loaded.
  4. For an executable request, click Execute → confirm in the bottom-sheet.

Filters and columns

Filter/ColumnWhat it showsData source
Deal (selector)Deal selected to list its buybackssearch over getDeals(); required
Deal (column)Number/ID of the request's dealBuybackRequest.dealId (resolved via dealMap)
OriginatorAssociated cedentBuybackRequest.originatorId (resolved via originatorMap)
AmountAmount to be repurchasedBuybackRequest.buybackAmount (BigNumber)
ReasonCONTRACT_VIOLATION, FRAUD, INVALID_RECEIVABLES, EARLY_SETTLEMENT, OTHERBuybackRequest.reason (+ reasonDetails)
StatusREQUESTED, PENDING, APPROVED, EXECUTED, REJECTED, FAILEDBuybackRequest.status
Created atDate of the requestBuybackRequest.createdAt

Actions and modals

  • Select deal / Clear: sets the dealId that filters the requests; without a selected deal, the screen warns it is required.
  • Execute: executeBuyback(requestId, approvedBy) after confirmation (bottom-sheet). approvedBy is the ID of the logged-in operator (or system). Moves the request to EXECUTED, returning the capital to the investor and writing off the position.

As this is a sensitive financial operation (refund + position burn), execution may trigger step-up (password + MFA, X-Step-Up-Token, 5-minute window) depending on the environment — identity reconfirmation, not 4-eyes approval.

Business rules / considerations

Attention

  • Deal is mandatory. The buyback list only loads after selecting a deal; there is no global view of all buybacks on this screen.
  • Reason matters for auditing. reason/reasonDetails explain the buyback (fraud, violation, etc.) and should match the eventual Cancellation of the deal.

Irreversible

  • Executing a buyback is final. It triggers the financial return to the investor and the write-off/burn of the tokenized position units. There is no rollback — an erroneous buyback requires a new compensatory financial event.
  • Financial values: buybackAmount is BigNumber in the backend; check decimal places before confirming.
  • Idempotency: the financial return goes through FinLib and is idempotent by externalId — if reprocessed, error E00021 ("already processed") means success (already settled), not a failure. See [[reference_finlib_idempotency]].