Skip to content

useCashAppAsset

Read and update the selected Cash App destination asset.

When to use

On the asset picker. Asset lists come from useCashAppSupportedAssets; this hook only owns selection.

Example

tsx
import { getCashAppAssetKey } from '@swapped/connect-sdk'
import {
  useCashAppAsset,
  useCashAppSupportedAssets,
} from '@swapped/connect-sdk/react'

function AssetPicker() {
  const { assets, isLoading } = useCashAppSupportedAssets()
  const { selectedAsset, selectAsset, isAssetSelected } = useCashAppAsset()

  if (isLoading) return <p>Loading…</p>

  return (
    <ul>
      {assets.map(asset => (
        <li key={getCashAppAssetKey(asset)}>
          <button
            type="button"
            aria-pressed={isAssetSelected(asset)}
            onClick={() => selectAsset(asset)}
          >
            {asset.asset} on {asset.chain}
            {selectedAsset === asset ? ' ✓' : ''}
          </button>
        </li>
      ))}
    </ul>
  )
}

To bump the amount up to the new asset minimum when the token changes, pass adjustAmountOnAssetChange on CashAppProvider.

Returns

FieldPurpose
selectedAssetMatching CashAppSupportedAsset (or undefined)
selectedAssetKeyStable asset:chain key
selectAsset(asset)Set the selected asset
clearAsset()Clear selection
isAssetSelected(asset)Convenience check

Requires CashAppProvider.