Verified Network
  • What is the Verified Network
  • How to use it
  • Reference
    • Verified SDK
      • Using the SDK
      • Wallet and Contracts
      • Know your Customer
        • Using the KYC plugin
      • Delegated permissions
      • Investment products
        • Product lifecycle
        • Example of a Product
      • Security tokens
        • Issuing functions
      • Liquidity pools
        • Buy and Sell Orders workflow
        • Buy and Sell Order Complete workflow example
      • Secondary issues
      • Primary issues
        • Primary offer function
      • Margin traded issues
        • Offering collateral
      • Adding money to wallet
        • Paying in supported tokens
      • Issuing cash tokens
        • Issuing and Exchange functions
      • Making payments
        • Transferring cash tokens
      • Withdrawals
        • Redeeming cash tokens
      • Custody of Assets
        • Custody functions
      • Staking to invest
        • Liquidity functions
        • Market maker functions
      • Staking to borrow
        • Bond issuing function
      • Lending
        • Bond purchase function
      • Repayments
        • Bond redemption function
      • Claiming collateral
        • Defaults and Unsold bonds
      • Returns on Investment
        • Manager and Platform returns
    • Verified REST API
      • Market data
        • Get all assets
        • Get Tradable Asset Pairs
        • Get Ticker Information
        • Get Orderbook
      • Order data
        • Get Account Balance
        • Get Trade Balance
        • Get Open Orders
        • Get Closed Orders
        • Query Orders Info
        • Query Trades Info
        • Get Trades History
      • Order Management
        • Add Order
        • Edit Order
        • Cancel Order
    • Verified Subgraphs
    • Verified Applications
      • Doing KYC
        • Creating wallet
        • Using the Verified Dapp
        • Doing KYC
      • Primary issues
        • Creating a new issue
        • Subscribing to issue
        • Closing issue
      • Secondary trading
        • Market orders
        • Limit orders
        • Edit, Cancel, Settle orders
      • Margin trading
        • Post Margin collateral
        • Swaps
        • Edit, Cancel, Settle orders
      • Portfolio
        • Account statement
        • Corporate actions
        • Underwriting liquidity
Powered by GitBook
On this page
  1. Reference
  2. Verified SDK

Know your Customer

KYC for users, investors and issuers

KYC is required for all users on the Verified Network. The amount of information required varies from regular users to investors and issuers.

Basic KYC requires application developers to collect identity and address proof of users and send them to the KYC Contract signed by the user's KYC Manager. KYC Manager is a role delegated to regulated financial service providers that are authorized to do KYC/AML checks such as AMLD5 in Europe. Photo and Video files need to be encrypted, stored in IPFS and a hash of the files sent to the KYC contract signed by the KYC Manager.

To get user's KYC status on Verified Network, call getClientKYC function on Client Contract and decode the output

/** Import Client contract **/

//Common Js
const { Client, contractAddress } = require('@verified-network/verified-sdk'); 
//ES Module
import { Client, contractAddress } from '@verified-network/verified-sdk'

const chainId = 'chain id(number) of connected network'
/** fetch contract address **/
//All verified contracts addresses can be fetched from contractAddress object
    const networkContractAddresses = contractAddress[chainId]; //All verified contract addresses on connected network
    const clientContractaddress = networkContractAddresses.Client; //Client contract address
/** Initialize Client Contract **/
    const providerOrSigner = 'provider or signer'  //can be investorWalletProvider from previous page or Signer from web wallets
    const clientContract = new Client(providerOrSigner, clientContractaddress);
/** call getClientKYC function **/
    const userAddress = 'address of user to get kyc status for'
    const userKycResult = await clientContract.getClientKYC(userAddress);
/** decode getClientKYC response/output **/
    const decodedResult = userKycResult.response.result;
    const kycStatus = Number(decodedResult[3]);

KYC status can have the following values

  • 0 - KYC has not been initiated.

  • 1 - KYC approval is pending.

  • 2 - KYC is rejected.

  • 3 - KYC is accepted by delegated KYC Manager.

Individual investors require basic KYC and authorization from the investor to obtain financial data from the investor's banks using open banking connectors. Investors are categorized based on net worth and income and their suitability is assessed before they can invest in tokenized financial products on the Verified Network.

Qualified (institutional) investors require the following KYC data to be collected.

  • Certified Company register extract

  • List of shareholders with 10% or more up to the UBO. The list must: a. Include Each layer of ownership – e.g. all shareholders with 10% or more b. Include The exact full legal name and country of domicile of the shareholder c. Include The exact name and country of nationality of the UBO d. Be dated and signed by authorized signatories of the company

  • Latest Articles and Memorandum of Association

  • Latest audited annual report/financial statements

  • List of authorized signatories <1y

  • Certified and valid IDs of authorized signatories

  • Certified and valid IDs of the beneficial owners (BOs) (if any)

  • Certified and valid IDs of the directors

  • Proof of domicile for directors and BOs

Issuers of financial products also need to submit KYC data and data files need to zipped, encrypted and stored in IPFS, and a hash of the stored file need to be sent to the KYC Contract.

setFile(_clientAddress: string, _file: string)

The following KYC data is required for issuers on the Verified Network.

  • Certified Company register extract

  • List of shareholders with 10% or more up to the UBO. The list must: a. Include Each layer of ownership – e.g. all shareholders with 10% or more b. Include The exact full legal name and country of domicile of the shareholder c. Include The exact name and country of nationality of the UBO d. Be dated and signed by authorized signatories of the company

  • Latest Articles and Memorandum of Association

  • Latest audited annual report/financial statements

  • List of authorized signatories <1y

  • Certified and valid IDs of authorized signatories

  • Certified and valid IDs of the beneficial owners (BOs) (if any)

  • Certified and valid IDs of the directors

  • Proof of domicile for directors and BOs

  • CV of BO and directors

  • Source and composition of wealth of the UBO incl. milestones of wealth generation

  • Source of funds of the company – expected to be available in the audited annual report and/or financial statements.

  • Proof of business activity of the company – if not available in the audited annual report and/or financial statements

  • Certified regulatory authorization or license applicable to services provided

PreviousWallet and ContractsNextUsing the KYC plugin

Last updated 1 year ago