For the marinade: Combine the lemon zest and juice, orange zest and juice, extra-virgin olive oil, scallions, cilantro stems (to taste), jalapeño, sea salt, honey and cayenne pepper in a gallon-size zip-top bag (or nonreactive baking dish). Add the swordfish and seal the bag, first pressing out as much air as possible. Gently massage/turn to coat the fish. Let it sit at room temperature for 1 hour, turning the bag over from time to time, or in the refrigerator for up to 4 hours. (If you have refrigerated the fish, let it sit at room temperature for 20 minutes before cooking.)
Meanwhile, make the salsa: Combine the tomatoes, red bell pepper, cilantro, red onion, mint, sea salt, black and cayenne peppers, and the extra-virgin olive oil in a mixing bowl, tossing gently to incorporate.
To cook the swordfish and finish the salsa: Remove the fish from the marinade. Scrape any ingredients that may have stuck to the fish back into the marinade; transfer the marinade to a small saucepan. Use paper towels to gently pat the fish dry.
Working in a large skillet (nonstick is good here) over medium-high heat, warm the canola oil; once it shimmers, add the swordfish. If your skillet isn’t large enough to hold the 4 pieces, cook the fish in two batches, adding more oil to the pan as needed. Cook for 3 minutes, then carefully turn the fish over and cook for about 2 minutes or until the flesh is opaque to the middle. Transfer the fish to a platter.
Bring the marinade to a boil over high heat; cook for about 3 minutes, then remove from the heat. Spoon some of the marinade over each piece of fish, and pour the rest into a pitcher to be passed at the table.
Add the avocado and lemon juice to the salsa and toss to incorporate. Spoon some salsa on top of each piece of fish and serve. If you have leftover salsa, bring it to the table.
