LogoLogo
SwapKit's websiteRegister for an API Key
  • 🏡Getting started
    • SwapKit's trade offerings
  • 💰Monetization
  • 🤝Partnership
  • ⚠️Smart contract limitations
  • SwapKit API
    • Introduction
    • /providers - Request supported chains by a swap provider
    • /tokens - Request supported tokens by a swap provider
    • /quote - Request a trade quote
    • /quote - Understanding the response
    • /chainflip/broker/channel - Opening a Chainflip deposit channel
    • /track - Request the status of a swap
    • /screen - Check AML compliance
    • /price - Lookup token prices
Powered by GitBook
On this page
  • EVM Transaction Types
  • Transaction Log Limit
  • XRP through THORChain limitations

Smart contract limitations

Key corner cases to take into account when integrating with our cross-chain providers

PreviousPartnershipNextIntroduction

Last updated 7 days ago

When integrating with THORChain or Mayachain, certain limitations at the smart contract and transaction level must be taken into account. Failing to do so may result in failed swaps, rejected transactions, or permanent loss of funds.

EVM Transaction Types

THORChain and Mayachain do not support EVM Type 4 transactions introduced in , which involve account abstraction. This includes:

  • All type: 4 transactions

  • Transactions from wallets based on abstracted accounts

Any transaction using this format will be rejected and may lead to loss of funds if funds are transferred under an unsupported transaction structure.

The following EVM transaction types are supported:

  • type: 0 (Legacy)

  • type: 2 (EIP-1559)

The includeTx optional argument when requesting a quote returns a legacy transaction object.

Chainflip, by contrast, does not impose restrictions on transaction types. All EVM transaction types, including Type 4, are supported when depositing on a Chainflip channel.

Transaction Log Limit

For inbound transactions into THORChain and Mayachain, the maximum number of logs that a transaction can include is 50 logs.

This limitation is particularly important for integrators who use smart contract wrappers to:

  • Perform token swaps

  • Route through aggregators

  • Execute any custom logic before sending funds to THORChain or Mayachain

If the resulting transaction generates more than 50 logs (e.g., due to complex DeFi interactions), THORChain will not process it.

XRP through THORChain limitations

Integrators should be aware of if they are not using our includeTx optional argument to build transactions for XRP swaps through THORChain:

  • Transaction Type: Only Payment transactions are supported for both inbound and outbound transfers.

  • Address Format: Only classic XRP addresses (starting with r...) are supported. X-addresses (which encode both address and destination tag) are not supported and must be decoded before use.

  • Memo Field:

    • THORChain supports only the first entry in the Memos[] array.

    • Additional memos (if present) will be ignored.

    • Maximum memo length: 250 characters, any excess will be ignored.

For reliable behavior, always use classic addresses and ensure your memo data fits within the 250-character limit.

⚠️
EIP-7702