Yes -- and no. First of all, your protein needs to be moderate. If you're eating more that about 8 ounces of protein a day, you may not be able to stay in ketosis. Next, grass-fed butter is fine, any old butter isn't. You can also look at using ghee and avocado, coconut, and olive oil instead. Peanut butter is a no go. Peanuts aren't nuts and they simply aren't the right thing to eat on Keto. Sorry. Walnuts, in moderation, are fine. Cheese is iffy. With dairy comes lactose which is a type of sugar. SMALL amounts -- like a tablespoon per meal -- are fine but you should not be eating chunks of cheese. Protein power is also iffy since most of these products have too much protein per serving AND added sweeteners. Your body can only process about 20 grams or protein in an hour. If you drink protein powder than has 30 grams of protein and 15 grams or carbs, you won't be in ketosis and your body will store the extra carbs and protein as fat. Eggs are fine. It is better to eat pastured eggs -- not pasteurized eggs, but eggs from chickens that are raised in a pasture.
Try to keep your protein consumption to under 20 gram of protein per meal. Remember, keto is lots of fresh veggies and good fats, with moderate protein, and virtually zero starches or carbs from food other than vegetables. It is NOT a high protein diet.