Creating investments via the Distributor API
Investments are created by distribution platforms in the scope of a campaign. Products can have one or more campaigns used on the primary market for distribution. The total available allocation of a product can be split into any number of campaigns. The total allocation spread across all campaigns must not exceed the total allocation of the product.
Campaigns are referenced in the API using the campaign ID. You can use the campaigns endpoints to retrieve all campaigns for a product. You will only be able to see campaigns that are unlocked for your API user. The Issuer will create a campaign for you.
Creating investments
Investments are created and processed via the investment endpoints. To create an investment you need at least the following data:
The ID of the investor the investment is created for (
investor_id
)The ID of the campaign the investor wants to invest in (
campaign_id
)The amount of units of the investment (
units
)The date and time when the investor gave a binding confirmation to invest (
signed_at
)A set of signed documents the investor has signed during the investment process (see Signed documents).
Optionally, you can also already set the date and time, when the issuer has accepted the investment (accepted_at field).
If you provide the accepted_at field in the request to create an investment, the investment doesn't need to be marked as accepted via the Cashlink Studio.
Optionally, you can already set the following data while creating an investment:
Payment date and time (
paid_at
)Wallet ID (
wallet
)
See Payments and Wallet associationif you want to update the investment in a separate step with this data.
Signed documents
Investments involve signed documents that legally describe the investment contract with the issuer (such as a subscription form). You can access the signed documents via the API's signed documents endpoint at any time.
You can upload documents and add them to the investment via the signed documents endpoint. We require the following documents:
Signed Cashlink terms of service and data protection terms
effecta_cryptoregistry_tos
effecta_cryptoregistry_tos
Signed issuance document (e.g. bond conditions)
effecta_document
effecta_document
Payments
You can mark investments as paid via the API by adding a payment date to the investment via the investments endpoint after the investment has been marked as accepted by the issuer. That means that the accepted_at
field is set.
The payment amount is calculated based on the investment amount, agio, disagio and accrued interest. The investment amount is calculated based on the units value set on the investment multiplied by the price of the campaign. The disagio amount can be set for an investment via the disagio
field. The agio is a fixed setting set for a specific campaign. The accrued interest is calculated based on the product configuration like interest rate and interest periods.
Wallet association
For an investment to settle on-ledger, the investor's wallet used for this particular investment is required. Wallets can be associated with an investment directly during creation or they can be added afterwards by updating the investment.
The wallet association can be updated as long as the investment's issuance transaction has not been triggered yet.
You can create an investment for an investor without a wallet present. However, to credit the purchased crypto securities or digital securities, a wallet must be set.
Crediting crypto securities or digital securities
You are able to trigger the crediting of crypto securities or digital securities by providing the ID of the investment. The crediting can only be triggered if a wallet has been created for the investor and assigned to the investment. Also, the payment amount must be marked as received.
The crediting triggers an issuance transaction on-ledger increasing the balance of the wallet associated with the investment by the purchased number of units.
The response contains a status field with the following codes:
processing: The task is created and is currently being executed
failed: The task could not be completed
succeeded: The task was completed successfully
unknown: The task needs manual investigation to determine if the transaction has actually succeeded
If the task failed because the issuance transaction on-ledger could not be executed, the error message indicates that. If the task succeeded, the status of the investment is updated to DELIVERED.
Cancellations
Using the cancellation endpoint, you can submit the request of an investor for an investment to be aborted. The investment will receive the status ABORTED. The investment can be canceled by the investor if the investment is in one of the following states:
PENDING
KYC_PENDING
REVIEW_PENDING
WAITING_FOR_ACCEPTANCE
If the investment cannot be aborted via API, an error will be returned to the client.
Using the Cashlink Studio, there are additional ways to cancel an investment as an issuer. This includes the following cases:
The KYC/AML process could not be completed in time
The payment has not been received in full and in time
The issuer has rejected the investment
Last updated
Was this helpful?