Drain the beans and put them in a pot with enough cold water to cover them by a couple of inches. Add the bay leaf.
Bring to a boil then lower the heat and simmer.
Heat a small skillet and add the cumin seeds. When they begin to color, add the oregano leaves and shake until they smell fragrant.
Remove the pan from the heat and add the paprika and cayenne. Stir everything together for a couple seconds, then remove from the pan.
Grind the spices in a coffee grinder or with a mortar and pestle to a coarse powder.
Heat the oil in a large skillet and saute the onions with 1/2 tsp of sea salt until they begin to brown.
Add the garlic, ground spices and chili powder. Cook for another 5 minutes.
Add the tomatoes with their juice, and about 1 tsp of chipotle chili.
Simmer for 15minutes, then add this mixture to the beans and enough water to cover the beans by at least 1 inch.
Continue cooking the beans slowly until they are soft, about an hour. Check the water level to keep the beans covered and add more water, as needed.
When the beans are tender, add salt to taste, more chipotle if desired and rice vinegar or lime juice to taste.
Just before serving, add the chopped cilantro,. Serve with garnishes.