Skip to content

[Milestone 4] REST API & Query Layer #38

@Patrick-Ehimen

Description

@Patrick-Ehimen

Parent Issue #34

Goal

Expose indexed data through a REST API with filtering, tracing, and analytics.

Tasks

  • HTTP server (chi or echo) with graceful shutdown
  • GET /messages/{message_id} — full message details
  • GET /messages — filter by src_chain, dst_chain, protocol, status, sender, receiver, time range; cursor pagination
  • GET /transactions/{tx_hash}/messages — messages in a transaction
  • GET /address/{address}/history — cross-chain history for an address
  • GET /trace/{message_id} — full end-to-end event lifecycle
  • GET /protocols/{protocol}/stats — volume, latency, success rate
  • GET /routes/stats — top routes by volume
  • GET /health — health check
  • OpenAPI 3.0 spec
  • Database indexes for query patterns
  • API endpoint tests with seeded data

Acceptance Criteria

  • All endpoints return correct data with working pagination and filters
  • Trace endpoint returns full event lifecycle
  • API responds within 500ms for single lookups

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions