Skip to main content

Flow Fees

Fees & Execution Costs

Flow fees consist of two components:

1. Gas Fee (always charged)

A dynamic fee calculated as:

gasUsed * flowFlexFeeMul
  • The denom used to pay this fee is selected in the gasFeeCoins field.
  • The actual cost depends on gas usage and is scaled based on the selected token.

2. Burn Fee (only when paying in $INTO)

If the selected gasFeeCoins includes INTO, a fixed burn fee per message is added:

burnFee = burnFeePerMsg * messageCount
  • This burn is only applied when using INTO as the gas token.
  • It is not charged if you're paying fees in ATOM, OSMO, or other tokens.

TL;DR:

  • Pay in INTO → gas fee + burn fee
  • Pay in ATOM/OSMO → only gas fee

Hosted Account Fee (extra)

When using a hosted interchain account, there's an additional fee charged per execution. This is set by the fee admin of the hosted account.

In Intento Portal, we automatically add a fee coin limit during flow submission to cover this hosted fee — including a buffer to avoid underfunded execution errors.

To check the latest hosted fee programmatically:

GET /intento/intent/v1beta1/hosted-account/{address}

LCD URL: https://lcd.intento.zone/swagger/#get-/intento/intent/v1beta1/hosted-account/-address-

This endpoint returns the fee_coins_supported array of supported fee coins for that specific hosted account.

Payment Source

When you create a Flow, the system attempts to charge your wallet directly. If you create a Flow via MsgTransfer from another chain (e.g., IBC from Cosmos Hub), the funds sent along are deposited to your account on the Flow chain. The Flow fee is then deducted from your account. This wallet fallback ensures you can pay for flows even when initiating from another chain.

We aim to support ATOM, OSMO, and other integrator tokens in our gas configuration, making it easier to pay for flows.


Worked Examples

Autocompound Flow

Scenario:

  • 2 messages per Flow
  • Runs once per week for 1 year (52 runs)
  • Uses INTO as the gas denom

Fee Parameters:

  • gasUsed = 63700
  • flowFlexFeeMul = 2
  • burnFeePerMsg = 10000
  • INTO gas price = 30 per unit

Per Flow Fee:

  • Gas fee units: (63700 * 2) / 1000 = 127.4
  • Gas fee in INTO (microdenom): 127.4 * 30 = 3822
  • Burn fee in INTO (microdenom): 10000 * 2 = 20000
  • Total Flow fee (microdenom): 23822
  • Converted to INTO: 0.023822

Burned INTO per Flow: 0.02 INTO (approx, from the burn fee)

Total Fees over 52 runs:

  • Total Flow fee: 1.2387 INTO
  • Total Burned: 1.04 INTO (0.02 * 52)

Token Stream Flow

Scenario:

  • 1 message per Flow
  • Runs 10 times over 3 days
  • Uses INTO as the gas denom

Per Flow Fee:

  • Gas fee units: 127.4
  • Gas fee in INTO: 127.4 * 30 = 3822
  • Burn fee in INTO: 10000 * 1 = 10000
  • Total Flow fee (microdenom): 13822
  • Converted to INTO: 0.013822

Burned INTO per Flow: 0.01 INTO (from burn fee)

Total Fees over 10 runs:

  • Total Flow fee: 0.13822 INTO
  • Total Burned: 0.1 INTO (0.01 * 10)

Token Stream with IBC Denom

Scenario:

  • 1 message per Flow
  • Runs 10 times over 3 days
  • Uses ibc/... denom (5 per unit) e.g. ATOM

Per Flow Fee:

  • Gas fee units: 127.4
  • Gas fee in denom: 127.4 * 5 = 637
  • Burn fee: Not applied for IBC denoms
  • Total Flow fee (microdenom): 637
  • Converted to denom: 0.000637

Burned INTO: 0 (no burn fee for non-INTO denoms)

Total Fees over 10 runs:

  • Total Flow fee: 0.00637 denom
  • Total Burned: 0 INTO

Summary Table

Flow TypeMessagesRunsDenomFee per FlowTotal FeeBurned INTO
Autocompound252INTO~0.0238~1.2387~1.04
Token Stream110INTO~0.0138~0.13822~0.1
Token Stream110ATOM~0.000637~0.006370