-
-
Notifications
You must be signed in to change notification settings - Fork 13
Blockfrost API Compatibility — Progress Tracker
This document is the single source of truth for tracking Blockfrost extension implementation progress, known gaps vs Blockfrost, and links to related PRs. Update this file as modules are merged or gaps are resolved.
Last verified: June 15, 2026. Current release baseline: v3.0.0-beta3.
Per-module gap tracking docs PR: https://github.com/bloxbean/yaci-store/pull/958
| Module | Endpoints | PR | Merged |
|---|---|---|---|
| Epoch |
/epochs/* — latest, by number, params, stakes, blocks (10 endpoints) |
#780, #969 | Feb 2026; updated Jun 2026 |
| Address |
/addresses/* — info, extended, UTXOs, transactions, total (6 endpoints) |
#784, #976 | Feb 2026; updated Jun 2026 |
| Asset |
/assets/* — list, detail, history, txs, addresses, policy (7 endpoints) |
#780 | Feb 2026 |
| Block |
/blocks/* — latest, by hash/slot/number, txs, next/previous, addresses, CBOR (11 endpoints) |
#811 | Mar 2026 |
| Transaction |
/txs/* — detail, UTXOs, CBOR, metadata, metadata/cbor, redeemers, stakes, delegations, withdrawals, mirs, pool_updates, pool_retires, required_signers (13 endpoints) |
#818 | Apr 2026 |
| Transaction Submit / Utils |
/tx/submit, /utils/txs/evaluate, /utils/txs/evaluate/utxos, /utils/addresses/xpub/{xpub}/{role}/{index} (4 endpoints) |
#968 | Jun 2026 |
| Account |
/accounts/{stake} + 11 sub-endpoints (rewards, history, delegations, registrations, withdrawals, mirs, addresses, assets, utxos, transactions) |
#836 | Apr 2026 |
| Metadata |
/metadata/txs/labels, /{label}, /{label}/cbor (3 endpoints) |
#872 | Jun 2026 |
| Scripts |
/scripts/* — list, detail, json, cbor, redeemers, datum, datum/cbor (7 endpoints) |
#852 | Jun 2026 |
| Module | Endpoints | Issue | PR | Status |
|---|---|---|---|---|
| Pools |
/pools/* — list, extended, retired, retiring, detail, history, metadata, relays, delegators, blocks, updates, votes (12 endpoints) |
#846 | #847 | Open — remaining diffs are known limitations/upstream gaps |
| Governance |
/governance/dreps/* + /governance/proposals/* (17 endpoints) |
#864 | #865 | Open draft |
| Network |
/, /genesis, /network, /network/eras (4 endpoints) |
— | #866 | Open — accepted limitations are documented in the PR |
Each module tracks its own mismatch set and known gaps in one place.
Epoch — PR #780, update #969 (merged)
-
active_stakecan benullon/epochs/*whenstore.adapot.enabled=false(expected graceful degradation) - epoch response parity was updated in #969
Address — PR #784, update #976 (merged)
-
/addresses/{address}/extendedmirrors base response for fields that are not indexed locally - some metadata fields still depend on token registry / CIP-68 data
Asset — PR #780 (merged)
- token metadata fields (
metadata,onchain_metadata) are null without token registry / CIP-68 ingestion -
/assetspagination can drift from assets indexed locally but absent on Blockfrost — tracked in #795
Block — PR #811 (merged)
-
/blocks/{hash}/txs/cborreturns stored transaction CBOR. Exact envelope shape depends on what is stored locally — shared issue tracked in #829
Transaction — PR #818 (merged)
-
/txs/{hash}/cborreturns stored transaction CBOR. Exact envelope shape depends on what is stored locally — tracked in #829 -
/txs/{hash}sizecan differ from Blockfrost when stored CBOR differs -
invalid_before = 0ambiguity cannot distinguish absent value from explicit slot0without schema change -
POST /tx/submitis now supported through the Blockfrost transaction module
Transaction Submit / Utils — PR #968 (merged)
-
POST /tx/submitconsumesapplication/cborand returns the transaction hash string - submit backend requires one of Submit API, Ogmios, or local N2C to be configured
-
POST /utils/txs/evaluateconsumes CBOR -
POST /utils/txs/evaluate/utxosconsumes JSON{cbor, additionalUtxoSet} -
GET /utils/addresses/xpub/{xpub}/{role}/{index}derives an address from an xpub
Account — PR #836 (merged)
- latest
/accounts/{stake}/rewardsrow may lag Blockfrost by one row on live data when AdaPot materialization is behind (accepted timing limitation) - follow-up architecture gap: shared
account_rewardsDB view is still missing for reusablewithdrawable_amountderivation
Pools — PR #847 (open)
Pools is still in development and will be added in a later release.
Scripts — PR #852 (merged)
-
/scriptsfirst-page overlap can be partial if the local database has not fully synced older script rows
Governance — PR #865 (open draft)
Governance is still in development and will be added in a later release.
Network — PR #866 (open)
Network is still in development and will be added in a later release.
Metadata — PR #872 (merged)
-
transaction_metadataduplicate rows can appear after reconnect/restart; rollback delete boundary is exclusive — tracked in #889 -
cip10remains null on/metadata/txs/labels(registry integration not included)
This project does not use Flyway for optional indexes. Indexes are managed via the admin CLI index applier:
# Apply all standard + extra indexes
yaci-store-admin-cli apply-indexes
# Apply only extra optional indexes
yaci-store-admin-cli apply-extra-indexes
# Apply Blockfrost-specific optional indexes
yaci-store-admin-cli apply-optional-indexes --indexes blockfrost-index
# Check standard + extra indexes
yaci-store-admin-cli verify-indexesIndex definitions live in components/dbutils/src/main/resources/:
-
index.yml— standard indexes applied byapply-indexes -
extra-index.yml— optional heavy indexes applied byapply-indexes/apply-extra-indexes -
blockfrost-index.yml— Blockfrost-specific optional indexes applied byapply-optional-indexes --indexes blockfrost-index
verify-indexeschecksindex.ymlandextra-index.yml. It does not currently checkblockfrost-index.yml.
| Index name | Table | Notes |
|---|---|---|
idx_address_utxo_owner_stake_addr |
address_utxo |
Covers /accounts/{stake}/addresses, /utxos
|
idx_withdrawal_address, idx_withdrawal_address_slot
|
withdrawal |
Covers /accounts/{stake}/withdrawals
|
idx_instant_reward_address_slot |
instant_reward |
Covers rewards_sum adapot query |
idx_reward_rest_address_slot |
reward_rest |
Covers rewards_sum adapot query |
These indexes are now maintained in blockfrost-index.yml.
| Table | Indexes |
|---|---|
address_utxo |
idx_address_utxo_owner_addr_full, idx_address_utxo_block
|
assets |
idx_assets_unit_slot, idx_assets_unit_policy, idx_assets_unit_qty
|
transaction |
idx_transaction_block_tx_index_tx_hash |
tx_input |
idx_tx_input_spent_at_block_spent_tx_hash, idx_tx_input_tx_hash
|
block |
idx_block_epoch_slot |
transaction_scripts |
idx_transaction_scripts_purpose_not_null |
Update this file when PRs are merged or gaps are resolved. When opening a new gap-specific issue, link it back to this document for traceability.