Spot trading does not require Proof.
Which Wallet Needs to Be Verified
The wallet receiving the outcome tokens must be verified:- If
destinationWalletis specified, that wallet needs to be verified. - If
destinationWalletis unspecified,userPublicKeyneeds to be verified, since the user’s wallet is the default destination. - The fee payer does not need to be verified.
What Happens Without Verification
If the receiving wallet is not verified through Proof, the/order endpoint returns an error instead of a transaction when buying outcome tokens. Unverified wallets can still sell.
Showing Quotes to Unverified Users
To let unverified users preview pricing before completing KYC, omituserPublicKey from the /order request. The API returns the quote without requiring verification.
This lets you build UX where users can browse markets and see prices, then get prompted to verify only when they attempt to execute a trade.
Checking Verification Status
Use the/verify endpoint to check whether a wallet is verified. Cache the response on your backend with a short TTL rather than calling /verify alongside every /order request.
See Partner Integration for the full integration flow, including deep linking, signature generation, and code examples.
Geoblocking
KYC alone is not sufficient. Prediction markets are not permitted in all jurisdictions, so your application must also implement geoblocking to restrict access where local regulations apply. See Prediction Market Compliance for details.Need Help?
Join Our Discord
Connect with other developers, get help, and stay updated on the latest
DFlow developments.
Dev Notifications
Join the DFlow Dev Notifications Telegram group to stay in the loop on
new features and other announcements.