# Algorand ARCs

Welcome to the Algorand ARCs (Algorand Request for Comments) page. Here you’ll find information on Algorand Improvement Proposals.
New ideas for ARCs are discussed through [Pull Requests](https://github.com/algorandfoundation/ARCs/pulls) — you can find and contribute to them in the [ARC repository](https://github.com/algorandfoundation/ARCs).

## Living Arcs

| Number | Title | Description |
| --- | --- | --- |
| [0](https://dev.algorand.co/arc-standards/arc-0000/) | [ARC Purpose and Guidelines](https://dev.algorand.co/arc-standards/arc-0000/) | [Guide explaining how to write a new ARC](https://dev.algorand.co/arc-standards/arc-0000/) |
| [72](https://dev.algorand.co/arc-standards/arc-0072/) | [Algorand Smart Contract NFT Specification](https://dev.algorand.co/arc-standards/arc-0072/) | [Base specification for non-fungible tokens implemented as smart contracts.](https://dev.algorand.co/arc-standards/arc-0072/) |
| [83](https://dev.algorand.co/arc-standards/arc-0083/) | [xGov Council - Application Process](https://dev.algorand.co/arc-standards/arc-0083/) | [How to run for an xGov Council seat.](https://dev.algorand.co/arc-standards/arc-0083/) |
| [200](https://dev.algorand.co/arc-standards/arc-0200/) | [Algorand Smart Contract Token Specification](https://dev.algorand.co/arc-standards/arc-0200/) | [Base specification for tokens implemented as smart contracts](https://dev.algorand.co/arc-standards/arc-0200/) |

## Final Arcs

| Number | Title | Description |
| --- | --- | --- |
| [1](https://dev.algorand.co/arc-standards/arc-0001/) | [Algorand Wallet Transaction Signing API](https://dev.algorand.co/arc-standards/arc-0001/) | [An API for a function used to sign a list of transactions.](https://dev.algorand.co/arc-standards/arc-0001/) |
| [2](https://dev.algorand.co/arc-standards/arc-0002/) | [Algorand Transaction Note Field Conventions](https://dev.algorand.co/arc-standards/arc-0002/) | [Conventions for encoding data in the note field at application-level](https://dev.algorand.co/arc-standards/arc-0002/) |
| [3](https://dev.algorand.co/arc-standards/arc-0003/) | [Conventions Fungible/Non-Fungible Tokens](https://dev.algorand.co/arc-standards/arc-0003/) | [Parameters Conventions for Algorand Standard Assets (ASAs) for fungible tokens and non-fungible tokens (NFTs).](https://dev.algorand.co/arc-standards/arc-0003/) |
| [4](https://dev.algorand.co/arc-standards/arc-0004/) | [Application Binary Interface (ABI)](https://dev.algorand.co/arc-standards/arc-0004/) | [Conventions for encoding method calls in Algorand Application](https://dev.algorand.co/arc-standards/arc-0004/) |
| [5](https://dev.algorand.co/arc-standards/arc-0005/) | [Wallet Transaction Signing API (Functional)](https://dev.algorand.co/arc-standards/arc-0005/) | [An API for a function used to sign a list of transactions.](https://dev.algorand.co/arc-standards/arc-0005/) |
| [16](https://dev.algorand.co/arc-standards/arc-0016/) | [Convention for declaring traits of an NFT's](https://dev.algorand.co/arc-standards/arc-0016/) | [This is a convention for declaring traits in an NFT's metadata.](https://dev.algorand.co/arc-standards/arc-0016/) |
| [18](https://dev.algorand.co/arc-standards/arc-0018/) | [Royalty Enforcement Specification](https://dev.algorand.co/arc-standards/arc-0018/) | [An ARC to specify the methods and mechanisms to enforce Royalty payments as part of ASA transfers](https://dev.algorand.co/arc-standards/arc-0018/) |
| [19](https://dev.algorand.co/arc-standards/arc-0019/) | [Templating of NFT ASA URLs for mutability](https://dev.algorand.co/arc-standards/arc-0019/) | [Templating mechanism of the URL so that changeable data in an asset can be substituted by a client, providing a mutable URL.](https://dev.algorand.co/arc-standards/arc-0019/) |
| [20](https://dev.algorand.co/arc-standards/arc-0020/) | [Smart ASA](https://dev.algorand.co/arc-standards/arc-0020/) | [An ARC for an ASA controlled by an Algorand Smart Contract](https://dev.algorand.co/arc-standards/arc-0020/) |
| [21](https://dev.algorand.co/arc-standards/arc-0021/) | [Round based datafeed oracles on Algorand](https://dev.algorand.co/arc-standards/arc-0021/) | [Conventions for building round based datafeed oracles on Algorand](https://dev.algorand.co/arc-standards/arc-0021/) |
| [22](https://dev.algorand.co/arc-standards/arc-0022/) | [Add `read-only` annotation to ABI methods](https://dev.algorand.co/arc-standards/arc-0022/) | [Convention for creating methods which don't mutate state](https://dev.algorand.co/arc-standards/arc-0022/) |
| [23](https://dev.algorand.co/arc-standards/arc-0023/) | [Sharing Application Information](https://dev.algorand.co/arc-standards/arc-0023/) | [Append application information to compiled TEAL applications](https://dev.algorand.co/arc-standards/arc-0023/) |
| [25](https://dev.algorand.co/arc-standards/arc-0025/) | [Algorand WalletConnect v1 API](https://dev.algorand.co/arc-standards/arc-0025/) | [API for communication between Dapps and wallets using WalletConnect](https://dev.algorand.co/arc-standards/arc-0025/) |
| [27](https://dev.algorand.co/arc-standards/arc-0027/) | [Provider Message Schema](https://dev.algorand.co/arc-standards/arc-0027/) | [A comprehensive message schema for communication between clients and providers.](https://dev.algorand.co/arc-standards/arc-0027/) |
| [28](https://dev.algorand.co/arc-standards/arc-0028/) | [Algorand Event Log Spec](https://dev.algorand.co/arc-standards/arc-0028/) | [A methodology for structured logging by Algorand dapps.](https://dev.algorand.co/arc-standards/arc-0028/) |
| [32](https://dev.algorand.co/arc-standards/arc-0032/) | [Application Specification](https://dev.algorand.co/arc-standards/arc-0032/) | [A specification for fully describing an Application, useful for Application clients.](https://dev.algorand.co/arc-standards/arc-0032/) |
| [35](https://dev.algorand.co/arc-standards/arc-0035/) | [Algorand Offline Wallet Backup Protocol](https://dev.algorand.co/arc-standards/arc-0035/) | [Wallet-agnostic backup protocol for multiple accounts](https://dev.algorand.co/arc-standards/arc-0035/) |
| [36](https://dev.algorand.co/arc-standards/arc-0036/) | [Convention for declaring filters of an NFT](https://dev.algorand.co/arc-standards/arc-0036/) | [This is a convention for declaring filters in an NFT metadata](https://dev.algorand.co/arc-standards/arc-0036/) |
| [47](https://dev.algorand.co/arc-standards/arc-0047/) | [Logic Signature Templates](https://dev.algorand.co/arc-standards/arc-0047/) | [Defining templated logic signatures so wallets can safely sign them.](https://dev.algorand.co/arc-standards/arc-0047/) |
| [54](https://dev.algorand.co/arc-standards/arc-0054/) | [ASA Burning App](https://dev.algorand.co/arc-standards/arc-0054/) | [Standardized Application for Burning ASAs](https://dev.algorand.co/arc-standards/arc-0054/) |
| [55](https://dev.algorand.co/arc-standards/arc-0055/) | [On-Chain storage/transfer for Multisig](https://dev.algorand.co/arc-standards/arc-0055/) | [A smart contract that stores transactions and signatures for simplified multisignature use on Algorand.](https://dev.algorand.co/arc-standards/arc-0055/) |
| [56](https://dev.algorand.co/arc-standards/arc-0056/) | [Extended App Description](https://dev.algorand.co/arc-standards/arc-0056/) | [Adds information to the ABI JSON description](https://dev.algorand.co/arc-standards/arc-0056/) |
| [59](https://dev.algorand.co/arc-standards/arc-0059/) | [ASA Inbox Router](https://dev.algorand.co/arc-standards/arc-0059/) | [An application that can route ASAs to users or hold them to later be claimed](https://dev.algorand.co/arc-standards/arc-0059/) |
| [62](https://dev.algorand.co/arc-standards/arc-0062/) | [ASA Circulating Supply](https://dev.algorand.co/arc-standards/arc-0062/) | [Getter method for ASA circulating supply](https://dev.algorand.co/arc-standards/arc-0062/) |
| [65](https://dev.algorand.co/arc-standards/arc-0065/) | [AVM Run Time Errors In Program](https://dev.algorand.co/arc-standards/arc-0065/) | [Informative AVM run time errors based on program bytecode](https://dev.algorand.co/arc-standards/arc-0065/) |
| [69](https://dev.algorand.co/arc-standards/arc-0069/) | [ASA Parameters Conventions, Digital Media](https://dev.algorand.co/arc-standards/arc-0069/) | [Alternatives conventions for ASAs containing digital media.](https://dev.algorand.co/arc-standards/arc-0069/) |
| [71](https://dev.algorand.co/arc-standards/arc-0071/) | [Non-Transferable ASA](https://dev.algorand.co/arc-standards/arc-0071/) | [Parameters Conventions Non-Transferable Algorand Standard Asset](https://dev.algorand.co/arc-standards/arc-0071/) |
| [73](https://dev.algorand.co/arc-standards/arc-0073/) | [Algorand Interface Detection Spec](https://dev.algorand.co/arc-standards/arc-0073/) | [A specification for smart contracts and indexers to detect interfaces of smart contracts.](https://dev.algorand.co/arc-standards/arc-0073/) |
| [74](https://dev.algorand.co/arc-standards/arc-0074/) | [NFT Indexer API](https://dev.algorand.co/arc-standards/arc-0074/) | [REST API for reading data about Application's NFTs.](https://dev.algorand.co/arc-standards/arc-0074/) |
| [86](https://dev.algorand.co/arc-standards/arc-0086/) | [xGov status and voting power](https://dev.algorand.co/arc-standards/arc-0086/) | [xGov status and voting power for the Algorand Governance](https://dev.algorand.co/arc-standards/arc-0086/) |
| [90](https://dev.algorand.co/arc-standards/arc-0090/) | [URI scheme](https://dev.algorand.co/arc-standards/arc-0090/) | [Consolidated specification for encoding Algorand transactions and queries as URIs.](https://dev.algorand.co/arc-standards/arc-0090/) |

## Last Call Arcs

| Number | Title | Description |
| --- | --- | --- |
| [53](https://dev.algorand.co/arc-standards/arc-0053/) | [Metadata Declarations](https://dev.algorand.co/arc-standards/arc-0053/) | [A specification for a decentralized, Self-declared, & Verifiable Tokens, Collections, & Metadata](https://dev.algorand.co/arc-standards/arc-0053/) |
| [89](https://dev.algorand.co/arc-standards/arc-0089/) | [ASA Metadata Registry](https://dev.algorand.co/arc-standards/arc-0089/) | [Singleton Application providing ASA metadata via Algod API or the AVM](https://dev.algorand.co/arc-standards/arc-0089/) |

## Withdrawn Arcs

| Number | Title | Description |
| --- | --- | --- |
| [12](https://dev.algorand.co/arc-standards/arc-0012/) | [Claimable ASA from vault application](https://dev.algorand.co/arc-standards/arc-0012/) | [A smart signature contract account that can receive & disburse claimable Algorand Smart Assets (ASA) to an intended recipient account.](https://dev.algorand.co/arc-standards/arc-0012/) |

## Deprecated Arcs

| Number | Title | Description |
| --- | --- | --- |
| [6](https://dev.algorand.co/arc-standards/arc-0006/) | [Algorand Wallet Address Discovery API](https://dev.algorand.co/arc-standards/arc-0006/) | [API function, enable, which allows the discovery of accounts](https://dev.algorand.co/arc-standards/arc-0006/) |
| [7](https://dev.algorand.co/arc-standards/arc-0007/) | [Algorand Wallet Post Transactions API](https://dev.algorand.co/arc-standards/arc-0007/) | [API function to Post Signed Transactions to the network.](https://dev.algorand.co/arc-standards/arc-0007/) |
| [8](https://dev.algorand.co/arc-standards/arc-0008/) | [Algorand Wallet Sign and Post API](https://dev.algorand.co/arc-standards/arc-0008/) | [A function used to simultaneously sign and post transactions to the network.](https://dev.algorand.co/arc-standards/arc-0008/) |
| [9](https://dev.algorand.co/arc-standards/arc-0009/) | [Algorand Wallet Algodv2 and Indexer API](https://dev.algorand.co/arc-standards/arc-0009/) | [An API for accessing Algod and Indexer through a user's preferred connection.](https://dev.algorand.co/arc-standards/arc-0009/) |
| [10](https://dev.algorand.co/arc-standards/arc-0010/) | [Algorand Wallet Reach Minimum Requirements](https://dev.algorand.co/arc-standards/arc-0010/) | [Minimum requirements for Reach to function with a given wallet.](https://dev.algorand.co/arc-standards/arc-0010/) |
| [11](https://dev.algorand.co/arc-standards/arc-0011/) | [Algorand Wallet Reach Browser Spec](https://dev.algorand.co/arc-standards/arc-0011/) | [Convention for DApps to discover Algorand wallets in browser](https://dev.algorand.co/arc-standards/arc-0011/) |
| [15](https://dev.algorand.co/arc-standards/arc-0015/) | [Encrypted Short Messages](https://dev.algorand.co/arc-standards/arc-0015/) | [Scheme for encryption/decryption that allows for private messages.](https://dev.algorand.co/arc-standards/arc-0015/) |
| [26](https://dev.algorand.co/arc-standards/arc-0026/) | [URI scheme](https://dev.algorand.co/arc-standards/arc-0026/) | [A specification for encoding Transactions in a URI format.](https://dev.algorand.co/arc-standards/arc-0026/) |
| [33](https://dev.algorand.co/arc-standards/arc-0033/) | [xGov Pilot - Becoming an xGov](https://dev.algorand.co/arc-standards/arc-0033/) | [Explanation on how to become Expert Governors.](https://dev.algorand.co/arc-standards/arc-0033/) |
| [34](https://dev.algorand.co/arc-standards/arc-0034/) | [xGov Pilot - Proposal Process](https://dev.algorand.co/arc-standards/arc-0034/) | [Criteria for the creation of proposals.](https://dev.algorand.co/arc-standards/arc-0034/) |
| [42](https://dev.algorand.co/arc-standards/arc-0042/) | [xGov Pilot - Integration](https://dev.algorand.co/arc-standards/arc-0042/) | [Integration of xGov Process](https://dev.algorand.co/arc-standards/arc-0042/) |
| [48](https://dev.algorand.co/arc-standards/arc-0048/) | [Targeted DeFi Rewards](https://dev.algorand.co/arc-standards/arc-0048/) | [Targeted DeFi Rewards, Terms and Conditions](https://dev.algorand.co/arc-standards/arc-0048/) |
| [49](https://dev.algorand.co/arc-standards/arc-0049/) | [NFT Rewards](https://dev.algorand.co/arc-standards/arc-0049/) | [NFT Rewards, Terms and Conditions](https://dev.algorand.co/arc-standards/arc-0049/) |
| [78](https://dev.algorand.co/arc-standards/arc-0078/) | [URI scheme, keyreg Transactions extension](https://dev.algorand.co/arc-standards/arc-0078/) | [A specification for encoding Key Registration Transactions in a URI format.](https://dev.algorand.co/arc-standards/arc-0078/) |
| [79](https://dev.algorand.co/arc-standards/arc-0079/) | [URI scheme, App NoOp call extension](https://dev.algorand.co/arc-standards/arc-0079/) | [A specification for encoding NoOp Application call Transactions in a URI format.](https://dev.algorand.co/arc-standards/arc-0079/) |
| [82](https://dev.algorand.co/arc-standards/arc-0082/) | [URI scheme blockchain information](https://dev.algorand.co/arc-standards/arc-0082/) | [Querying blockchain information using a URI format](https://dev.algorand.co/arc-standards/arc-0082/) |

## Draft Arcs

| Number | Title | Description |
| --- | --- | --- |
| [60](https://dev.algorand.co/arc-standards/arc-0060/) | [Algorand Wallet Arbitrary Signing API](https://dev.algorand.co/arc-standards/arc-0060/) | [API function for signing data](https://dev.algorand.co/arc-standards/arc-0060/) |
| [87](https://dev.algorand.co/arc-standards/arc-0087/) | [Key Name Specification](https://dev.algorand.co/arc-standards/arc-0087/) | [A system for addressable values](https://dev.algorand.co/arc-standards/arc-0087/) |

## ARC Status Terms

- **Idea** - An idea that is pre-draft. This is not tracked within the ARC Repository.
- **Draft** - The first formally tracked stage of an ARC in development. An ARC is merged by an ARC Editor into the ARC repository when properly formatted.
- **Review** - An ARC Author marks an ARC as ready for and requesting Peer Review.
- **Last Call** - This is the final review window for an ARC before moving to FINAL. An ARC editor will assign Last Call status and set a review end date (`last-call-deadline`), typically 14 days later. If this period results in necessary normative changes it will revert the ARC to Review.
- **Final** - This ARC represents the final standard. A Final ARC exists in a state of finality and should only be updated to correct errata and add non-normative clarifications.
- **Stagnant** - Any ARC in Draft or Review if inactive for a period of 6 months or greater is moved to Stagnant. An ARC may be resurrected from this state by Authors or ARC Editors through moving it back to Draft.
- **Withdrawn** - The ARC Author(s) have withdrawn the proposed ARC. This state has finality and can no longer be resurrected using this ARC number. If the idea is pursued at a later date it is considered a new proposal.
- **Deprecated** - This ARC has been deprecated. It has been replaced by another one or is now obsolete.
- **Living** - A special status for ARCs that are designed to be continually updated and not reach a state of finality.
