Rinse beans under water and pick through, discarding any weird broken bean pieces or other debris. Place beans in a 3-quart or larger Crock Pot and fill Crock Pot with water to about 2 - 3 inches above the beans. Cover and let sit overnight, or for at least 8 hours.
Discard soaking water by pouring beans into a colander. Rinse beans. Return beans to the Crock Pot.
Add vegetable broth, olive oil, garlic, onion powder, cumin, chili powder, and salt.
Cook on low for 8 - 10 hours, until beans are cooked through.
Turn off Crock Pot and remove lid to allow beans to cool a bit so that they're safer to handle. Using an immersion blender, blend beans to desired consistency (you might like your beans to be 100% smooth, or chunky with a few beans still left whole). A note on liquid level: Crock Pots can vary, so if before blending, the liquid is still above the level of the beans, you may want to skim a little off and reserve the liquid for possibly thinning later on. Mine cook down and end up at the perfect consistency with exactly 3 cups vegetable broth, and I don't need to remove any of the liquid before blending.
Turn Crock Pot back on to low and let pureed beans sit and cook for another 30 minutes or so. This will help the beans to thicken up and the flavors to develop.
Taste and add additional salt if desired. I actually like to use 2 teaspoons kosher salt up front, but I like mine a bit salty. If beans are too thick, add additional vegetable broth and stir. If beans are too thin, let sit for a little longer and they will thicken up nicely.
Squeeze half a lime over the top of the beans before serving, if desired.
These keep in the refrigerator in an airtight container for 2 - 3 days, or you can keep them frozen for several months. They will thicken after sitting. Just thin with vegetable broth or water to the desired consistency.