Skip to content

update link-cli to add address and eligible_for_balance as response from user-info - #340

Merged
haoxuanxu-stripe merged 1 commit into
mainfrom
haoxuanxu/update-user-route
Sep 21, 2026
Merged

haoxuanxu-stripe merged 1 commit into
mainfrom
haoxuanxu/update-user-route

Conversation

@haoxuanxu-stripe

@haoxuanxu-stripe haoxuanxu-stripe commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Summary

image

Updates Link CLI and both SDKs to support the /userinfo fields introduced by stripe-internal/mint#2599690:

  • Adds the optional address response field
  • Adds the optional eligible_for_balance boolean
  • Displays both fields in interactive CLI output
  • Preserves the distinction between omitted enrichment and address: null
  • Updates documentation, agent guidance, tests, and release metadata

Motivation

This lets an agent determine whether a user is eligible to use their Link balance before beginning a payment flow. The agent can avoid attempting or presenting balance as an option
when it is unavailable.

Balance eligibility is currently determined from the user’s address. In particular, users located in New York are ineligible because New York is treated as a crypto financial-activity
regulated state. Users without sufficient address information or outside the currently supported geography may also be reported as ineligible.

Exposing both eligible_for_balance and the supporting address gives agents enough context to understand the result and choose an appropriate payment method up front.

Behavior

When enrichment succeeds:

  • eligible_for_balance: true means the agent may consider Link balance for the payment.
  • eligible_for_balance: false means the agent should use another eligible payment method.
  • address contains the address used for the eligibility determination.
  • address: null with eligible_for_balance: false means no Person record was available.

When enrichment is disabled or fails, both fields are omitted. Agents should not interpret omitted eligibility as either eligible or ineligible.

Test plan

  • TypeScript SDK tests
  • TypeScript SDK build
  • CLI user-info component tests
  • CLI production JSON integration test
  • CLI build and typecheck
  • Biome formatting and lint checks
  • Go SDK tests (covered by CI; Go was unavailable locally)

Coverage includes populated and nullable addresses, eligible and ineligible users, New York addresses, missing Person records, explicit false values, and omitted enrichment fields.

@haoxuanxu-stripe
haoxuanxu-stripe merged commit 09b8b1f into main Sep 21, 2026
6 checks passed
@haoxuanxu-stripe
haoxuanxu-stripe deleted the haoxuanxu/update-user-route branch September 21, 2026 16:09
Comment thread README.md
Finite spend-limit values are cents because this response does not include a currency. A null limit or remaining amount means unlimited. The verification requirement's action_url is null when no action is available.
The address and `eligible_for_balance` fields are omitted when their enrichment
is unavailable. `address` is null and `eligible_for_balance` is false when the
user has no Person record. Finite spend-limit values are cents because this

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is a "Person record"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants