Skip to content

External Account API: initial SEP draft#1934

Merged
leighmcculloch merged 4 commits into
stellar:masterfrom
antb123:sep58-v0.4.0
May 25, 2026
Merged

External Account API: initial SEP draft#1934
leighmcculloch merged 4 commits into
stellar:masterfrom
antb123:sep58-v0.4.0

Conversation

@antb123

@antb123 antb123 commented May 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Submits the External Account API draft for inclusion as a SEP. The draft
defines a standard API for wallets and clients to request provisioned inbound
receiving instruments (crypto deposit addresses, virtual bank accounts, bank
account credentials) bound to an authenticated Stellar wallet, with SEP-10 /
SEP-45 authentication.

This proposal has been iterated in discussion #1902
since 2026-03-19.

The submitted filename follows the README convention: sep_externalaccount.md.
The preamble currently claims SEP: 0058 — maintainers are welcome to assign
whatever number is appropriate.

SEP-58 number conflict — for maintainer attention

The preamble requests SEP-58. I am aware that #1933 assigned SEP-0058 to
@leighmcculloch's Contract Build Reproducibility draft. The two drafts
overlap in number only — they cover different problem spaces.

Timeline:

I am coordinating with @leighmcculloch out of band. I'm happy to take any
SEP number maintainers think fits
— this submission flags the timing for
the record; please assign whatever works. The substantive ask is for the
draft itself to be accepted into the repo.

v0.4.0 highlights

  • Adds currency to crypto_address offerings, requests, and account
    responses to disambiguate multi-currency-per-chain offerings (motivated by
    real anchor deployments — e.g. Bridge offering both USDC and USDT on
    eip155:1).
  • Updates the crypto_address idempotency key to
    (authenticated_subject, kind, chain_id, currency).
  • Adds a Future Work section flagging deferred SEP-45 / CAP-67 refinements
    and a possible message field on the KYC 403 body.

Test plan

Submits the External Account API draft that has been iterated in
discussion stellar#1902 since 2026-03-19. Filename uses the README's
sep_{shorttitle}.md draft convention; the preamble claims SEP: 0058
based on discussion-thread precedence, but the author will accept
whatever number maintainers assign.

Note: SEP-0058 was concurrently assigned in PR stellar#1933 to Leigh
McCulloch's "Contract Build Reproducibility" draft. This submission
predates that one by ~6 weeks of community discussion (stellar#1902 since
March; stellar#1923 since May). Coordination with @leighmcculloch is
underway out of band. Either author is happy to take a different
number — flagging the situation for maintainers.

Spec highlights (v0.4.0):
- Standard API for provisioning inbound receiving instruments
  (crypto deposit addresses, virtual bank accounts, bank credentials)
  bound to an authenticated Stellar wallet.
- Authentication via SEP-10 (G.../M...) and SEP-45 (C...).
- v0.4.0 adds currency to crypto_address offerings/requests/responses
  and to the idempotency key, motivated by real anchor deployments
  (e.g. Bridge) offering multiple currencies on the same chain_id.

Discussion: https://github.com/orgs/stellar/discussions/1902
Copilot AI review requested due to automatic review settings May 15, 2026 22:03

Copilot AI left a comment

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.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new draft SEP-58 specification defining an “External Account API” for provisioning reusable inbound receiving instruments (crypto deposit addresses, virtual bank accounts, bank credentials) bound to an authenticated Stellar account.

Changes:

  • Introduces SEP-58 with discovery, authentication (SEP-10/SEP-45), and core resource/object model.
  • Specifies endpoints (/info, /accounts, /accounts/:id), lifecycle/status semantics, and idempotency rules.
  • Defines webhook/callback guidance reusing SEP-6 signing conventions and KYC remediation via SEP-12.

Comment thread ecosystem/sep_externalaccount.md Outdated
Comment thread ecosystem/sep-0059.md
Comment thread ecosystem/sep_externalaccount.md Outdated
@leighmcculloch leighmcculloch changed the title External Account API: initial SEP draft (requesting SEP-58) External Account API: initial SEP draft May 25, 2026
@leighmcculloch

Copy link
Copy Markdown
Member

SEP numbers are assigned by the person merging the changes into the repository. I've assigned SEP-59 to the proposal, and updated the self-references within to match, and formatted the file.

Recommend avoiding self-references and within a proposal instead saying "This proposal" as is very common in other SEPs.

GitHub Copilot ran on this PR and made some suggestions that may or may not be of interest in a follow up but that's up to you.

Thanks!

@leighmcculloch leighmcculloch merged commit a2744c2 into stellar:master May 25, 2026
5 checks passed
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.

3 participants