Verification Methodology

How We Verify Membership Eligibility

Ranking a credit union a user can't join erodes trust in every other recommendation. So every membership-eligibility fact we store traces back to a verbatim quote on the credit union's own page, is checked to belong to the right institution, and is annotated with uncertainty rather than guessed. Here is exactly how.

Last updated: July 11, 2026
Every fact
Traces to a quote
Identity
Guard + NCUA cross-check
Dual-vendor
Open-gate confirmation
Annotate
Never guess

RateAPI verifies every membership-eligibility fact against the credit union's own published page. Each claim must be backed by a verbatim quote, machine-checked to appear in the captured page text; an identity guard with an NCUA charter cross-check confirms the page belongs to the right institution; counties are matched against the closed-world US Census list; and the highest-stakes "open to anyone" claim requires agreement from a second model at a different vendor. Where evidence is insufficient we annotate uncertainty rather than guess, and we never assert ineligibility below high confidence.

Source: RateAPI Eligibility Methodology
1

How Eligibility Is Verified

Membership eligibility describes who is allowed to join a credit union: you may need to live in certain counties, work for certain employers, or join an association first. We publish this as an annotation on the credit union's published criteria - never as personal financial advice. Five layers of verification stand between a page on the internet and a fact we're willing to attach to a ranked offer.

Verbatim-quote verification

Every stored fact - each employer, county, association, fee, and join path - must be accompanied by a short verbatim quote from the credit union's own membership page. A verifier then machine-checks that the quote actually appears in the captured page text, normalized for whitespace and case. Claims whose evidence does not appear are dropped before they are ever stored, and each dropped claim lowers the record's verified confidence. A fabricated claim - the nightmare case of a join path that doesn't exist - becomes structurally detectable rather than merely unlikely.

The identity guard and NCUA charter cross-check

Before any row is written, an identity guard confirms we are actually reading the right institution's page. A record is stored only if the evidence page's final host matches the credit union's homepage host - www-stripped, on the same registrable domain - or the credit union's normalized name appears in the page text. This is cross-checked against NCUA charter data so that a stale or wrong URL can't cause us to import a different institution's field of membership. Pages that fail are reported as an identity_mismatch to the residue taxonomy, not imported.

Closed-world county matching

Community charters are matched geographically, but only against a closed world: every extracted county must exist in the bundled US Census county list for its claimed state, states must be real, and fees are bounds- checked. Values that fall outside these closed lists are dropped per-claim rather than poisoning the whole record. This is why a hallucinated or misspelled county can never silently become a membership rule.

The dual-vendor open gate

The single highest-stakes field is open_to_anyone - telling a user "anyone can join" must never be wrong. It carries the strictest gate: a verified join-path quote from the page and independent confirmation by a second model from a different vendor reading the same page text. A deterministic backstop additionally denies the claim when the join path names a geographic precondition, because both vendors can share the same "anyone" blind spot. If the two disagree, the claim doesn't publish and confidence is capped.

The unknown-reason taxonomy: annotate uncertainty, never guess

When a membership page can't be found or confidently parsed, the status is unknown - never an inferred verdict. Each unknown is annotated with a reason in a dedicated taxonomy (for example membership_page_missing or eligibility_ambiguous) and routed for follow-up. We treat "we don't know yet" as a first-class, honestly labeled answer rather than a gap to paper over with a guess.

2

Our Accuracy Record

These are real, verified numbers as of July 11, 2026. We state them honestly, including what is still early.

≥99%
Identity promotion bar
≥98%
County promotion bar
1,525
Consecutive verified county claims
Consecutive 100% audit samples

What the promotion gate measures

Eligibility data is only promoted out of beta when it clears explicit accuracy bars on audited samples: identity at least 99% and county matching at least 98%. We ran the gate on repeated audit samples and cleared 100% on three consecutive samples. Across audit attempts 2 and 3 the pipeline produced 1,525 consecutive verified county claims with no miss.

Gate attempt 3 result

Identity: 100 / 100. County: 673 / 673 claims. Status: PASSED. On the strength of this pass, the eligible_only preference is being promoted out of beta. This is a fresh promotion following the audit - not a long-standing generally- available guarantee - and we'll keep publishing the record as the sample base grows.

The bars are deliberately high because the cost of the two error types is asymmetric. Wrongly hiding a credit union a user could actually join is worse than showing one they can't, so we gate hard on the claims that could remove an option from someone.

3

Annotate, Don't Exclude

Our core serving principle is simple: never assert ineligibility below high confidence. Eligibility annotates and tie-breaks rankings - it does not silently exclude a credit union from results.

  • Unknown behaves like today. When we can't verify criteria, the offer still appears; it's simply labeled unknown. Nothing is hidden on the basis of missing data.
  • Filtering is opt-in and gated. The eligible_only preference only ever drops high-confidence geo-mismatch offers, and only when the caller asks for it - because a false exclusion is the worst error we can make.
  • Eligible-first is a tie-break, not a gate. Eligible and open offers rank ahead of geo-mismatch offers at equal cost, but a lower-cost offer a user can join still wins.

For the response fields, endpoints, and the batch check that expose these verdicts, see the Membership Eligibility API documentation.

4

Guidance, Not Financial Advice

Everything on this page is about published rates plus a membership annotation - it is not personal financial advice. Eligibility data is presented as guidance derived from public charter data and each credit union's own published membership criteria.

Every record links the credit union's own membership page as its evidence source so you can verify the criteria at the point of truth, and the final membership determination is always made by the institution. We tell you what a credit union publishes and how confident we are that we read it correctly; whether an individual qualifies - and whether a given product fits their situation - is a decision for the member and the institution.

For how we collect and verify the underlying rate data, see the RateAPI Data Methodology.

See the Eligibility Verdicts in the API

Every ranked offer can carry an evidence-backed eligibility verdict, with the full field-of-membership record and a batch check behind dedicated endpoints. Free tier available. Zero affiliate bias.