If using dried pinto beans, rinse the beans under cold water and soak them overnight in a large bowl of water. Drain and rinse before cooking. If using canned beans, drain and rinse them.
In a medium pot, heat olive oil over medium heat. Add the diced onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic, cumin, chili powder, smoked paprika, and salt. Sauté for another 1-2 minutes until fragrant.
Add the soaked pinto beans (or canned beans) to the pot, followed by the broth and diced tomatoes (with juices). Stir well to combine.
Bring the mixture to a boil, then reduce heat to low, cover, and let it simmer for about 40 minutes (if using dried beans) or 15 minutes (if using canned beans) until the beans are tender and the flavors meld.
Taste and adjust seasoning as needed. If the mixture is too thick, add more broth or water to achieve desired consistency.
Serve warm, garnished with fresh cilantro and lime wedges.