Skip to content

Embedding the Decent Onramp

Decent Checkout provides one seamless flow to remove all of the friction between a user deciding to engage with your app and actually being able to do so.

The Decent Onramp can be embedded into any application as a button and pop-up, similar to a Plaid link. Once the user completes the Onramp action and closes the window, they will be popped right back into their application journey.

Default Applications

Decent Checkout can be used to complete any onchain action; however, we have configured three popular actions as defaults to illustrate Checkout’s capabilities for other potential applications.

  • Onramp: Decent collaborated with Stripe to enable users to onramp from fiat to any token on any chain. Use this flow to fill your wallet on various networks.
  • Bridge: Move your existing tokens between supported chain and token pairs.
  • NFT Marketplace: Browse NFTs listed across secondary markets and purchase them with fiat. This application depicts how Checkout can be used to complete arbitrary onchain actions with fiat.

Checkout Overview

Decent enables one-click transactions using any token on any chain. We have wrapped leading onramps with our transaction execution. Existing onramps, like Stripe, handle fiat-to-crypto and Decent routes onramped tokens to their final destination. For example, if your application is on Base, Decent’s onramp enables users to send ETH on Base to their embedded wallets using their debit card.

Existing crypto users can also treat Decent’s onramp as a token bridge. You can think of the onramp as a swap modal with fiat as a viable source. For example, heavy Arbitrum users could fill their Base wallet using MAGIC via the same interface.

Because this onramp inherits Decent’s transaction execution, you can also have your users execute transactions, like buying NFTs or depositing into your DeFi app, directly from the onramp flow.

Using Decent Checkout

Implementing Checkout is as easy as adding a single button to your application:

html
<button target="_blank" href="https://checkout.decent.xyz/">Load Wallet</button>

We recommend autofilling information relevant to your application though. For example, if you want users to fill their wallet with an app on Base, your onramp component might look like:

tsx
import { useAccount } from "wagmi";
 
export default function Onramp(){
	const { address } = useAccount();
	
	const BASE_ID = 59144;
	
	return (
		<button
			target="_blank"
			href={`https://checkout.decent.xyz?wallet=${address}&chain=${BASE_ID}&app=onramp`}
			>Load Wallet
		</button>
	)
}

This will pre-select the onramp destination for a user so that all they have to do is select the amount they would like to onramp click “Continue” below.

Eligible URL query parameters to autofill onramp selections include:

  • wallet: the user’s connected wallet address. This address is the recipient of onramped funds.
  • app: current apps include onramp and nft. Apps are pre-filled destination actions, meaning they enable users to execute a transaction, like purchasing an NFT, directly from the onramp flow.
  • redir: URL where you can redirect users to upon onramp completion.
  • If app == 'onramp':
    • chain: the chain to which you would like your users to onramp.
    • token: the address of the token on the chain that you would like your users to have.
  • If app == 'nft':
    • address: the address of the NFT your user would like to purchase. This will likely be an NFT they selected to purchase in your app; however, did not have the funds in their wallet to complete the transaction.
    • tokenId: the specific NFT within a collection.
    • chain: chain that the NFT is on.
  • If app == 'bridge':
    • chain and token are eligible query parameters, like the onramp.

To use the NFT destination action, you would update your Onramp component to look like:

tsx
import { Address, useAccount } from "wagmi";
 
export default function Onramp(nftAddress:Address, tokenId:number, nftChainId: number){
	const { address } = useAccount();
	
	return (
		<button
			target="_blank"
			href={`https://checkout.decent.xyz?wallet=${address}&app=nft&chain=${nftChainId}&address=${nftAddress}%3A${tokenId}`}
			>Complete Purchase
		</button>
	)
}
Decent is constantly adding new destination actions. If you would like your application’s to be a natively supported shortcut, please reach out.

Onramp Considerations

Decent’s onramp uses embedded wallets. This means that users do have to login and create an onramp wallet or connect an existing EOA. If they do not specify a different destination wallet address, onramped funds will go to whatever address is connected to the onramp application. This will not be the same address that the user has in your application. For this reason, we recommend always autofilling the wallet URL parameter with the user’s address in your application.

The onramp currently only supports US citizens, with more countries coming soon. Unsupported regions can still use the token bridge, so, for example, could use USDC on Arbitrum to fill their wallet with ETH on Base.

If you believe our geolocation is incorrect, you can bypass our geoblock to continue to the onramp flow. Bypassing this check will not let you use the onramp if you are located in an unsupported region; all onramp users must KYC.

KYC / AML

All onramp users must KYC with Stripe’s Link product. If you have completed Stripe’s KYC flow previously, you can sign into your existing Link account to skip this step. If you have used Stripe previously in any other application, you can likely sign into your existing account and skip this step.

Decent uses TRM Labs to screen connected wallets and transactions. If your wallet or tokens trip our risk engine, you will receive a notification and will not be able to complete your transaction.

Demo Videos

Please view our documentation and set of demo videos here:

Decent Checkout Feature Walkthrough

Onramp to ETH on Base

Customer Support

The best place to receive customer support is the Intercom window within the Decent app. If you run into an error, please send our team a message and someone will be in touch.

Onramp Errors

For errors in the Identity Verification or Onramp steps, we will direct to you contact Stripe’s customer support. You can contact them directly here.

Wallet Screening

Decent uses TRM Labs to assist with AML protections. If you receive a notification that your wallet is not eligible for the onramp, please vet that you have not interacted with any malicious sites and contact Decent via the Intercom window.