hyperledger/fabric · error

request unauthorized due to incorrect timestamp %s, peer tim

Error message

request unauthorized due to incorrect timestamp %s, peer time %s, peer.authentication.timewindow %s

What it means

The channel header's timestamp deviates from the peer's UTC clock by more than the configured peer.authentication.timewindow in either direction — an anti-replay check failure, usually caused by client clock skew or too small a timewindow setting.

Source

Thrown at core/handlers/auth/filter/timewindow.go:56

	if err != nil {
		return errors.Wrap(err, "failed parsing proposal")
	}

	hdr, err := protoutil.UnmarshalHeader(prop.Header)
	if err != nil {
		return errors.Wrap(err, "failed parsing header")
	}

	chdr, err := protoutil.UnmarshalChannelHeader(hdr.ChannelHeader)
	if err != nil {
		return errors.Wrap(err, "failed parsing channel header")
	}

	timeProposal := chdr.Timestamp.AsTime().UTC()
	now := time.Now().UTC()

	if timeProposal.Add(timeWindow).Before(now) || timeProposal.Add(-timeWindow).After(now) {
		return errors.Errorf("request unauthorized due to incorrect timestamp %s, peer time %s, peer.authentication.timewindow %s",
			timeProposal.Format(time.RFC3339), now.Format(time.RFC3339), timeWindow.String())
	}

	return nil
}

// ProcessProposal processes a signed proposal
func (f *timewindowCheckFilter) ProcessProposal(ctx context.Context, signedProp *peer.SignedProposal) (*peer.ProposalResponse, error) {
	if err := validateTimewindowProposal(signedProp, f.timeWindow); err != nil {
		return nil, err
	}
	return f.next.ProcessProposal(ctx, signedProp)
}

View on GitHub (pinned to 2736b63f8f)

Solutions

  1. Synchronize the client's clock (NTP) with the peer
  2. Increase peer.authentication.timewindow in core.yaml if legitimate skew exists
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at core/handlers/auth/filter/timewindow.go:56 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04). Data as JSON: /api/errors/1adebd3992473c35. Report an issue: GitHub.