Listings
By default, investor accounts on Cashlink Connect are not allowed to hold units of the crypto securities that you've created via the Issuer API. You need to explicitly list your product on a distribution platform. Once a product is listed on a distribution platform all investors associated with that distribution platform may hold the product in their wallets.
Create a listing
In order for you to list your products on a distribution platform, Cashlink needs to verify that there is a contractual agreement between you and the distribution platform. Once these agreements exist, please make them available to the Partner Management team at Cashlink.
After the agreement is validated by Cashlink, the value of the is_allowed
field in the distribution platform response will be set to True
. Only if the value of the is_allowed
field is set to True
you can create listings for your products on the distribution platforms.
After a listing for a product is created on a distribution platform, investors on that distribution platform are able to receive transfers of the asset. You can create as many listings as you want for different distribution platforms as long as you have agreement with each of these distribution platforms.
Example:
# Get distribution platform details
r = requests.get(
f'{URL}/issuer/v2/distribution-platforms/{distribution_platform_id}/',
headers={**headers}
)
assert r.status_code < 300, r.content
print(f'Distribution platform: {r.json()['platform_company_name']}')
print(f'Allowed for distribution: {r.json()['is_allowed']}')
# Check that is_allowed is set to True
assert r.json()['is_allowed'] == True
# Create listing for the product on the distribution platform
r = requests.post(
f'{URL}/issuer/v2/listings/',
json={
'product_id': product_id,
'distribution_platform_id': distribution_platform_id
},
headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300, r.content
print(f'Listing: {r.json()['id']}')
Retrieve listing information
You can use the listings endpoint to retieve all created listings and their details.
Example:
# Retrieve all listings
r = requests.get(
f'{URL}/issuer/v2/listings/',
headers={**headers}
)
assert r.status_code < 300, r.content
listing_id = r.json()['results'][0]['id']
# Get details for listing
r = requests.get(
f'{URL}/issuer/v2/listings/{listing_id}/',
headers={**headers}
)
assert r.status_code < 300, r.content
print(f'Product: {r.json()['product_id']}')
print(f'Distribution Platform: {r.json()['distribution_platform_id']}')
Last updated
Was this helpful?