Most of the exchanges do not accept utility tokens from a contract. Is there a way to validate/check if the target address is/belongs to a exchange?
If you want to check the address during the execution of a contract function on the Ethereum network, then no, not at the moment.
I can think of two ways this may be accomplished in the future:
- One or more organizations that curate an on-chain registry of exchange addresses (these may be the exchanges themselves)
- Exchanges would have to vanity-gen their address to include some sort of identification code
Both methods don't exist yet, and even if they did, would not be 100% fool-proof.
If you want to check the address outside a contract, for example from a web server, you could query a website like http://etherchain.org . They add special names for important addresses. For example, you can see that this address belonged to the BTC-e exchange:
And this address belongs to the Kraken exchange: