Individuals

sFOX aims to provide a seamless onboarding experience for both our partners and end users alike.

This guide is designed to provide helpful information for assisting partners integrating into the sFOX platform for end user onboarding.

Overview

The following steps are necessary to create an individual end user account and provide required documentation to enable transacting as quickly as possible.

The above steps can be represented in a flowchart:

Additional Requirements

While the above steps are sufficient to complete onboarding and enable transacting for a majority of end users, sFOX may require additional information for certain individuals in certain scenarios. These scenarios are defined in the sections below:

Best Practices

Finally, each partner will design their own unique and exciting experience for their end users. In a general sense, sFOX is happy to provide best practices for integrating with the Connect platform.

Recommended Best Practices


Onboard an Individual End User

1

Create Individual End User

The following attributes are required when creating a new individual end user.

  • Name: first name and last name

  • Address: Primary residence (street address, city, postal code, state/province, country)

  • Email Address: user's email address, used in the onboarding process while verifying OTP code

  • Phone Number: user's phone number, used in the onboarding process while verifying OTP code

  • Date of Birth: user's date of birth

  • National Identity Number

    • U.S. Residents: Social Security Number (SSN)

    • Non-U.S. Residents: Passport number and issuing country

  • Account Purpose: The primary intended use of the account

Create a new end user by submitting a Create End User request.

Request
curl --location 'https://api.sfox.com/v1/enterprise/register-account' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${ENTERPRISE_API_KEY}' \
--data-raw '{
    "user_id": "<specify a unique id>",
    "account_type": "individual",
    "account_role": "client",
    "first_name": "John",
    "last_name": "Doe",
    "email": "[email protected]",
    "phone_country_code": "US",
    "phone_number": "+19171119999",
    "account_purpose": "investing",
    "source_of_funds": "employment",
    "source_of_funds_other": null,
    "advisor_user_id": null,
    "individual": {
        "dob": "1990-10-15",
        "residential_country_code": "US",
        "residential_address": "123 Main St",
        "residential_city": "Los Angeles",
        "residential_state": "CA",
        "residential_postal_code": "90403",
        "id_type": "ssn",
        "id_number": "XXXXXXXXX",
        "id_country_code": "US"
    }
}'
2

End User Status & Requirements

Upon end user creation, sFOX will return a status (status) and list of requirements (requirements).

End user status and requirements can be retrieved at any time with a Get End User request.

The requirements object specifically relates to OTP code verification for the end user's email address and phone number codes as part of the onboarding process.

  • You should interpret the requirements object as "is OTP code verification for email and/or phone number outstanding?"

  • If email or sms = true, then that means the requirement is not met. If false that means the requirement is no longer outstanding.

Example of an end user who has been approved and onboarded to sFOX:

Response
{
    "data": {
        "user_id": "example_individual_123",
        "status": "VERIFIED",
        "requirements": {
            "email": false,
            "sms": false
        }
    }
}
3

OTP Code Verification (if applicable)

If the end user's status = Pending and requirements object lists email and/or sms = true , the end user must complete OTP code verification. Follow these steps to complete OTP code verification:

Step 3A: Trigger OTP Code

Initiate an OTP verification code to the end user via a Create Verification Code request.

Initiate an OTP verification code to the end user's email address

Request
curl -X POST \
-H "Authorization: Bearer ${ENTERPRISE_API_KEY}" \
--data '{ "type": "email" }'  \
'https://api.sfox.com/v1/enterprise/users/send-verification/${USER_ID}'

Step 3B: Collect OTP Code from End User

Collect the OTP code directly from your end user.

Step 3C: Verify OTP Code

Confirm the OTP verification code and complete the requirement by submitting the code collected from your end user to sFOX via a Confirm Verification Code request.

Confirm an email OTP verification code:

Request
curl -X POST \
  -H 'Content-type: application/json' \
  -H "Authorization: Bearer ${ENTERPRISE_API_KEY}" \
  --data '{ "type": "email", "otp": "12345" }'  \
  "https://api.sfox.com/v1/enterprise/users/verify/${USER_ID}"
4

ID Verification

Submit a photo of a government-issued photo ID (e.g. driver’s license or passport) in a Submit Document API request.

sFOX recommends collecting and submitting IDs for each individual end user during initial onboarding in order to both maximize the verification rate and functionality available in the fewest steps.

If ID documentation is not submitted during initial onboarding, sFOX will request this information in the form of an EDD request for the end user. Learn more about Enhanced Due Diligence (EDD) here.

Request
curl --location 'https://api.sfox.com/v1/enterprise/ddq/upload' \
--header 'Authorization: Bearer ${ENTERPRISE_API_KEY}' \
--form 'files=@"${PATH_TO_FILE}"' \
--form 'user_id="${USER_ID}"' \
--form 'file_types="{\"${FILE_NAME}\":\"${DOCUMENT_TYPE}\"}"'

High-Risk Requirements

An end user may be considered "high risk" due to certain conditions. Example of such conditions include, but are not limited to:

  • Residing in a high-risk geographical region

  • 65 years of age or older

  • High-volume transactors

In these cases, sFOX will request some or all of the following information about the end user’s source of funds and expected use in the form of an EDD request for the end user. Learn more about Enhanced Due Diligence (EDD) here.

Source of Funds

  • Source of funds: Primary source of funds being transferred to the account

    • sFOX recommends specifying source of funds upon end user creation to minimize requests for additional information later on

  • Employment status: End user’s employment status

  • Occupation: End user’s primary occupation

  • Intermediary Status: Is the end user receiving or sending funds on behalf of someone other than themselves?

Expected Use

  • Expected Monthly Transfer Volume: Expected monthly USD notional amount to be transferred (sent / received)

While an EDD request is in-flight, there is no loss of functionality for the end user

Monitor for Additional Requirements

As noted above, sFOX may require additional information about an end user beyond the initial account creation information.

Proof of Address Documentation

Similar to the high-risk individual scenario, sFOX may require proof of address for certain end users; examples where Proof of Address will be requested include:

  • Conflicting location data: ID and address in different regions

  • Unable to validate location: sFOX was unable to validate the end user’s residential address

  • As needed: when a high risk individual has not previously fulfilled this requirement

Coming Soon: Improvements to enhance visibility into additional requirements and self-service options for fulfilling them.


Best Practices

How you onboard end users can have a significant impact on onboarding conversion:

  • Rate: the percentage of end users who successfully complete onboarding

  • Time: the amount of time required for an end user to successfully complete onboarding

  • Steps: the number of steps your end user and application must complete before funding and trading

To that end, sFOX would like to provide a series of recommendations and best practices below:

1. Collecting KYC Information from End Users

In addition to the basic information required to create an end user, sFOX recommends collecting the following from individual end users during your onboarding process:

In doing so, you avoid having to collect additional information from the end user later on that may be required by sFOX is certain cases.

2. Creating End Users

Include optional information such as the following when creating an end user:

  • Source of Funds (source_of_funds)

In doing so, you can reduce the likelihood of requests for additional information after the end user is created.

After an end user has reached status=VERIFIED, we highly recommend directing the end user to link a bank account via Plaid for the following reasons:

  • Proof of Address: Linking a bank account via Plaid may fulfill the proof of address requirement for the end user resulting in faster onboarding in fewer steps and avoiding document collection requirements for fulfilling proof of address, which tends to be low conversion.

  • Account Funding / ACH: U.S. bank accounts linked via Plaid instantly gain access to the ACH payment rail whereas bank accounts linked via API are required to complete micro-deposit verification before ACH may be enabled, which can take up to 5 business days to complete.

4. Submit ID Documents

After an end user has reached status=VERIFIED, we recommend collecting and submitting ID documents rather than waiting for an EDD request for them.

Last updated