Skip to content

feat: Add Custom Blockfrost URL Support#482

Open
adrian1-dot wants to merge 2 commits intogeniusyield:mainfrom
adrian1-dot:main
Open

feat: Add Custom Blockfrost URL Support#482
adrian1-dot wants to merge 2 commits intogeniusyield:mainfrom
adrian1-dot:main

Conversation

@adrian1-dot
Copy link

@adrian1-dot adrian1-dot commented Feb 5, 2026

Summary

This PR adds support for custom Blockfrost URLs in Atlas, enabling the use of self-hosted or alternative Blockfrost instances. Previously, Atlas only supported the official Blockfrost environments (mainnet, preprod, preview). This change allows users to configure a custom Blockfrost URL and optionally provide an API key for authentication.

Closes #481

Type of Change

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the Contributing Guide
  • My code follows the project's coding style and best practices
  • My code is appropriately commented and includes relevant documentation
  • I have added tests to cover my changes
  • All new and existing tests pass
  • I have updated the documentation, if necessary

Testing

Automated tests:

  • Added configuration parsing test for GYBlockfrostCustom variant
  • Test verifies custom Blockfrost config is correctly parsed and identified
  • All existing tests pass, confirming backward compatibility
  • Custom Blockfrost provider properly filtered from mashup tests (like standard Blockfrost)

Manual testing:

  • Verified custom Blockfrost URL connects successfully to preprod instance
  • Tested with API key authentication (maybeBlockfrostKey with value)
  • Confirmed queries work correctly through custom URL endpoint
  • Validated backward compatibility with existing Blockfrost configurations

Note: Full provider integration tests require API credentials and are excluded from CI. The new GYBlockfrostCustom provider shares the same endpoint limitations as standard Blockfrost (governance, mempool operations) and is appropriately filtered from tests requiring those features.

Additional Information

Related Issue: #481

Changes made:

  • Added GYBlockfrostCustom variant to GYLayer1ProviderInfo data type with custom URL and optional API key
  • Implemented networkIdToProjectCustom function to construct Blockfrost client with custom URL
  • Updated isBlockfrost predicate to recognize the new custom variant
  • Fixed error pattern matching for BlockfrostNotFound to handle the constructor's argument
  • Added blockfrost-haskell dependencies in cabal.project, latest release.

Use case: This enables users to run Atlas against custom Blockfrost deployments, which is useful for private networks, testing environments, or alternative Blockfrost implementations.

@adrian1-dot adrian1-dot requested a review from a team as a code owner February 5, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support custom Blockfrost API URL in provider configuration

1 participant