You were probably got high fees because you were not managing liquidity. On a non-custodial wallet, if you try to receive a payment that is larger than your inbound capacity, you will get hit w/ an on-chain fee to resize the channel. The solution to this is to either spend more sats or use a service like boltz.exchange (non-custodial). This way, you can "empty" out your lightning channel.
For example:
1. You receive $50 into your new non-custodial lightning wallet, this incurs an on-chain fee. You now have no inbound liquidity, but you have $50 in outbound liquidity. You can send up to $50 over lightning.
2. You use bolts.exchange to send $50 over lightning, which is returned to you, on-chain, minus tx fees (say $48)
3. You now can receive up to $50 in your lightning wallet without paying any on-chain fees.
Think of lightning like a bucket. A bucket is a lightning channel, the water in the bucket is sats. If you buy a $50 bucket, the bucket is full to start, it can't receive any more water unless you buy a bigger bucket. If you dump some water out, now you make room for more water to be added to the bucket, and you can do this infinite times.
Login to reply