Harmonic GG · Authentication Profile

Harmonic Gg Authentication

Authentication

Harmonic GG secures its APIs with challenge-response and bearer across 2 declared security schemes, as derived from its OpenAPI definitions.

CompanyBlockchainSolanaBlock BuildingMEVValidatorSearcherInfrastructuregRPCDeFi
Methods: challenge-response, bearer Schemes: 2 OAuth flows: API key in:

Security Schemes

KeypairChallengeResponse challenge-response
BearerToken bearer

Source

Authentication Profile

harmonic-gg-authentication.yml Raw ↑
generated: '2026-07-19'
method: searched
source: https://docs.harmonic.gg/searchers/harmonic-bundles
docs: https://docs.harmonic.gg/searchers/harmonic-bundles
grpc_source:
- grpc/harmonic-gg-searcher-auth.proto
- grpc/harmonic-gg-validator-auth.proto
summary:
  types:
  - challenge-response
  - bearer
  model: Solana-keypair challenge-response issuing short-lived Bearer access + refresh tokens over gRPC metadata; there is no API key or OAuth surface.
  allowlist_required: true
schemes:
- name: KeypairChallengeResponse
  type: challenge-response
  transport: grpc
  service: auth.AuthService
  description: >-
    Clients authenticate by proving control of a Solana keypair. The client calls
    GenerateAuthChallenge with its role and 32-byte pubkey, signs the returned
    challenge (the client signs "{pubkey}-{challenge}"), then exchanges the signed
    challenge via GenerateAuthTokens for an access token and a longer-lived refresh
    token. RefreshAccessToken mints a fresh access token before expiry.
  operations:
  - GenerateAuthChallenge
  - GenerateAuthTokens
  - RefreshAccessToken
  roles:
    note: Harmonic uses Role.SEARCHER = 3, which differs from jito-protos where SEARCHER = 1. Reusing jito-protos clients requires authenticating with the ShredstreamSubscriber role (= 3).
    values:
    - {name: ROLE_UNSPECIFIED, value: 0}
    - {name: SEARCHER, value: 3}
- name: BearerToken
  type: bearer
  transport: grpc
  location: metadata
  description: >-
    Each request carries the access token as a gRPC Bearer credential. Reference
    client interceptors add the token automatically, refresh it ~5 minutes before
    expiry, and re-authenticate when the refresh token expires.
authorization:
  allowlist:
    description: Beyond token auth, the searcher pubkey (or validator identity) must be whitelisted by the Harmonic team before requests are accepted; a non-whitelisted key is rejected with permission denied.
    searcher_intake: https://form.typeform.com/to/aUd0FiwD
    validator_intake: https://form.typeform.com/to/UlJMfbPH