Daml finance app - Anyone can issue any instrument at will
Hi,
Say that a StructuringCustomerA, through their Structuring.Service provided by a StructuringProviderB, requests to structure a BondA and StructuringProviderB approves it, resulting in a new Instrument BondA on the ledger.
Then, a IssuanceCustomerC thinks: Hey, let’s issue 1 BondA through their Issuance.Service provided by IssuanceProviderD - Anyway, StructuringCustomerA will pay the coupons (the issuer attribute in the Instrument BondA is StructuringCustomerA. Hence the party who will pay the coupons after lifecycling happens)
Am I missing something?
Thanks!
Jose
What you describe above is indeed a feasible scenario:
- two parties define the economic terms of an instrument (in this case, A and B define the economic terms of Bond A by creating the corresponding
Instrument) - two other parties enter into an ownership / liability agreement with regards to that financial instruments (in this case, C and D enter into a
Holdingcontract where C owns units of Bond A against D)
This is very similar to the real-world scenario where you and I sign a piece of paper stating that I owe you 5 USD:
- the FED defines the economic terms of the
USDinstrument - you and I enter into an on-paper
Holdingcontract where you are theownerand I am thecustodian. TheHoldingreferences theUSDinstrument for an amount of 5 units
What is incorrect in the situation you describe above is to assume that the issuer of the instrument is liable to pay the coupons:
- coupons (or lifecycle effects for a
Holdingin general) are always exchanged between the holding’scustodianand theowner. In this case, the coupon would be paid fromDtoC. - the action of
lifecyclingtheInstrumentcontract is just used to- determine the amount of the coupon to pay
- create the corresponding effect
I hope this helps to clarify the situation.
I believe that the source of confusion is the fact that, in the case of a real-world bond, the party referred to as the issuer is also the party that pays out the bond coupons. If we wanted to model this scenario in Daml Finance, we would need a setup as below:
The coupon payment would then happen in two steps:
- P lifecycles the bond instrument to calculate the coupon amount and creates an
Effectcontract - I or P use the
Holdingcontract to claim theEffectand generateSettlement Instructions
The settlement instructions would then look as follows:
-
ownersends a holding on the old instrument tocustodian -
custodiansends a holding on the new instrument toowner -
custodiansends the coupon amount to theowner
Matteo
Thanks for the clarification @Matteo_Limberto
As a follow-up question:
How would you implement the typical case where I have a Tesla bond at my bank?
Thanks!
Jose
