Skip to content

feat: add CIP-113 programmable token support #67

@matiwinnetou

Description

@matiwinnetou

Summary

Add support for CIP-113 Programmable Tokens to the token metadata registry. CIP-113 defines programmable native assets on Cardano with customizable validation logic for transfers, mints, and burns — enabling use cases like regulated stablecoins, tokenized securities, and real-world assets (RWAs).

Motivation

The registry currently serves metadata from CIP-26 (off-chain GitHub registry) and CIP-68 (on-chain reference NFTs). CIP-113 introduces a new class of tokens — programmable tokens — that carry additional on-chain configuration (transfer validation scripts, compliance scripts, etc.) in a sorted linked-list registry.

Consumers of the V2 API need to know:

  • Whether a token is a CIP-113 programmable token
  • What transfer validation logic governs it
  • What compliance/admin scripts are associated with it

This information is orthogonal to display metadata (name, ticker, logo) which continues to come from CIP-26/CIP-68.

Scope

  • Index CIP-113 registry node data from on-chain UTxOs (via Yaci Store event processing)
  • Expose CIP-113 programmable token information in V2 API responses
  • Add a programmable_token_cip113 field to the Subject response — present when the token's policy ID is registered in the CIP-113 on-chain directory, absent otherwise
  • Backward compatible — disabled by default, no impact on existing CIP-26/CIP-68 flows
  • Database migration for CIP-113 registry node storage
  • Prometheus metrics for CIP-113 token count and API hits
  • Integration tests

References

Notes

CIP-113 is under active development and has not been finalized. The implementation may need to evolve as the specification matures.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions