curl --request POST \
--url https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/dlt-test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"whatIsBlockchain": "b",
"ledgerCharacteristics": "c",
"howAssetsAreHeld": "a",
"blockchainRisks": "d",
"atomicSwap": "b",
"walletFunction": "a",
"walletCustodyRisk": "d",
"blockchainVsTraditionalAccount": "c"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
whatIsBlockchain: 'b',
ledgerCharacteristics: 'c',
howAssetsAreHeld: 'a',
blockchainRisks: 'd',
atomicSwap: 'b',
walletFunction: 'a',
walletCustodyRisk: 'd',
blockchainVsTraditionalAccount: 'c'
})
};
fetch('https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/dlt-test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/dlt-test"
payload = {
"whatIsBlockchain": "b",
"ledgerCharacteristics": "c",
"howAssetsAreHeld": "a",
"blockchainRisks": "d",
"atomicSwap": "b",
"walletFunction": "a",
"walletCustodyRisk": "d",
"blockchainVsTraditionalAccount": "c"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Send an attempt at the DLT test
Sends one attempt at the DLT (Distributed Ledger Technology) knowledge test: eight multiple-choice questions, each answered with the letter of the chosen option in the order the field lists them. All eight must be correct to pass; the response never says which were wrong.
Who takes it. Investors whose address is in the European Economic Area (the EU countries plus Iceland, Liechtenstein and Norway) — the residential address of an individual, the registered address of an entity. required says whether it applies. For anyone else the call answers 422 and counts nothing.
Three attempts per investor, then locked. Attempts are shared with every partner and with the investor’s own attempts on Securitize. After the third failed attempt the test is locked and cannot be retaken through the API: the call answers 422 with details.reason: dlt_test_locked; contact Securitize. A 400 or the non-EEA 422 does not use an attempt. Once passed, further calls answer 200 and change nothing.
The verdict. verificationStatus here is the investor’s EU suitability: verified once the test is passed and the suitability is complete, in either order. Whitelisting an EEA investor requires it.
In sandbox you can exercise failed attempts and the lock. To test with an investor that has passed, ask Securitize for one.
curl --request POST \
--url https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/dlt-test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"whatIsBlockchain": "b",
"ledgerCharacteristics": "c",
"howAssetsAreHeld": "a",
"blockchainRisks": "d",
"atomicSwap": "b",
"walletFunction": "a",
"walletCustodyRisk": "d",
"blockchainVsTraditionalAccount": "c"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
whatIsBlockchain: 'b',
ledgerCharacteristics: 'c',
howAssetsAreHeld: 'a',
blockchainRisks: 'd',
atomicSwap: 'b',
walletFunction: 'a',
walletCustodyRisk: 'd',
blockchainVsTraditionalAccount: 'c'
})
};
fetch('https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/dlt-test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/dlt-test"
payload = {
"whatIsBlockchain": "b",
"ledgerCharacteristics": "c",
"howAssetsAreHeld": "a",
"blockchainRisks": "d",
"atomicSwap": "b",
"walletFunction": "a",
"walletCustodyRisk": "d",
"blockchainVsTraditionalAccount": "c"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
OAuth 2.0 client credentials. Exchange the client id and secret Securitize issued you for a bearer token at the token URL (the host root, not under the base URL), with grant_type=client_credentials; the token lasts 2 hours and goes in the Authorization: Bearer header of every request. No scope is needed. The token identifies your partner account, so you never send a partner id, and every record you create is scoped to you.
Path Parameters
Body
One attempt at the DLT test. Each answer is the letter of the chosen option, in the order the field lists them.
What characteristics does blockchain technology provide to a ledger? (a) Security, immutability, and auditability of transactions; (b) Scarcity and protection from inflation in assets; (c) Growing value of investments; (d) I don't know.
a, b, c, d How can assets be held on a blockchain? (a) They are kept in a computer or smartphone; (b) Using wallets, that can be directly held by investors or managed by an intermediary like an exchange or custodian; (c) They must be held via exchanges, like Coinbase or Binance; (d) I don't know.
a, b, c, d What are the risks of a blockchain? (a) That your wallets can be easily drained by a third party; (b) Immutability of transactions means funds cannot be retrieved if incorrectly sent and losing access to a wallet can render the assets irrecoverable; (c) Volatility of the price of the cryptocurrencies; (d) I don't know.
a, b, c, d What is 'atomic swap' in the context of blockchain technology? (a) A way to exchange different types of cryptocurrencies directly and securely, without the need for an intermediary, using 'smart contracts' to make the swaps instantaneously; (b) A method of creating more cryptocurrencies than you already have, thus increasing your total amount; (c) A method of converting cryptocurrencies into traditional money (such as dollars or euros), allowing you to make cash purchases immediately; (d) An investment strategy that helps you decide when is the best time to buy or sell cryptocurrencies.
a, b, c, d What is the primary function of a wallet in the context of blockchain and crypto assets? (a) To facilitate the mining process by providing computational power to the blockchain network; (b) To influence and set the market prices for various cryptocurrencies by controlling supply and demand dynamics; (c) To securely store and manage cryptographic keys that are used for authorizing transactions and accessing blockchain assets; (d) To act as regulatory bodies that oversee and manage the operations of cryptocurrency exchanges and transactions.
a, b, c, d What is a key custody risk associated with cryptocurrency wallets? (a) Wallets increasing transaction fees over time due to network congestion; (b) Wallets influencing the volatility of cryptocurrency markets; (c) Losing access to the wallet due to forgotten passwords or lost private keys, leading to irrecoverable assets; (d) The fluctuation in transaction fees, which can greatly increase the cost of accessing funds.
a, b, c, d What is the main difference between an account in a traditional investment platform and one where the assets are blockchain-based? (a) The blockchain-based accounts offer higher interest rates on all investments; (b) Traditional investment platforms only support investments in stocks and bonds, while blockchain-based platforms exclusively deal with cryptocurrencies; (c) Blockchain-based accounts allow for physical withdrawal of assets from local branches; (d) Blockchain-based accounts typically involve ownership recorded on a decentralized ledger, whereas traditional platforms use centralized systems to track asset ownership.
a, b, c, d Response
The test after this attempt. Read status and attemptsRemaining.
The investor's DLT test.