Skip to main content
Follow these best practices to maintain consistency in your visualizations and contribute effectively to the Color Palettes project.

Using Color Palettes

Automatic Color Matching

Color Palettes automatically applies brand colors to your Dune visualizations when protocol names are detected in your query results.
Colors are matched using protocol aliases (case-insensitive). The system automatically detects and applies the correct colors based on your data.

How Matching Works

Considering this schema example:
These will match:
  • Eth
  • eth
  • WeTh
  • evm_<color:eth> (special case allowing string prefixes)
These will NOT match:
  • ethereum (not in aliases)
  • evm<clor:eth> (typo in special syntax)
  • color:eth (missing prefix delimiter)

Customization Control

You have full control over visualization colors:
You can override any automatically applied color with your preferred choice directly in the Dune visualization editor.
  1. Select the element in your visualization
  2. Choose a custom color from the color picker
  3. Your custom color will persist for that visualization
Easily revert back to the standard Color Palettes at any time:
  1. Open your visualization settings
  2. Click the Restore colors button
  3. All colors will be reset to the Color Palettes defaults

Visualization Best Practices

Maintain Consistency

Use the same colors for protocols across all your dashboards to help users quickly recognize patterns.

Consider Accessibility

Ensure sufficient color contrast for readability. Test your visualizations for color-blind accessibility.

Use Official Colors

Always use the official brand colors when available to maintain brand integrity and recognition.

Document Overrides

If you override colors for specific reasons, document why in your dashboard description.

Contributing to Color Palettes

The Color Palettes project is community-driven. Your contributions help maintain consistency across all Dune Analytics visualizations.

What You Can Contribute

1

Submit New Protocol Colors

Add colors for protocols not yet in the collection. Ensure you use the official brand color from the protocol’s brand guidelines.
2

Update Existing Colors

If a protocol has updated their brand colors, submit an update with a reference to the official brand guidelines.
3

Add New Aliases

Add common variations of protocol names to improve automatic matching in queries.
4

Report Inconsistencies

Found incorrect colors or aliases? Report them via GitHub issues.

Schema Requirements

When contributing, follow this JSON schema structure:
string
required
The official name of the protocol or chain. Use proper capitalization as shown in the protocol’s official branding.
string
required
The hex color code of the protocol’s primary brand color. Must be a valid 6-character hex code starting with #.
array
required
Common variations of the protocol name used in queries. Include:
  • Lowercase versions
  • Common abbreviations
  • Network variations (e.g., “uniswap_v2”, “uniswap_v3”)
  • Chain-specific names

Handling Alias Conflicts

Alias conflicts occur when the same alias is associated with multiple protocols.
The repository includes automated CI checks that will block pull requests with alias conflicts. Resolve these before your PR can be merged.

Common Conflict Examples

Automated CI Checks

Every pull request runs automated validation to ensure:

Resolution Process

1

CI Detects Conflict

Automated checks run and identify the duplicate alias.
2

PR Blocked

Your pull request cannot be merged until the conflict is resolved.
3

Review CI Logs

Check the CI logs for specific details about which aliases conflict.
4

Resolve Conflict

Update your changes by:
  • Removing the conflicting alias
  • Using a more specific alias
  • Engaging in PR discussion if there’s a special case

Alias Best Practices

Research First

Before creating a PR, check existing protocols and their aliases to avoid conflicts.

Be Specific

Use specific, unambiguous aliases. When in doubt, use longer, more descriptive variations.

Include Variations

Add common variations of the protocol name:
  • Ticker symbols
  • Common abbreviations
  • Version numbers
  • Alternative names

Review CI Logs

When CI fails, carefully review the logs to understand exactly which aliases conflict.

Color Selection Guidelines

Always reference the protocol’s official brand guidelines or press kit. Most protocols publish these on their websites.Where to find official colors:
  • Protocol website footer or “Brand” section
  • GitHub repository (often in /assets or /branding)
  • Official press kits or media resources
  • Protocol documentation sites
Double-check that the hex code matches the official branding:
  1. Visit the protocol’s official website
  2. Use browser developer tools to inspect brand elements
  3. Cross-reference with official brand guidelines
  4. Include reference links in your PR description
If a protocol uses multiple brand colors:
  • Choose the primary brand color (usually the most prominent)
  • Avoid gradients (use the main color from the gradient)
  • When uncertain, check how the protocol uses colors in their logo
For testnets or alternative network versions:
  • Use the same color as mainnet unless the protocol specifies otherwise
  • Add clear aliases to distinguish (e.g., “sepolia”, “goerli”)
  • Document in PR if using a variant color

Contributing Workflow

1

Fork the Repository

Fork the color-palettes repository on GitHub.
2

Edit color-palettes.json

Add or update protocol entries following the schema requirements.
3

Test Locally

Validate your JSON to ensure it’s properly formatted.
4

Submit Pull Request

Create a PR with:
  • Clear description of changes
  • Reference to official brand guidelines
  • Explanation for any alias choices
5

Respond to CI Checks

If CI fails, review the logs and make necessary adjustments.
6

Await Review

Community members and maintainers will review your contribution.
Small, focused PRs are easier to review and merge. Consider submitting separate PRs for different protocols.

Getting Help

If you encounter issues or have questions:
  • Open an issue on the GitHub repository
  • Join the Dune Discord community
  • Review existing PRs to see how others handle similar situations
The Color Palettes project relies on community contributions. Every contribution, no matter how small, helps improve the experience for all Dune Analytics users.