> For the complete documentation index, see [llms.txt](https://symmdocs.gitbook.io/frontend-sdk-technical-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://symmdocs.gitbook.io/frontend-sdk-technical-docs/frontend-sdk/core-package/constants/tokens.md).

# Tokens

### Functions Outline

**`useUSDCToken()`**: Returns a USDC token instance with predefined properties such as address and decimals. This function utilizes the `useUSDCAddress` hook to dynamically fetch the USDC token address.

```typescript
export function useUSDCToken() {
  const USDC_ADDRESS = useUSDCAddress();
  return duplicateTokenByAddressMap(USDC_ADDRESS, 6, "USDC", "USDC");
}
```

**`useCollateralToken()`**: Creates and returns a collateral token instance. It fetches the token's address, symbol, and decimals using the respective hooks. It returns a `TokenMap` object generated by `duplicateTokenByAddressMap`&#x20;

```typescript
export function useCollateralToken() {
  const COLLATERAL_ADDRESS = useCollateralAddress();
  const COLLATERAL_SYMBOL = useCollateralSymbol();
  const COLLATERAL_DECIMALS = useCollateralDecimal();
  return duplicateTokenByAddressMap(
    COLLATERAL_ADDRESS,
    6,
    COLLATERAL_SYMBOL,
    COLLATERAL_SYMBOL,
    COLLATERAL_DECIMALS
  );
}
```

**`useTokenShorthand()`**: Provides a shorthand mapping for tokens.&#x20;

```typescript
export function useTokenShorthand() {
  const USDC_TOKEN = useUSDCToken();
  const v3_ids = useV3Ids();
  const tmpStruct = v3_ids?.reduce((acc, id) => {
    acc[id] = USDC_TOKEN[id]?.address;
    return acc;
  }, {});
  return {
    USDC: tmpStruct,
  };
}

```
