How to Make It
Marinate the Seafood: In a bowl, combine all of the ingredients except the shells and toss to coat. Cover and refrigerate for at least 4 hours or overnight.
Meanwhile, Make the Shrimp Stock: In a large saucepan, cover the shrimp shells with the water. Add the remaining ingredients and bring to a boil. Simmer for 45 minutes. Let cool. Strain the stock.
Make the Soup: In a large saucepan, melt the butter. Add the flour; whisk over moderately low heat until foamy, about 3 minutes. Add the coconut milk; whisk over high heat until thickened, about 5 minutes. Add the shrimp stock and bring to a simmer. Cover and keep warm.
In a large enameled cast-iron casserole, heat 1 tablespoon of the dendê oil. Add the onion and a pinch of salt and cook over moderate heat, stirring, until softened, 5 minutes. Add half of the tomatoes and cook until softened, 5 minutes. Stir in the marinated seafood and cook for 2 minutes. Pour in the soup and simmer until the seafood is just cooked, 6 minutes. Stir in the cilantro.
Meanwhile, in a small skillet, heat the remaining 1 tablespoon of dendê oil. Add the hearts of palm and the remaining tomatoes, season with salt and cook over high heat until warmed through, 1 minute. Spoon the Coconut-Cashew Rice into shallow bowls and ladle the soup on top. Garnish with the hearts of palm and tomatoes and serve.