Melt butter in a small skillet; sauté green onions 1-2 minutes until softened. Set aside to cool.
Grease a 9x9-inch dish; spread ham evenly in bottom.
Whisk eggs, cottage cheese, Swiss, flour, baking powder, and salt in a large bowl until smooth.
Stir in sautéed green onions.
Pour over ham.
Cover tightly with foil; refrigerate overnight or at least 8 hours.
Preheat oven to 350°F. Bake covered 30 minutes; uncover and bake another 10 minutes until golden and center set.
Stand 5 minutes before cutting and serving.