Trading on decentralized exchanges is made by transacting between a user’s wallet(s) and the exchange’s smart contract. All transactions are on-chain and thus public, so we only need to know the user’s address to track their trading activity. To do so, we ask them to connect that same wallet to our platform and sign a transaction, so we can get the wallet address but also validate its ownership (otherwise users could just look up wallets that trade frequently and add those to rip the rewards).
Once every minute, our backend system “scans” the blockchain looking for the user address, and records any new trading activity on token pairs with active reward pools. The system has an intentional 10 minutes lag, so trades will start showing on the platform after that period.
Restrictions: Users can add as many wallets as they want, but to prevent them from creating multiple accounts using the same wallets and fooling the system, previously used wallets cannot be added again (they will be blocked by the system).