SettleMint
Token features

Transaction fee API

Update rates, change the fee recipient, freeze future rate changes, and read collection history for tokens with the transaction-fee feature attached.

The transaction-fee feature routes let you manage the full lifecycle of on-chain fee collection after a token is deployed. Use this reference when you need to adjust fee parameters, transfer the recipient wallet, permanently lock rates, or audit what the chain has collected to date.

For how fees are calculated and what invariants apply, see Transaction Fee architecture. For operator steps in the Console, see configure and operate transaction fee.

transaction-fee is mutually exclusive with transaction-fee-accounting. Use transaction-fee when the asset deducts the fee on chain in its own units.

Configuration during token creation

{
  "transaction-fee": {
    "mintFeeBps": 100,
    "burnFeeBps": 100,
    "transferFeeBps": 50,
    "recipient": "0x..."
  }
}
ParameterTypeRequiredDescription
mintFeeBpsIntegerYesMint fee in basis points. Zero suppresses mint-fee collection.
burnFeeBpsIntegerYesBurn fee in basis points.
transferFeeBpsIntegerYesHolder-initiated transfer fee in basis points.
recipientEthereum addressYesWallet that receives collected fees in the asset's own units.

Behaviour

The platform deducts the fee from the operation amount before crediting the holder. A 100-unit mint with mintFeeBps: 100 credits 99 units to the holder and 1 unit to recipient.

Updating parameters

All transaction-fee mutations execute through the transaction queue. You need the token permission for the operation, a verified wallet, and the transaction-fee feature attached to the target token.

Set fee rates

Send all three rate fields together. Any field omitted from the body resets that rate to zero.

PATCH /api/v2/tokens/{tokenAddress}/features/transaction-fee/rates
{
  "mintFeeBps": 100,
  "burnFeeBps": 100,
  "transferFeeBps": 25
}

Set fee recipient

Update the wallet that receives collected fees. Supply the new address in feeRecipient.

PATCH /api/v2/tokens/{tokenAddress}/features/transaction-fee/recipient
{
  "feeRecipient": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
}

Freeze fee rates

Permanently lock rate changes so no subsequent call can alter them.

POST /api/v2/tokens/{tokenAddress}/features/transaction-fee/rate-freezes

This route has no fee-specific body fields beyond the address path parameter. User-authenticated requests still include the wallet verification body that all mutations require. Once the freeze succeeds, any later rate update fails with the token fee rates frozen error.

Reading collected fees

GET /api/v2/tokens/{tokenAddress}/transaction-fee/collections

This endpoint returns paginated transaction-fee rows. Use it for dashboards, reconciliation jobs, and audit exports instead of scanning token events directly.

Response model

Each write operation returns the standard queued blockchain response for the token. The body includes the status link for the queued transaction-fee operation.

On this page