For Marketplaces with Custom Contracts

Use case

If you are a marketplace who have their own marketplace contract and are looking to enable your users to buy NFTs directly with fiat on your marketplace, Transak NFT checkout can provide a seamless experience to your users.

We are currently live with Decentraland and Immutable marketplace and you can experience the NFT Checkout flow for yourself.

Flow under the hood

  1. You pass the details to Transak to fulfil the transaction through query parameters. (Full list of query parameters for Marketplaces can be found here)
  2. User clicks on "Buy with Fiat" on your platform
  3. Transak collects the fiat from the user
  4. Then Transak simply executes your marketplace smart contract based on the calldata you sent in the query parameter and sends the NFT to the user's wallet.

Blockchains supported

We can support all EVM compatible chains and any other chain on request for Custom Marketplace contract implementation.

Currently out of the box supported EVM blockchains:

  • Arbitrum
  • Binance smart chain
  • Ethereum
  • Immutable Zk-EVM
  • Polygon
  • Optimism

If you need support for any other blockchain, contact us at [email protected]

Prerequisites from Partner’s Marketplace smart contract?

We support all types of custom marketplace smart contracts (marketplace contracts that enable trading of NFTs) for both primary and secondary sales of ERC-721 and ERC-1155 on major NFT chains.

We do not have any prerequisite like your function needs to accept recipient's wallet address.

Even if your smart contract function doesn’t accept buyer's wallet address as a parameter we’ll be able to deliver NFT to the user.

So no matter what type of custom smrt contract you have - you can use Transak's NFT Checkout solution to allow your users to buy NFTs with fiat.

The only requirement we have is that the smart contract of the NFT collection being sold should be ERC-721, ERC-721A and ERC-1155 compliant. Email to us at [email protected] if you have a custom requirement.

Note: it is preferable that your custom contract is verified on the respective blockchain scanner like Etherscan, Polygonscan, etc.

Transak Smart Contract addresses

While generating calldata, if your function accepts user's wallet address as a parameter you need to use Transak's wallet address as the value for that parameter as NFT first comes to our contract and then it's send to the user.

Transak's smart contract addresses:

BlockchainTestnet NameTestnet address
EthereumSepolia0xD84aC4716A082B1F7eCDe9301aA91A7c4B62ECd7
PolygonMumbai0x08217aa0394c637013f0b4fbc3a29e44c67062e7
Binance Smart ChainBinance Smart Chain Testnet0x0E9539455944BE8a307bc43B0a046613a1aD6732
ArbitrumSepolia0x489F56e3144FF03A887305839bBCD20FF767d3d
OptimismGoerli0x0E9539455944BE8a307bc43B0a046613a1aD6732
Immutable zkEVMImmutable zkEVM Testnet0x92B676D4cAF95C07e33866d6e8CB40e65177f88A