Investors
Investors are natural or legal persons that hold crypto securities. Those investor accounts can be managed using the following endpoints:
/investors/ to provide investor data
/investors/{investor_id}/benefiting-persons/ to add data about beneficiaries for legal persons
/investors/{investor_id}/identifications/ to manage identifications
Custodian bank setup
In a collective entry the custodian bank is the investor. The end customers are onboarded by the custodian bank. Cashlink doesn't need the data of those investors and thus they don't need to onboarded via the Distributor API.
If you're using the Distributor API in the scope of a custodian bank, you can create a single investor account using the bank's data or you can create separate accounts using the same data if you need to.
Natural person investors
Natural person investors can be created via the investor endpoints. The information stored with an investor includes the following mandatory data:
Personal data, residence address and PEP status of the investor (
natural_person
)Flag to confirm that the investor acts on their own behalf (
is_beneficiary
)Flag to confirm that the investor is not subject to taxation in the US (
is_subject_to_us tax
)
Please not that we're currently not onboarding persons that are subject to US taxation. Make sure that you set the value of the is_subject_to_us_tax
field is set to False
accordingly. Otherwise creation of investors will fail.
Tax information
On the investor object you can add tax related information which is used to manage capital gains tax in Germany. The following data can be set:
tax identification number
non assessment certificate
is subject to german tax
Bank account information
On the investor object you can add bank account information that can be used to process payouts paid by the issuer. The following data is required:
BIC
IBAN
currency
Example:
r = requests.post(
f'{URL}/v2/investors/',
json={
"natural_person": {
"salutation": "MR",
"forename": "Peter",
"surname": "Parker",
"birth_date": "2000-08-10",
"birth_place": "New York",
"citizenship": "DEU",
"street": "Hauptstr. 37",
"city": "Frankfurt",
"zip": "60316",
"country": "DEU",
"phone": "+49 123 456 789",
"is_pep": False
},
"bank_account": {
"account_holder": "Peter Parker",
"iban": 'DE53500105173569146251',
"bic": "GENODEF1ERG",
"bank": "Commerzbank Frankfurt",
"country": "DEU",
"currency": "EUR"
},
"tax_information": {
"tax_identification_number": "12345678",
"non_assessment_certificate": True,
"is_subject_to_german_tax": True
},
'communication': {
'email': '...',
'email_confirmed': True
},
"is_beneficiary": True,
"is_subject_to_us_tax": False
},
headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300, r.content
investor_id = r.json()['id']
Legal person investors
Legal person investors can be created via the investor endpoints. The information stored with an investor includes the following mandatory data:
Company data such as name and commercial register data (
legal_person
)Personal data, residence address and PEP status of the CEO (
natural_person
)Flag to confirm that the investor acts on their own behalf (
is_beneficiary
)Flag to confirm that the investor is not subject to taxation in the US (
is_subject_to_us tax
)
You can also create an investor that is a legal person. In this case, additional information must be provided. For the account setup to succeed you need to provide company data such as the company name and documents proofing the identity of the company.
Benefiting persons
If you have created an investor that is a legal person, information about its benefiting persons must be provided via the benefiting persons endpoint.
If you have created an investment for that legal person, the status of the investment will remain in the KYC_PENDING step until you provide the data of at least one benefiting person.
Please make sure that you're only onboarding investors where the benefiting persons are not "politically exposed persons" (PEP). During the KYC/AML process a background check is performed and PEPs may be rejected.
If the benefiting persons change, please add the new persons via a new POST request. You do not need to delete existing benefiting persons if they're not a benefiting person any more.
Identifications
Create new identifications
Investors need valid identification data from a video identification process. For legal persons, the CEO (added via the natural_person
field) needs to perform the identification.
The process for creating a new identification is the following:
Via the identification endpoint, create a new identification with an empty JSON request. The API will return a URL of the identity provider and the ID of the identification process.
Redirect the investor to the provided URL. The investor can use the URL to complete the identification process.
You can use the identification endpoints and the identification ID to query the current status of the identification.
After the identification is completed, the final data can be retrieved via the identification endpoint.
Import existing identifications
If you have already existing and valid identifications of the investor you can also provide all attributes via the API directly. Next to the person_id you need to provide:
The identity provider you used. So far we support IDNOW, Lionware and PostIdent.
The legitimation protocol as a PDF document that resulted from the identification process
You have to add the document type that was used (id card, passport), the issuer of the document as well as the document ID, as well as the valid_from an valid_to date.
Last updated
Was this helpful?