Skip to content

[Proposal] ARC-0031: Exchange Addresses - #146

Open
snarkworld wants to merge 4 commits into
masterfrom
arc-0031
Open

snarkworld wants to merge 4 commits into
masterfrom
arc-0031

Conversation

@snarkworld

@snarkworld snarkworld commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Discussion Thread: #145

🚀 Proposal

ARC-0031 defines an exchange address: a v1 address with the letter x inserted after aleo, giving a 64-character string that starts with aleox1. The marker tells a paying wallet that the recipient is an exchange and accepts public transfers only.

  • The v1 address, including its checksum, is embedded unchanged. Encoding is a one-character insertion; decoding is a one-character removal.
  • The marker is advisory and is read and stripped by the wallet before the address reaches the VM. No change to the protocol, snarkOS, snarkVM consensus, or Leo, and no fork risk.
  • Every deployed snarkVM decoder already rejects the 64-character form, so adoption fails closed: a wallet that doesn't understand the marker can't silently send a private transfer.
  • Conforming wallets MUST pay via transfer_public or transfer_private_to_public, or refuse. They MUST NOT strip the marker to proceed.

An exploratory snarkVM branch validating the encoding and test vectors is linked in the Reference Implementations section.

Voting History

  • None yet.

Notes to Reviewers

  • Topic: Application. Status: Draft.
  • Governance frontmatter is included (aleo-gov-31-v1, 66% pass / 66% quorum). The proposed voting window is blocks 23386000 to 23686000 with the snapshot at voting end, roughly a 10-day window starting Monday 2026-11-02 (projected from a ~2.78s block time, so the actual time may drift by a few hours). Heights can be adjusted when the ARC moves to Active, as was done for ARC-22.
  • The spec includes an ABNF grammar, accepted/rejected test vectors, and a Security & Compliance section covering the unenforced marker and the checksum not covering the x.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
John Reynolds and others added 3 commits October 19, 2026 09:45
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant