Phase 1: POST - How to implement a solution
| If you haven’t installed Veriscope yet, follow the Veriscope Installation Guide before proceeding further. | 
Post discovery layer data
Available on the Shyft Network is a Discovery Layer enabling all VASPs to do counterparty discovery; one of the core requirements of the FATF Travel Rule.
To post discovery layer data on-chain, log-in to the Veriscope web-app and navigate to Manage Organization. There you will be presented with a form to input the following data points (key-value pairs):
- 
Trust Anchor Account Address
 - 
VASP Legal Entity Name
 - 
Incorporation Date
 - 
VASP Operating Name
 - 
Domain
 - 
Shyft Integration API URL
 - 
Compliance Contact
 - 
Technology Contact
 - 
Support Contact
 - 
VASP Home Jurisdiction
 - 
Regulated, Licensed, or Under Exemption in the Home Jurisdiction
 - 
Regulatory or Licensing Body in the home jurisdiction
 - 
Public License or Registration URL on Regulator’s Website (if applicable)
 - 
Exchange/OTC/Custodian
 - 
Virtual Asset to Virtual Asset Exchange
 - 
Virtual Asset to FIAT Exchange
 - 
Travel Rule Collection Requirements Policy
 - 
Does the VASP conduct KYC
 - 
What is the KYC-free threshold
 
Post attestations on-chain
In order to post attestations on chain, VASPs must consider/implement three Veriscope API endpoints:
- 
/get_jurisdictions - 
/create_shyft_user - 
/set_v3_attestation 
Get Jurisdictions
`GET` {{baseUrl}}/api/v1/server/get_jurisdictions
[
    {
        "id": 1,
        "sortname": "AF",
        "name": "Afghanistan",
        "created_at": "2022-05-31T14:23:25.000000Z",
        "updated_at": "2022-05-31T14:23:25.000000Z"
    },
    {
        "id": 2,
        "sortname": "AL",
        "name": "Albania",
        "created_at": "2022-05-31T14:23:25.000000Z",
        "updated_at": "2022-05-31T14:23:25.000000Z"
    },
    ...
    ...
    ...
    {
        "id": 246,
        "sortname": "ZW",
        "name": "Zimbabwe",
        "created_at": "2022-06-14T03:17:39.000000Z",
        "updated_at": "2022-06-14T03:17:39.000000Z"
    }
]
Create Shyft User
`POST` {{baseUrl}}/api/v1/server/create_shyft_user
{
    "account_address": "0x96ee3769a2422215626b8a32594e8fbd5dd1b61a",
    "private_key": "bc454d37a96647a26aafdf15fc6a0eb81b7874c510d1b8b201ad2b5d785978cf",
    "public_key": "0x0423f6bd02dac58e22f493c63a347922fedfb521a4d9908836c0194e364c018552bc8e1b78e0868f1249c37d199690780a9ba635b49ecd295c086cab02270364fa",
    "message": "VERISCOPE_USER",
    "signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
    "signature": {
        "r": "0x27a0f86e6afdfb93e8f5e7c6bc48d55af0fb43f4a888676c86e61a7db808cca7",
        "s": "0x2487c6da94c174831a4ce28256488288743d29e78eafa5d57c319a9badcb4bc8",
        "v": "0x25"
    }
}
Set V3 Attestation
`POST` {{baseUrl}}/api/v1/server/set_v3_attestation
"ta_account":"0xF937c412e7172c2c8978cEdD850DDD08e0D95e60"
"user_account":"0x96ee3769a2422215626b8a32594e8fbd5dd1b61a"
"jurisdiction":"196"
"coin_blockchain":"ETH"
"coin_token":"POOL"
"coin_address":"0x5481fabc980af705c556517426c81a963af5657d"
"coin_memo":"end-to-end walkthrough"
  |