๐Ÿ’กโ€‹ Transak One - Fiat to Smart Contract

What is Transak One?

Transak One enables our Partner apps to onboard their users directly from fiat to any dApp/smart contract on chain using in just one step.

This means users don't need to do any transactions for approval, have gas tokens or worry about the underlying blockchain complexity to use a dApp.

Just a single click of fiat payment, and user is onboarded to your dApp.

1920

Integrating Transak One makes it even easier for DeFi, crypto games or any dApp using on-chain protocols to easily onboard their mainstream web2 users onto their platforms with fiat currencies and local payment methods.

Problem & Solution

User flow before Transak One

  1. Purchase the specific token required for the dApp with either fiat or another cryptocurrency
  2. Purchase the native cryptocurrency with fiat to pay transaction (gas) fees
  3. Send both cryptocurrencies to their personal wallet (if bought from a centralized exchange, or both tokens are present in different wallets)
  4. Trigger an approval transaction to give the dApp permission to use their tokens
  5. Then, finally, interact with the dApp protocol using their wallet

Each of these steps require technical understanding, time to execute different transactions, and charge transaction (gas) fees which might not be similar to the cryptocurrency accepted by the smart contract, resulting in more transactions for the user. This complexity unfortunately makes a lot of dApps unfriendly to the end user.

User flow after Transak One

๐Ÿ“˜

๐Ÿ’ก FYI:

With Transak One integrated with your Web3 app, a user just needs to make one transaction, instead of 5 earlier!

User Flow for Transak One would be as shown below:

  • First time users need to go through our simple one-time KYC
  • Post this user can simply complete the fiat payment through their preferred mode of payment with a single click, every time they want to on ramp to a supported dapp. It's that simple!
  • Behind the scenes we combine and perform all of the required transactions i.e. transferring the crypto as well as initiating and interacting with the dApp protocol smart contract on behalf of the user.

After a successful transaction, the user can interact with the dApp via their wallet as normal, as if they had interacted with the smart contract themselves.

Use cases & Examples

Transak One direct fiat to dApp onboarding can improve the user experience of any dApp that requires users to deposit crypto or interact with their smart contract.

Transak One Use Cases:

  • DeFi apps which require their users to stake, swap, bridge, deposit some tokens on chain. For ex: You can stake directly on Lido, Uniswap, Aave, etc using Fiat.
  • DEXs like DyDx which require their users to deposit some crypto to trade on their platform. For ex: Your users can directly start trading on your DEX using Fiat.
  • Crypto games, where the user needs to purchase an in-game token and then send that token to a smart contract.
  • NFT dApps which mints an NFT when you send it sufficient funds. Users can directly mint the NFT with fiat.
  • Any dApps Social, NFT, Gaming, Loyalty & Rewards, etc and any other dApp you can think can be supported using Transak One.

Supporting Blockchains & Cryptocurrencies

We can support all EVM chains that support Solidity and Ethers Js.

Currently 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]

Supporting cryptocurrencies: The protocol transaction must use one of ourย Supporting Crypto Currencies. If another cryptocurrency is required you canย Request for us to add coverage of a cryptocurrency.

Understand your use case

Transak One is built to support variety of use cases that your dApp might have. But we have broadly divided it into 2 major categories depending on what happens after we execute your smart contract:

  1. You are sending a token back to the user

If Transak is executing your smart contract and you're sending any type of token back to the user's wallet, such as Liquid Staking Tokens or bridged tokens, you fall into this category. Ensure you provide details about this token in the "cryptoCurrencyData" query parameter.

For example, if a user stakes ETH in Lido and receives stETH as a receipt token, include details about stETH in the "cryptoCurrencyData" query parameter, and details about ETH in the "sourceTokenData" query parameter.

  1. You are not sending any token back to the user

If Transak executes your smart contract, and you are not sending any token back to the user, you fall into this category. This may involve updating the user's balance on your platform, activating a subscription, unlocking a new level in your game, or any other action after the smart contract execution.

For ex: If a user wants to trade in DyDx they need to deposit some crypto first. Here Transak will accept fiat from user and when we execute the smart contract, we'll send the required crypto and the user's wallet address so DyDx can update that user's balance on DyDx trading app. In this case, you don't need to include details in the "cryptoCurrencyData" query parameter, but do send the token and amount your smart contract accepts in the "sourceTokenData" query parameter.

Flow of Funds for Transak One

  1. The User does the fiat payment on Transak's widget
  2. After the fiat payment is received & reconciled by Transak, we trigger our smart contract to execute the transaction on chain on your smart contract.
  3. Transak Smart Contract does an allowance transaction by callingย the function of the partner's smart contract. We do this to avoid any issues like overspending or any kind of risk.
  4. Once the allowance transaction is completed. Our smart contract callsย the function of the partner's smart contract with the calldata sent to Transak through the query parameters.ย 
  5. In the same transaction Transak does the following:
    a. It sends the dataย like the user's wallet address, amount etc.
    b. It also sends the crypto to the smart contract
  6. Then you can configure the action on your end.For ex: Partner's smart contract can send the Liquid staking tokens back to the userโ€™s wallet address or just update their balances on their DEX or activate their subscription of the product. The possibilities are endless!

Transak Smart Contract addresses

If you want to limit the addresses calling your contract, you can whitelist the following Transak's smart contract addresses:

BlockchainTestnet NameTestnet address
EthereumSepolia0xD84aC4716A082B1F7eCDe9301aA91A7c4B62ECd7
PolygonMumbai0x08217aa0394c637013f0b4fbc3a29e44c67062e7
Binance Smart ChainBinance Smart Chain Testnet0x0E9539455944BE8a307bc43B0a046613a1aD6732
ArbitrumSepolia0x489F56e3144FF03A887305839bBCD20FF767d3d1
OptimismGoerli0x0E9539455944BE8a307bc43B0a046613a1aD6732
Immutable zkEVMImmutable zkEVM Testnet0x92B676D4cAF95C07e33866d6e8CB40e65177f88