NBC Bay Area showed 85,805 No votes (50.18%) to 85,175 Yes (49.82%), a gap of 630. KQED had the same totals as of 11:53 p.m. Tuesday.

Prop B would set up the governance structure for a nonprofit municipal finance corporation and public bank to finance affordable housing, climate infrastructure and local economic development projects. KQED notes it would make San Francisco the first U.S. city to have a municipal bank.

San Francisco's Department of Elections reports results in stages, and thousands of mail ballots that arrive after Election Day are still eligible if postmarked on time. A gap this small can easily reverse.

Across the bay, Berkeley voters were rejecting their own public bank proposal, Measure Z, 58% to 42%, according to ABC7.

All results are unofficial election-night and early-morning counts as of Wednesday, Nov. 4. Counties keep counting mail and provisional ballots for days, and certification comes later, so margins can shift, especially in close contests.