Skip to main content

Overview

When the gateway broadcasts a payment request, the settler agent decides whether to provide a quote and at what price. The bidding strategy determines how the agent calculates the source_amount (what the sender pays) from the fulfillment_amount (what the recipient receives). Pricing is fully operator-controlled. Choose the strategy that matches your pricing model and risk posture, then tune it per corridor as you learn where you might be successful.
Celo and Tron are used here as an example. Atum supports many additional EVM networks, plus Solana, with more chains on the way — see Supported mainnets.
If none of these strategies fit your needs, there is support for external pricing logic. Contact us for more information.

Choosing a strategy

Key concepts

Strategies

One To One

Quotes the fulfillment_amount as the source_amount — 1:1 pricing with no markup. Often used for: testing, promotional periods, or offering zero-fee transfers.

Static Markup

Applies a fixed percentage markup plus an optional flat fee to every payment. Often used for: simple, predictable pricing across all corridors and sizes.
Example (markupBps: 50, markupAbsolute: '100000'):

Corridor Based

Different markups for different source→destination combinations, with optional asset-specific overrides. Often used for: when costs vary by corridor (e.g. Ethereum→Tron differs from Tron→Ethereum on gas).
Lookup priority:
  1. Asset-specific key — {SourceChain}->{DestChain}:{Asset} (e.g. Ethereum->Tron:USDC)
  2. Chain-level key — {SourceChain}->{DestChain} (e.g. Ethereum->Tron)
  3. Default config

Tiered

Volume-based pricing where markup varies by payment size. Smaller payments pay a higher percentage; larger payments get better rates. Often used for: incentivizing larger payments while staying profitable on small ones.
Tier matching:
  • Tiers are evaluated in order
  • A tier matches when minAmount <= fulfillment_amount < maxAmount
  • maxAmount: null means no upper limit
  • If no tier matches, fallbackMarkupBps is used (when configured)

Spread Based

Captures a percentage of the spread between fulfillment_amount and max_source_amount. Prices against what the sender is willing to pay rather than a fixed markup. Often used for: competitive markets where you want to capture value while still beating the sender’s maximum.
Special cases:
  • If max_source_amount is absent, the agent uses minMarkupBps as the markup
  • If the spread is zero or negative, the bid is skipped
Example (spreadCapturePct: 50, minMarkupBps: 10, maxMarkupBps: 200):

Additional considerations

Consider whether it might be prudent to begin with higher markups on testnet to confirm profitability, then lower them based on competition and performance data.
Chains differ in gas costs. Consider using corridorBased to reflect this — higher markups on high-gas chains, lower on low-gas chains.
Track win rate and adjust:
  • High win rate → potentially consider lowering markups to grow volume
  • Low win rate → consider whether pricing may be too high
To potentially attract larger payments, consider whether it may be prudent to set lower rates for high volumes, and whether it may be useful for capturing institutional-sized flow.
In challenging markets, spreadBased may potentially keep quotes competitive relative to the sender’s willingness to pay, and might potentially increase bid selection.
NOTE: None of the bidding options constitute a representation, warranty, or guarantee of profitability or any returns, and settlement operators may incur losses in connection with settlement activity, including but not limited to losses arising from market conditions, execution dynamics, pricing constraints, or third-party costs (e.g., blockchain gas fees, bridge fees, validator fees, fiat payout fees, bank fees, FX spreads, or other protocol-level costs or similar expenses).

Next steps