Skip to content

convertTokenToEUR (Off-Ramp)

Get token to EUR quote.

This method estimates a token's EUR value before initiating an off-ramp. convertTokenToEUR can also be used in scenarios where the token to be sent is preset and not user-selectable.

This method also returns transferData — a structured object that can contain token-specific transfer, unwrap, or swap data and is passed unchanged into the off-ramp transaction.

Usage

typescript
import { Network } from '@holyheld/sdk';

const data = await holyheldSDK.evm.offRamp.convertTokenToEUR({
  walletAddress: '0x...',
  tokenAddress: '0x...',
  tokenDecimals: 6,
  amount: '9.99',
  network: Network.ethereum,
});
typescript
import { SolanaNetwork } from '@holyheld/sdk';

const data = await holyheldSDK.solana.offRamp.convertTokenToEUR({
  walletAddress: '...',
  tokenAddress: '...',
  tokenDecimals: 6,
  amount: '9.99',
  network: SolanaNetwork.Mainnet,
});

Parameters

ParameterTypeRequiredDescription
walletAddressstringYesThe wallet address initiating the transaction (EVM or Solana).
tokenAddressstringYesContract address of the token to convert.
tokenDecimalsnumberYesNumber of decimal places for the token (e.g. 6 for USDC, 18 for ETH).
amountstringYesToken amount to convert, as a decimal string (e.g. "9.99" for 9.99 USDC).
networkNetwork | SolanaNetworkYesThe chain the token lives on. Must match tokenAddress.

walletAddress

Wallet address

  • Type: string
typescript
import { Network } from '@holyheld/sdk';

const data = await holyheldSDK.evm.offRamp.convertTokenToEUR({
  walletAddress: '0x...', 
  tokenAddress: '0x...',
  tokenDecimals: 6,
  amount: '9.99',
  network: Network.ethereum,
});
typescript
import { SolanaNetwork } from '@holyheld/sdk';

const data = await holyheldSDK.solana.offRamp.convertTokenToEUR({
  walletAddress: '...',  
  tokenAddress: '...',
  tokenDecimals: 6,
  amount: '9.99',
  network: SolanaNetwork.Mainnet,
});

tokenAddress

Token address

  • Type: string
typescript
import { Network } from '@holyheld/sdk';

const data = await holyheldSDK.evm.offRamp.convertTokenToEUR({
  walletAddress: '0x...',
  tokenAddress: '0x...', 
  tokenDecimals: 6,
  amount: '9.99',
  network: Network.ethereum,
});
typescript
import { SolanaNetwork } from '@holyheld/sdk';

const data = await holyheldSDK.solana.offRamp.convertTokenToEUR({
  walletAddress: '...',
  tokenAddress: '...', 
  tokenDecimals: 6,
  amount: '9.99',
  network: SolanaNetwork.Mainnet,
});

tokenDecimals

Token decimals

  • Type: Number
typescript
import { Network } from '@holyheld/sdk';

const data = await holyheldSDK.evm.offRamp.convertTokenToEUR({
  walletAddress: '0x...',
  tokenAddress: '0x...',
  tokenDecimals: 6, 
  amount: '9.99',
  network: Network.ethereum,
});
typescript
import { SolanaNetwork } from '@holyheld/sdk';

const data = await holyheldSDK.solana.offRamp.convertTokenToEUR({
  walletAddress: '...',
  tokenAddress: '...',
  tokenDecimals: 6, 
  amount: '9.99',
  network: SolanaNetwork.Mainnet,
});

amount

Token amount

  • Type: String
typescript
import { Network } from '@holyheld/sdk';

const data = await holyheldSDK.evm.offRamp.convertTokenToEUR({
  walletAddress: '0x...',
  tokenAddress: '0x...',
  tokenDecimals: 6,
  amount: '9.99', 
  network: Network.ethereum,
});
typescript
import { SolanaNetwork } from '@holyheld/sdk';

const data = await holyheldSDK.solana.offRamp.convertTokenToEUR({
  walletAddress: '...',
  tokenAddress: '...',
  tokenDecimals: 6,
  amount: '9.99', 
  network: SolanaNetwork.Mainnet,
});

network

Token network

  • Type: Network | SolanaNetwork
typescript
import { Network } from '@holyheld/sdk';

const data = await holyheldSDK.evm.offRamp.convertTokenToEUR({
  walletAddress: '0x...',
  tokenAddress: '0x...',
  tokenDecimals: 6,
  amount: '9.99',
  network: Network.ethereum, 
});
typescript
import { SolanaNetwork } from '@holyheld/sdk';

const data = await holyheldSDK.solana.offRamp.convertTokenToEUR({
  walletAddress: '...',
  tokenAddress: '...',
  tokenDecimals: 6,
  amount: '9.99',
  network: SolanaNetwork.Mainnet, 
});

Returns

Returns a Promise<ConvertTopUpData> with the EUR equivalent and routing data for the transaction.

typescript
import type { TransferDataEVM } from '@holyheld/sdk';

type ConvertTopUpDataEVM = {
  tokenAmount: string;
  EURAmount: string;
  transferData?: TransferDataEVM;
}
typescript
import type { TransferDataSolana } from '@holyheld/sdk';

type ConvertTopUpDataSolana = {
  tokenAmount: string;
  EURAmount: string;
  transferData?: TransferDataSolana;
}

tokenAmount

Amount of token that was passed to query

  • Type: String
  • Example: 1.99
typescript
import type { TransferDataEVM } from '@holyheld/sdk';

type ConvertTopUpDataEVM = {
  tokenAmount: string; 
  EURAmount: string;
  transferData?: TransferDataEVM;
}
typescript
import type { TransferDataSolana } from '@holyheld/sdk';

type ConvertTopUpDataSolana = {
  tokenAmount: string; 
  EURAmount: string;
  transferData?: TransferDataSolana;
}

EURAmount

EUR valuation of the token amount provided

  • Type: String
  • Example: 314.25
typescript
import type { TransferDataEVM } from '@holyheld/sdk';

type ConvertTopUpDataEVM = {
  tokenAmount: string;
  EURAmount: string; 
  transferData?: TransferDataEVM;
}
typescript
import type { TransferDataSolana } from '@holyheld/sdk';

type ConvertTopUpDataSolana = {
  tokenAmount: string;
  EURAmount: string; 
  transferData?: TransferDataSolana;
}

transferData (optional)

Data to be passed in sending transaction for this specific token (and amount)

  • Type: TransferDataEVM | TransferDataSolana
typescript
import type { TransferDataEVM } from '@holyheld/sdk';

type ConvertTopUpDataEVM = {
  tokenAmount: string;
  EURAmount: string;
  transferData?: TransferDataEVM; 
}
typescript
import type { TransferDataSolana } from '@holyheld/sdk';

type ConvertTopUpDataSolana = {
  tokenAmount: string;
  EURAmount: string;
  transferData?: TransferDataSolana; 
}