# Flow of Funds

Tweed offers you a platform to receive funds from checkout transactions according to your preference. You can choose to get the funds as fiat, which will be deposited into your bank account on a daily basis, or opt for immediate receipt in crypto, either as a native coin or ERC20 token.\
Learn more about Tweed's flow of funds.

The settlement method is determined by the payload of the `getTokenPurchaseData` callback. Review the required payload format for each settlement option.

### **Fiat Settlement**

{% hint style="info" %}
This option requires a quick additional onboarding. \
Contact us if you haven't completed it yet.
{% endhint %}

`priceInCents` Specify the price you want the user to pay in cents

```typescript
export const getTokenPurchaseData = async ({
  tokenId,
}: {
  tokenId: string
}) => {
  const tokenData = {
    tokenId,
    amount,
    priceInCents,
    fiatCurrencyId,
    thumbnailPath,
    contractAddress,
    chain,
    title,
    description,
    abi,
    customMintParams: {
      amount,
    },
  }
  return tokenData
}
```

### **Crypto Settlement | Native Currency**

`priceInCrypto`  Specify the price you want the user to pay in crypto (WEI)&#x20;

```typescript
export const getTokenPurchaseData = async ({
  tokenId,
}: {
  tokenId: string
}) => {
  const tokenData = {
    tokenId,
    amount,
    priceInCrypto,
    fiatCurrencyId,
    thumbnailPath,
    contractAddress,
    chain,
    title,
    description,
    abi,
    customMintParams: {
      amount,
    },
  }
  return tokenData
}
```

### **Crypto Settlement | ERC20 Tokens**

`priceInCrypto`  Specify the price you want the user to pay in crypto (WEI)&#x20;

`tokenContractAddress` Specify the ERC20 Token contract&#x20;

```typescript
export const getTokenPurchaseData = async ({
  tokenId,
}: {
  tokenId: string
}) => {
  const tokenData = {
    tokenId,
    amount,
    priceInCrypto,
    fiatCurrencyId,
    thumbnailPath,
    contractAddess,
    tokenContractAddress,
    chain,
    title,
    description,
    abi,
    customMintParams: {
      amount,
    },
  }
  return tokenData
}
```
