Overview
The PADO MPC-TLS SDK provides developers with tools to directly implement the zkAttestation solution in dApps without the need for backend cryptography or attestation workflow development.
To attest a user’s web data, create proofs, and implement verification mechanisms, use this SDK along with a set of MPC-TLS APIs.
Some application examples include:
- Verifying the number of followers on a user’s X account to determine if they are a KOL or a newcomer.
- Enabling asset verification using the user’s off-chain exchange asset or token status.
- Verifying the ownership of a user’s social media account, such as TikTok or X, to provide basic PoH capability.
- And many more based on your needs...
In this initial version, the attestable data source, attestation content, and supported blockchains are pre-set. A future developer platform will allow customization.
Workflows
The basic workflows are as follows:
The PADO Extension is required to complete the MPC-TLS process on the data source page. When using the PADO MPC-TLS SDK, prompt users in your dApp to install the latest version (above 0.3.13) of the PADO Extension, as it is required.
1. User Onboarding: The user onboards to your dApp, connects their Wallet, and follows your instructions to initiate the data attestation process.
2. Configure zkAttestation Parameters: Before starting the attestation process, ensure that all parameters required by the SDK for this attestation workflow are properly configured.
3. Initiate zkAttestation Process: Your dApp activates the PADO MPC-TLS SDK, requesting the data and attestation content configured in the SDK.
4. Redirect to the Data Source Page: Your dApp redirects the user to the data source page. After the user logs in to their account on that website, the PADO Extension pop-up window will appear in the right corner of the data source page.
5. Initiate zkAttestation Process: The user needs to click the start button on the PADO Extension pop-up window to generate a zkAttestation process.
6. Execute MPC-TLS Protocol: Once the zkAttestation process begins, the MPC-TLS protocol runs between the data source page, the PADO extension, and the PADO server to complete a privacy-preserving attestation process.
7.Return zkAttestation Result: After the zkAttestation process is complete, whether successful or not, the PADO Extension retrieves the result and sends it to the MPC-TLS SDK. For the failed tasks, we provide several error codes to help you better identify and troubleshoot issues.
8. Get and Verify the zkAttestation Result: Your dApp will retrieve the zkAttestation result from the SDK and verify PADO's signature to confirm whether the result is trustworthy.
9. Business Logic: Your dApp will execute business logic based on the proof that users obtain from the SDK. Your dApp will determine how to use the proof, whether to submit it on-chain, and how to use it.
zkAttestation Capabilities
In this initial version, the attestable data source, attestation content, and supported blockchains are pre-designated.
1. Attestable Details
Data Sources | Attestation Content | Input Value | Attestation Result |
---|---|---|---|
https://www.binance.com | Asset balance in trading account | USD value, numeric, minimum value of 0.000001, restricted to a 6-decimal-place number | if the "attestation content" is greater than "input value" |
Token holding in trading account | Token name, alphabet | if the "input value" is equivalent to more than USD 0.1 | |
KYC Status | N/A | if the "attestation content" passed basic KYC verification | |
Account ownership | N/A | if the "attestation content" owns the associated account | |
https://www.okx.com | Total asset balance | USD value, numeric, minimum value of 0.000001, restricted to a 6-decimal-place number | if the "attestation content" is greater than "input value" |
Token holding | Token name, alphabet | if the "input value" is equivalent to more than USD 0.1 | |
KYC Status | N/A | if the "attestation content" passed basic KYC verification | |
https://www.tiktok.com | Account ownership | N/A | if the "attestation content" owns the associated account |
https://www.x.com | Account ownership | N/A | if the "attestation content" owns the associated account |
Social connections | Followers number, numeric, minimum value of 0 | if the "attestation content" is greater than "input value" |
2.Supported Blockchains
For the attestation contract, we currently deployed EAS and Verax attestation schemas to the following blockchains:
- Linea
- BNB Chain
- opBNB
- Arbitrum
- Scroll
If you have further needs for other blockchains, please contact us through our community for support.