Skip to content

Update the Horizon-to-RPC migration guide for shipped CAP-67 asset events #2699

Description

@kalepail

Finding

The Horizon-to-RPC migration guide still describes CAP-67 unified asset events
as future work, even though CAP-0067 is Final for Protocol 23 and the live
networks report Protocol 27.

The page's warning block reads: "The method returns a stream of events that in
the current protocol only include events from contracts. In the near future as
a result of CAP-67 this method will be expanded to include events from
non-contract operations."
Several rows in the endpoint-equivalence table carry
matching hedges — "CAP-67 events when available" and "when expanded to
cover all effects with CAP-67".

Because this page is widely used as the authoritative endpoint-mapping source,
a reader migrating today is told to plan around a capability they already have,
and is steered toward the getTransactions meta-XDR workaround that the page
itself frames as an interim measure.

Evidence

Live re-check on 2026-07-27:

  • https://developers.stellar.org/docs/data/apis/migrate-from-horizon-to-rpc
    still renders the "in the near future as a result of CAP-67" warning, and the
    Payments, Effects, and Offers rows still carry when available and
    when expanded qualifiers.
  • Live Mainnet getNetwork returned
    {"passphrase":"Public Global Stellar Network ; September 2015","protocolVersion":27}.
  • CAP-0067 is Final and shipped in Protocol 23.

This is distinct from sd-018, which owns the SAC and CAP-67 event schema
documentation gap. This finding covers only the migration guide's tense and its
interim-workaround framing.

Additional recorded evidence:

  • Horizon-to-RPC migration guidance describes unified classic-asset events as near-future
  • CAP-0067 is Final for Protocol 23
  • Mainnet and Testnet report Protocol 27
  • live recheck 2026-07-27 of the Horizon-to-RPC migration page still renders "In the near future as a result of CAP-67 this method will be expanded to include events from non-contract operations", plus equivalence-table qualifiers "CAP-67 events when available" and "when expanded to cover all effects with CAP-67"
  • live Mainnet getNetwork 2026-07-27 returned protocolVersion 27, so the capability the page defers has been live since Protocol 23
  • ref health 2026-07-27 - the only prior durable reference was a comment on Add/update stellar events public docs #1585, but that issue closed completed 2026-07-13T22:11Z and the follow-up was posted 2026-07-14T16:14Z; a comment on an already-closed issue never created a live tracker, so this finding is treated as unfiled

Recommendation

Replace the future-tense framing with present-tense guidance: getEvents
returns unified asset events today. Drop the when available and
when expanded qualifiers from the equivalence table. Either remove the
getTransactions meta-XDR interim advice or relabel it explicitly as the
pre-Protocol-23 historical path.

If any effect classes genuinely remain uncovered by unified events, name those
classes explicitly rather than gating the whole method on CAP-67.

Source Record

This was found by the downstream Raven eval/improvements loop and recorded as sd-025 (stellar-docs, discovered 2026-07-11).

Public source record: improvements/stellar-docs/sd-025-horizon-rpc-migration-cap67-drift.md

Immutable source snapshot: 773857262d46

Resolution Handoff

When a fix is deployed, please link the resolving issue or PR to the source record above and notify Raven through:

https://github.com/kalepail/stellar-raven/issues/new?template=upstream-improvement-ready.yml&title=%5Bupstream-ready%5D%20sd-025%3A%20

Include the finding id, resolving issue/PR, deployed version or timestamp, and the smallest live recheck. Raven independently verifies the upstream surface before changing the finding to fixed-upstream; issue closure or a merged PR alone is not treated as proof. After a distinct reviewer repeats the live check, the active finding is retired to Raven's resolved ledger; a commit-pinned snapshot is preserved when available.

Metadata

Metadata

Assignees

Labels

dev-relravenissues discovered by Stellar Raven QA passes

Type

No type

Projects

Status
In Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions