Soak beans overnight in ~10 cups of water, drain, rinse and set aside.
In a small skillet over medium heat, sauté onion in olive oil until translucent. Add garlic and sauté until fragrant, remove from heat.
Add beans, sautéed onion/garlic mixture, vegetable broth, water, cumin, paprika and chili powder to crock pot.
Cook on high for 4 hours then on low for 2 hours or until beans are tender. Add fresh cilantro and sea salt to taste.
Transfer half of the soup to a food processor/blender and puree until creamy (or use a hand-held immersion blender) Mix back into crock pot with the rest of the soup and stir.
Serve with fresh salsa, crispy corn chips and lime wedges. You can also top with avocado and hot sauce!