Sort and rinse the beans: place the beans in a large colander and remove any stones or debris, then rinse under cold water.
Soak the beans: transfer rinsed beans to a large bowl, cover with 2 to 3 inches of water, discard any beans that float, and soak at room temperature 8 hours or overnight; drain and rinse before cooking.
Heat oil in a large pot or Dutch oven over medium heat, then add the chopped onion and sauté until soft, about 5 minutes; add the diced jalapeño with the onion if you want heat.
Add the ground cumin and stir until fragrant, then add the soaked beans, 8 cups water, dried oregano, 2 teaspoons sea salt, and several grinds of freshly ground black pepper; bring to a boil.
Reduce heat to a simmer and cook uncovered until the beans are tender and beginning to break down, about 1 to 1 1/2 hours; check for doneness starting at 1 hour and add more water as needed to keep beans submerged.
Remove from heat and stir in 1 tablespoon fresh lime juice; season to taste with additional salt (about 1/2 to 1 teaspoon more if desired), more pepper, and chili powder if using.
Garnish with fresh cilantro if desired and serve.