I bought a puffer once because it was on sale for 2 bucks and it looke dso cute and fun and I can't even remember how many fish that puffer killed and/or just plain terrorized. They are cool, but only when you're looking at them.
Puffers whoop ass at ridding snails - yeah, they'll eat every snail and shrimp in sight so if you have an infestation of snails, that won't last long.
I would say the "perfect" tankmate for puffers are "food" or maybe just other puffers.
Serpaes will probably be fine for a while because they are so fast and the puffers will never catch them but I wouldn't call them a great match. Make sure your salinity is correct. "Freshwater" puffers which usually means brackish puffers are a pain in the ass... which also means I'll probably go out and buy some more real soon!