Every wallet refers to a specific user or customer of the Shutterscore merchant.

The diagram below shows the relationship between you (the Shutterscore merchant), your customer, the different accounts (Fiat and Crypto) and how they work.

From the diagram above, Shutterscore merchants are able to create multiple wallets that reference their customers/users. These wallets hold user compliance information needed to create deposit accounts for these users. A wallet is an independent structure that represents the merchant's customer or user on Shutterscore. Each wallet holds a reference that is unique to its corresponding user on the merchant's platform.

For example, a remittance platform Remitora has a user with the details below and wants to generate static or dynamic accounts for this user.

Remitora User
First Name: Christian
Last Name: Jombo
User ID: 0023456178

For Remitora to generate these accounts, they must first create a wallet on Shutterscore, whose reference will be the same as the user id of the user above. Of course, Remitora may use any other unique id for their wallet, as far as they have a reference on the user on their platform. Check out the user below, Tabuloo is using Shutterscore wallet ref as the unique reference on both the user and their wallet.

Tabuloo User
First Name: Grace
Last Name: Moren
Shutterscore Wallet Ref: 0011557192


Creating a Wallet

To create a wallet on Shutterscore, you need to make a request to the Shutterscore wallets API. The request below demonstrates the process of creating a fiat wallet on Shutterscore.

{{baseurl}}/v1/merchant/public/wallets
{
    "compliance": {
        "phone": "08066128888",
        "firstname": "Christian",
        "lastname": "Jombo",
        "email": "[email protected]",
        "documents": [
            {
                "document_type": "INTERNATIONAL_PASSPORT",
                "document_no": "3456789876543",
                "document_file": "https://nimc.gov.ng/rkon/uploads/2015/02/blank-cardChip.jpg",
                "document_file_type": "url"
            }
        ]
    },
    "wallet_reference": "00087906511",
    "account": null
}
{
    "status": true,
    "statusCode": 201,
    "message": "wallet created successfully",
    "data": {
        "full_name": "Shutterscore-Christian",
        "compliance": {
            "phone": "08066128888",
            "firstname": "Christian",
            "lastname": "Jombo",
            "email": "[email protected]",
            "documents": [
                {
                    "document_type": "INTERNATIONAL_PASSPORT",
                    "document_no": "3456789876543",
                    "document_file": "https://nimc.gov.ng/rkon/uploads/2015/02/blank-cardChip.jpg",
                    "document_file_type": "url"
                }
            ]
        },
        "wallet_reference": "00087906511"
    }
}

The table below defines all the properties in the request body


FieldData TypeDescription
complianceObjectRequired - the compliance information of the user who owns the wallet. Compliance information includes but is not limited to phone, first name, last name, email, identity documents, e.t.c
compliance.phoneStringRequired - Phone Number of the User
compliance.firstnameStringRequired - First Name of the User
compliance.lastnameStringRequired - Last Name of the User
compliance.emailStringRequired - Email address of the User
compliance.documentsObjectRequired - Identity documents of the User
compliance.documents.document_typeStringRequired - Identity document type (Options are INTERNATIONAL_PASSPORT, e.t.c)
compliance.documents.document_numberStringRequired - Identity document number
compliance.documents.document_fileStringRequired - A link to the identity document image file
compliance.documents.document_file_typeStringRequired - Identity document file type (Options are url and )