! We recommend using "Contributor" wizard available at https://app.chain.love/contributor.
This repository is intentionally CSV-first so contributors can edit data in spreadsheet tools without programming knowledge.
Before editing data, read the Style Guide:
provider -> offer -> listing
references/providers/providers.csv: provider identity metadata.references/offers: canonical offer templates.listings/specific-networks/<network>: listings for one network.listings/all-networks: listings merged into every network output.
| Goal | Edit here |
|---|---|
| Add/update provider profile metadata | references/providers/providers.csv |
| Add/update provider logo files | references/providers/images/ |
| Add/update reusable offer (product/plan) | references/offers/<category>.csv |
| Add/update an offer on one chain | listings/specific-networks/<network>/<category>.csv |
| Add/update entries for every chain | listings/all-networks/<category>.csv |
| Add a new network | listings/specific-networks/<network>/ — CSV files and chain logo PNGs (see below) |
| Add/update chain logo for a network | listings/specific-networks/<network>/<chain>.png |
- Category CSV files use separate columns:
providerandoffer. - In
references/offers/*.csv, setproviderto the provider name/slug andofferto the offer name. - In listings CSV files, reference canonical offers with
!offer:<slug>in theoffercolumn. - During JSON generation, referenced fields are hydrated from
references/offers/<category>.csv. - Values in the listing row override hydrated values where provided.
- Rows from
listings/all-networksare appended to every network output.
- In
references/offers/*.csv(for exampleactionButtons), keep Markdown link style (for example[Website](https://example.com)). - In
references/providers/providers.csv, keep plain links only (no Markdown wrappers). - Use full URLs for
websiteanddocs. - For platform columns with known domains (
x,github,discord,telegram,linkedin), store only the part after the domain.- Example:
https://github.com/Chain-Love/chain-love->Chain-Love/chain-love
- Example:
Each listings/specific-networks/<network>/ folder contains PNG logo files named after
the chain values used in that network's CSVs (for example mainnet.png, testnet.png).
When adding a new network or a CSV that introduces a new chain value, include the
corresponding <chain>.png in the same PR.
Requirements:
- PNG format, transparent background, square aspect ratio, 160–500 px per side.
- No solid-colour backgrounds (white, black, etc.).
- See
listings/specific-networks/README.mdfor the full spec and logo source suggestions.
- Fork this repository and create a descriptive branch (example:
add-ankr-offer). - Edit the correct CSV based on the table above.
- Validate locally (optional) or rely on CI checks.
- Open a PR with a clear description and links to sources for changed data.
Our CI will automatically run on every commit you make in an open PR and verify if your patches don't break anything. However, to make your contribution cleaner - you can make your computer run the same verifications locally before every commit.
Install and enable pre-commit:
- Install
python3. - Install
pipx. - Install
pre-commitwithpipx install pre-commit. - Run
pre-commit installin the repository root.
Verification commands:
python3 --version
pipx --version
pre-commit --versionPlatform-specific install links:
Use GitHub Issues.
- Bug Report: broken database structure or Chain.Love website issue.
- DB Improvement Proposal (DBIP): suggested data model changes (categories, tables, columns).
- Blank Issue: anything else.
See the Grant Program. Database contributions may be eligible for USDT/USDC rewards under certain conditions.