SettleMint
ComponentsToken Features

Conversion

How DALP models convertible instruments with a loan-side Conversion feature and target-side Conversion Minter feature, including how accrued interest settles on a full conversion.

The Conversion feature models a convertible instrument as two cooperating token features. The loan token holds the convertible principal, publishes conversion triggers, calculates the target amount, and reduces the holder's loan exposure. The target token uses Conversion Minter to mint the equity or share token only when an authorised loan-side converter calls it with a unique conversion ID.

Use this explanation when you review a convertible note, mandatory conversion, or loan-to-equity setup. It describes the on-chain feature model and operating controls. It does not replace the product workflow for creating the asset or the legal terms that define when a conversion is allowed.

One-view model

Rendering diagram...

The loan-side feature owns trigger validation and conversion calculation. The target-side feature owns the authorised-converter allowlist, duplicate conversion-ID check, and issuance record.

Feature pair

FeatureAttached toMain responsibilityKey control
ConversionConvertible loan tokenPublish triggers, validate conversion windows, calculate target output, reduce loan exposure, and call the target-side minterGOVERNANCE_ROLE manages triggers and windows; CUSTODIAN_ROLE can force mandatory conversions
Conversion MinterTarget equity or share tokenMint target tokens from authorised conversion calls and record issuance provenanceGOVERNANCE_ROLE manages the authorised converter list

The pair is configured at deployment. The loan-side feature references the target token and can use an explicit Conversion Minter address or discover the target-side minter feature from the target token. The target-side feature accepts mint calls only from authorised converter feature contracts.

What a conversion checks

A holder-initiated conversion calls convert. A mandatory conversion calls forceConvert, which requires the Custodian role. Both paths share the same validation and execution model.

CheckWhat DALP verifiesFailure result
Trigger existsThe trigger was published and has not been disabledConversion reverts
Trigger timingThe trigger has not expired, and the conversion window is open when configuredConversion reverts
DenominationThe trigger denomination matches the conversion configurationConversion reverts
PrincipalThe holder has enough loan-token balance or unconverted balance for the selected debt methodConversion reverts
Partial conversion policyA partial amount is allowed only when the configuration permits itConversion reverts
Minimum amountThe principal meets the configured minimum conversion amountConversion reverts
Interest providerIf interest is included, a provider exists and uses the same denominationConversion reverts
Interest provider clarityFor a full Mark converted with interest closing on and no explicit provider, discovery resolves to exactly one providerConversion reverts
Convertible interest settledFor a full holder conversion that closes interest accrual, no accrued convertible interest remains beyond the settled windowConversion reverts with UnsettledConvertibleInterest
Target outputThe effective price produces a non-zero target amountConversion reverts
Conversion minterThe target-side minter exists and authorises the loan-side converterConversion reverts

The conversion price uses WAD precision. The loan principal is normalized from the loan token's decimals to WAD, optional interest is added in WAD, the discount and cap are applied to the trigger price, and the result is converted back to the target token's decimals.

How interest is settled on a full conversion

When a convertible carries an interest stream and the configuration converts interest and closes accrual on conversion, a full holder-initiated conversion converts the holder's accrued interest into target tokens before accrual closes. A full holder conversion never leaves accrued yield behind as claim-only cash.

Interest is settled in bounded windows. Each window covers a capped number of accrual periods, so a holder with a long backlog of accrued interest settles it across more than one step rather than in a single unbounded transaction. The settlement advances a per-holder cursor, so each step picks up where the previous one left off, repeats no work, and steps over empty leading periods for a holder who entered late.

A full holder conversion that would close accrual checks that no convertible interest remains beyond the settled window. If interest is still outstanding, the conversion reverts with UnsettledConvertibleInterest instead of closing accrual and silently rerouting the remaining yield. The holder settles the outstanding interest first, then completes the conversion.

A mandatory conversion run by a Custodian is not gated this way. The interest conversion is holder-driven, so a custodian cannot drain a holder's backlog on their behalf, and a mandatory conversion must never be blocked by one. A forced full conversion settles the first interest window to target tokens, then closes accrual; any interest beyond that window stays recoverable by the holder as cash rather than converting to target tokens.

Partial conversions are unaffected: they settle only the prorated interest for the converted portion and do not drain the wider backlog.

Execution flow

  1. Governance publishes a trigger with a trigger ID, denomination asset, round price per share in WAD, optional expiry, and metadata hash.
  2. The holder calls convert, or a Custodian role holder calls forceConvert for a mandatory conversion.
  3. DALP validates the trigger, conversion window, amount, partial-conversion policy, interest-provider configuration, and target output. For a full holder conversion that closes interest accrual, DALP also confirms no convertible interest remains unsettled beyond the settled window.
  4. DALP creates a conversion record with status Initiated and a unique conversion ID.
  5. DALP reduces loan exposure according to the configured debt method, and on a full holder conversion converts the holder's accrued interest to target tokens before accrual closes.
  6. DALP asks the target-side Conversion Minter to mint the target token amount.
  7. Conversion Minter rejects unauthorised converter calls and duplicate conversion IDs, records the issuance, and mints the target tokens.
  8. The loan-side record moves to Minted, and the conversion emits lifecycle events.

The target-side mint is part of the conversion transaction. If the target-side mint fails, the conversion reverts rather than leaving a completed loan-side record without target tokens.

Debt reduction methods

MethodWhat happens to the loan exposureOperational meaning
BurnThe loan tokens are burned during conversionUse when converted principal should leave supply
LockThe loan tokens are transferred to the configured escrow addressUse when the instrument keeps converted principal in escrow evidence
MarkConvertedThe holder's converted amount is recorded without moving the tokensUse when the token balance remains visible but converted portions must not be transferred or converted again

For MarkConverted, the feature tracks total converted principal per holder and blocks transfers of already converted tokens through canUpdate. This prevents the same visible loan balance from being converted by a later recipient.

Because MarkConverted leaves the converted tokens with the holder, any interest stream computed from that balance keeps running unless it is closed. DALP refuses two MarkConverted configurations that would leave that stream open instead of closing it silently:

  • A full conversion configured to close interest on conversion, with no explicit interest provider set, where automatic discovery finds two or more interest providers. The provider to close is ambiguous, so the conversion is rejected before any state change. Configure an explicit interest provider so the conversion knows which accrual to close.
  • A partial conversion with a forward-coupon yield provider attached. Closing accrual cannot express a proportional reduction for a partial amount, so the conversion is rejected. This applies whenever such a provider is attached, regardless of the interest-closing setting. Convert the full available principal, or use a debt method that moves the tokens.

Both checks run before debt exposure changes, so a rejected conversion records nothing and mints no target tokens.

Replay protection and provenance

The loan-side feature generates a conversion ID from the source token, target token, holder, trigger ID, and an internal nonce. It marks the ID as used before external calls and stores the conversion record before reducing debt or minting target tokens.

The target-side Conversion Minter keeps its own used-conversion-ID map. It rejects a second mint with the same conversion ID, even if the caller is authorised. It also stores an issuance record with the conversion ID, recipient, amount minted, source loan token, source converter feature, trigger ID, and timestamp.

Use these records together:

EvidenceWhere it comes fromWhat it proves
ConversionInitiatedLoan-side featureA conversion was accepted for a holder, trigger, principal amount, interest amount, target amount, and effective price
TargetIssuedFromConversionTarget-side minterThe target token minted a specific amount for a specific conversion ID
ConversionFinalizedLoan-side featureThe target mint completed and the conversion record reached Minted
InterestConvertedInterest providerA bounded window of accrued interest was converted to target tokens, with the per-period amounts and the window the settlement cursor advanced over
Issuance recordTarget-side minter viewThe target-side provenance for a conversion ID
Conversion recordLoan-side feature viewThe loan-side status, amounts, effective price, and target token

Operating responsibilities

OwnerResponsibility
Issuer or governance operatorPublish accurate trigger terms, disable incorrect triggers, configure conversion windows, and manage the target-side authorised converter list
Custodian operatorUse forceConvert only when the instrument terms allow mandatory conversion
Asset operationsVerify the loan token, target token, denomination asset, conversion minter address, and authorised converter list before allowing conversions
Compliance reviewerConfirm that holder eligibility, transfer restrictions, and target-token compliance rules match the instrument design
Integration or reconciliation ownerStore conversion IDs, transaction hashes, events, and loan-side and target-side records with the business instruction

Failure modes

SituationWhat happensHow to recover
Trigger is missing, inactive, expired, or uses the wrong denominationConversion reverts before debt exposure changesPublish a valid trigger or use the correct trigger ID
Conversion window is not openConversion revertsWait for the configured window or update the window with Governance role
Holder lacks available principalConversion revertsReconcile the holder's loan-token balance or already converted amount
Partial conversion is disabledConversion reverts for amounts below the full available principalConvert the full available principal or use an instrument configuration that allows partial conversion
Interest provider is missing or uses the wrong denominationConversion reverts when interest is configured for inclusionConfigure the correct provider before conversion
Mark converted full conversion finds two or more interest providersConversion reverts before debt exposure changesConfigure an explicit interest provider so the conversion can close the right accrual
Mark converted partial conversion has a forward-coupon yield providerConversion reverts before debt exposure changesConvert the full available principal, or use a debt method that moves the tokens
Full holder conversion still has unsettled convertible interestConversion reverts with UnsettledConvertibleInterest before accrual closesSettle the outstanding interest to target tokens first, then complete the full conversion
Conversion Minter is missing or does not authorise the converterConversion revertsAttach or configure the target-side minter and authorise the loan-side converter
Conversion ID was already used on the target sideTarget mint revertsReconcile the existing conversion instead of replaying the mint

What this feature does not decide

Conversion enforces the configured on-chain terms. It does not decide whether the issuer had legal authority to convert, whether an off-chain financing round closed, whether a board approval was valid, or whether the target equity economics are fair. Keep those decisions in the instrument terms, governance approval process, and off-chain evidence file.

See also

On this page