Buying prediction market outcome tokens requires Proof verification to meet Kalshi compliance requirements. This page covers how verification affects API behavior and how to build around it.Documentation Index
Fetch the complete documentation index at: https://pond.dflow.net/llms.txt
Use this file to discover all available pages before exploring further.
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.Let’s stay in touch
Dev Notifications
Join the DFlow Dev Notifications Telegram group to stay in the loop on
new features and other announcements.