npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

starknet-meta

v1.5.0

Published

Starknet dApps metadata repository.

Downloads

188

Readme

starknet-meta

Starknet dApps metadata repository.

Goals

🔍 API-first metadata repository: Prioritize seamless integration of Starknet dApp metadata, assets, and textual data for developers.

🌟 Reliable dApp assets and metadata resource: Provide a reliable source for both dApp textual metadata and common visual assets, catering to developers' needs.

🌉 Contract addresses repository: Offer a dependable resource for dApp contract addresses across Starknet networks.

🛠️ Use Cases

📝 Contract address validation for protocols: Enable protocols to verify which contracts are associated with a dApp.

🌎 API-first dApp discovery: Enable dApp aggregators to efficiently find, list, and showcase new dApps in the Starknet ecosystem using an API-first approach.

How to submit a new project

To add a new dApp to starknet-meta, follow these steps:

  1. Fork the starknet-meta repository.
  2. Create a new folder under the /repository directory, using the desired id for the new project as the folder name.
  3. Add a metadata.json file to the new folder, following the JSON schema rules described below (you can easily validate your changes by executing validator.js).
  4. Add an icon image file to the new folder. The icon must be square and up to 1 MB in size. Supported formats are PNG, JPEG, SVG, and WebP.
  5. Add a cover image file to the new folder. The cover image must be up to 1500x500px in size and have a 0.33 aspect ratio. Supported formats are PNG, JPEG, SVG, and WebP.
  6. Create a pull request to the starknet-meta repository with your changes.

JSON schema rules

| Property | Description | Example | |-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | id | A unique string identifier for the project | "my_project" | | displayName | A string containing the project's display name (up to 50 characters, ASCII only). | "My Project" | | description | A string containing the project's description (up to 300 characters, ASCII only). | "This is a description of my project." | | host | A string containing a valid URL host name (one URL for all supported networks),or an object with network-name keys and an optional others key to non-specified network support. | "example.com" // will be used by all networks- or -{"mainnet-alpha": "example.com", "goerli-alpha": "testnet.example.com"}- or - "others" covers for all non mainnet-alpha networks:{"others": "test.example.com", "mainnet-alpha": "app.example.com"} | | contracts | An array of contract objects with tag, addresses, and optional implements properties. Please make sure to include all known addresses, including historical/deprecated ones, since protocols may require this information to verify historical interactions with old/deprecated contracts. To differentiate between current and historical addresses, you can either use different objects with distinct tags (e.g., "router_old", "router_current") or list them all under a single object (e.g., "router") within an array of addresses sorted from old to new. i.e.: [{ "tag": "router", "addresses": ["0x123..." (old), "0x456..." (deprecated), "0x789" (current)] }] | [{ "tag": "myswap_liquidity_tokens", "implements": ["erc20"], "addresses": { "mainnet-alpha": ["0x123..."] } }] | | categories | An array of strings, each representing a category to which the project belongs. The categories should be the values from the enumeration defined in the JSON schema. | ["nft", "defi"] |

Please ensure that your submission adheres to the schema rules and asset requirements. Use the validator.js script to validate your changes before submitting a PR.

Updating an existing project

To update an existing dApp project, follow the same steps as submitting a new dApp, but modify the existing project folder in the /repository directory:

  1. Fork the starknet-meta repository.
  2. Locate the project folder under the /repository directory, using the id of the project you want to update.
  3. Update the metadata.json file in the project folder if necessary, following the JSON schema rules described below (you can easily validate your changes by executing validator.js).
  4. Update the icon image file in the project folder if necessary. The icon must be square and up to 1 MB in size. Supported formats are PNG, JPEG, SVG, and WebP.
  5. Update the cover image file in the project folder if necessary. The cover image must be up to 1500x500px in size and have a 0.33 aspect ratio. Supported formats are PNG, JPEG, SVG, and WebP.
  6. Create a pull request to the starknet-meta repository with your changes.

Authors

License

MIT