# AnteHandlers
The x/auth module presently has no transaction handlers of its own, but does expose the special AnteHandler, used for performing basic validity checks on a transaction, such that it could be thrown out of the mempool.
The AnteHandler can be seen as a set of decorators that check transactions within the current context, per ADR 010 (opens new window).
Note that the AnteHandler is called on both CheckTx and DeliverTx, as Tendermint proposers presently have the ability to include in their proposed block transactions which fail CheckTx.
# Decorators
The auth module provides AnteDecorators that are recursively chained together into a single AnteHandler in the following order:
SetUpContextDecorator: Sets theGasMeterin theContextand wraps the nextAnteHandlerwith a defer clause to recover from any downstreamOutOfGaspanics in theAnteHandlerchain to return an error with information on gas provided and gas used.RejectExtensionOptionsDecorator: Rejects all extension options which can optionally be included in protobuf transactions.MempoolFeeDecorator: Checks if thetxfee is above local mempoolminFeeparameter duringCheckTx.ValidateBasicDecorator: Callstx.ValidateBasicand returns any non-nil error.TxTimeoutHeightDecorator: Check for atxheight timeout.ValidateMemoDecorator: Validatestxmemo with application parameters and returns any non-nil error.ConsumeGasTxSizeDecorator: Consumes gas proportional to thetxsize based on application parameters.DeductFeeDecorator: Deducts theFeeAmountfrom first signer of thetx. If thex/feegrantmodule is enabled and a fee granter is set, it deducts fees from the fee granter account.SetPubKeyDecorator: Sets the pubkey from atx's signers that does not already have its corresponding pubkey saved in the state machine and in the current context.ValidateSigCountDecorator: Validates the number of signatures intxbased on app-parameters.SigGasConsumeDecorator: Consumes parameter-defined amount of gas for each signature. This requires pubkeys to be set in context for all signers as part ofSetPubKeyDecorator.SigVerificationDecorator: Verifies all signatures are valid. This requires pubkeys to be set in context for all signers as part ofSetPubKeyDecorator.IncrementSequenceDecorator: Increments the account sequence for each signer to prevent replay attacks.