Just wanted to say that Social Security's Old-Age Income program is available to
all non-citizens, regardless of immigration status. It is a good thing to be aware of.
The only requirements to meet is 10 years of work in the US (i.e. "40 quarters of coverage (QC's)"). I spoke to someone from India sometime ago, who had come to the US in their late 40s or early 50s. They were planning on going back to India after they had accrued 10 years of tax-paying years in the US, so they could collect on Social Security Old-Age when they retired in India.
With the exception of a few countries,the US government will in fact directly deposit money in your foreign bank account. [a] You don't need to have any ties to the US. The whole thing is actually quite profitable, if you've only worked in the US for 10 years. Per the formula [b], if they earned $130k per year, in 10 years they made $1.3 million (and contributed $198,900 at 15.3% in FICA taxes), which divided by 420 yields $3,095 - the AIME (Average Indexed Monthly Earnings). The benefits payable for it is: 960 x 0.9 + (3095-960) x 0.32 = $1,547. They can get $1,547 from age 67. If they live until 87, that's 20 years. And 20 * 12 * 1547 = $371,280.
All other federal benefits, plus the other programs funded by FICA taxes (ie OADSI / SSI + Medicare taxes) including SSI, the other parts of OADSI, and of course Medicare, are not available to non-resident non-citizens (with a few exceptions).
[a] https://www.ssa.gov/pubs/EN-05-10137.pdf
[b] https://www.ssa.gov/OACT/COLA/piaformula.html