provider to wisdomtree in each request.
Privy forwards the data to WisdomTree. WisdomTree reviews submissions asynchronously. Privy does not store the KYB data.
Onboarding flow
- Your app’s server submits the business data. The request also answers WisdomTree’s agreements.
- WisdomTree reviews the submission. The status starts as
pending. - WisdomTree may need changes. The status then moves to
action_required. Your app answers each correction, and Privy submits the business again. - Once the status is
approved, the organization can register wallets and trade.
Submit verification data
To submit an organization’s KYB data, send aPOST request to:
Parameters
The body holds the business data and its answers to WisdomTree’s agreements.'wisdomtree'
required
The fund provider.
'sandbox' | 'production'
The WisdomTree environment of the submission. Defaults to
production. Use sandbox to test. See
how the sandbox
works.object[]
The WisdomTree agreements the business accepts.
object[]
The WisdomTree agreements the business does not confirm.
object
required
The business’s KYB data. See business data fields.
Each agreement of WisdomTree’s current set must be either in
agreements or in
declined_agreements. If the request does not match the current set, Privy returns a 400 that
lists the agreement IDs and the current version. Use that response as the source of truth: the set
can change.Returns
The endpoint returns202 Accepted with the organization’s KYB status. See the status fields.
Example
This request submits a United States corporation with one owner.Example response
Business data fields
data uses the same shape as headless KYB. The same rules apply to its shared fields:
- The business details and addresses.
identifying_informationandassociated_persons.documents.
data has no investor status.
WisdomTree also reads the fields below. The request does not require them. WisdomTree may still ask for them in a correction.
Optional fields WisdomTree reads
Optional fields WisdomTree reads
status of aml_program and blockchain_monitoring is implemented, in_progress, not_implemented, or not_applicable. The status of independent_compliance_testing is completed, scheduled, not_completed, or not_applicable.
Each associated person can also include is_director, is_regulatory_notices_recipient, is_us_person, politically_exposed_person (is_pep and details), delegation (is_delegated), and relationship_established_at.
Check the review status
To check the status, send aGET request to:
environment=sandbox to the query to read the sandbox status. The response lists one status for WisdomTree, in that environment:
Example response
Status fields
The submit, status, and corrections endpoints all return these fields.'wisdomtree'
The fund provider.
'sandbox' | 'production'
The WisdomTree environment of the status.
string
The organization’s KYB status. See the onboarding flow.
object
The KYB review.
string[]
The fields WisdomTree needs corrected, by the provider’s field paths.
string[]
Fields WisdomTree may ask for later.
object | null
What WisdomTree needs corrected, while the status is
action_required. null otherwise.Answer corrections
While the status isaction_required, resubmission.reasons lists what WisdomTree needs. Answer each reason by its id. Send a POST request to:
pending.
Parameters
Each reason has arequired_action. It tells your app which field to send.
'wisdomtree'
required
The fund provider.
'sandbox' | 'production'
The WisdomTree environment of the submission to correct. Defaults to
production. Use sandbox to test. See
how the sandbox works.boolean
required
Whether the business attests that the answer is accurate.
false withdraws an earlier answer.object
Corrected values by the provider’s field path, e.g.
{"org_details.tax_id": "98-7654321"}. For reasons with required_action set to resubmit_corrected.string
A base64 data URI of a PDF, JPEG, or PNG file. For reasons with
required_action set to upload_replacement_document or upload_additional_document.string
A written answer. For reasons with
required_action set to provide_explanation.Returns
The endpoint returns the organization’s KYB status. See the status fields.Example
This request answers reason5 with a new tax ID.
If WisdomTree rejects an answer, for example a document that does not match what the reason asks
for, Privy returns
400 with WisdomTree’s message. The reason stays unanswered.Next steps
Once WisdomTree approves the business, register its wallets.Register wallets
Register the organization’s wallets with WisdomTree.
Webhooks
Receive
tmmf.kyb.updated when WisdomTree takes a submission.
