Skip to content

v1.0.0

Choose a tag to compare

@tigusigalpa tigusigalpa released this 31 Jul 11:03
· 4 commits to main since this release

Release Notes — v1.0.0

🎉 glassnode-go v1.0.0

Initial release of glassnode-go — a dependency-light, idiomatic Go SDK for the Glassnode Basic API.

✨ Highlights

  • Zero external dependencies — pure Go standard library
  • 25 category services covering the full documented endpoint surface: Addresses, Bridges, Blockchain, Breakdowns, DeFi, Derivatives, Distribution, Entities, ETH2, Fees, Global, Indicators, Institutions, Lightning, Macro, Market, Mempool, Mining, Options, PointInTime, Protocols, Signals, Supply, Transactions, Treasuries
  • Generic MetricsServiceGet, GetTimePoints, GetObjectPoints, GetBulk, GetBulkRaw for any current or future metric path
  • Runtime metadata discovery via MetadataService (Assets, Metrics, Metric)
  • Functional options on Client: WithAPIKey, WithAuthMode, WithBaseURL, WithHTTPClient, WithTimeout, WithRetry, WithUserAgent, WithAppID
  • NewClientFromEnv — instant setup from GLASSNODE_API_KEY
  • Header (X-Api-Key) and query-string (api_key) authentication modes
  • Automatic retry on HTTP 429 with x-rate-limit-reset support and exponential backoff
  • Exported, inspectable errorsAPIError, ErrBadRequest, ErrUnauthorized, ErrNotFound, ErrRateLimited, ErrMissingAPIKey, ErrInvalidMetricPath — fully compatible with errors.Is / errors.As
  • ResponseMetadata with rate-limit headers, request ID, duration, and redacted URL for safe logging
  • Typed models: TimePoint, ObjectPoint, PITTimePoint, PITObjectPoint, BulkPoint, BulkResponse, Asset, MetricMetadata, APIUsage
  • MetricQuery / BulkQuery parameter builders with ToValues()
  • 39 tests covering auth, retries, errors, URL encoding, bulk params, context cancellation, and concurrency
  • Full endpoint coverage documented in docs/endpoint-coverage.md

📦 Installation

go get github.com/tigusigalpa/glassnode-go

Note: this is an unofficial SDK, not affiliated with or endorsed by Glassnode.