> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glam.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Cross-Chain Transfer (CCTP)

> Bridge USDC across chains using Circle's CCTP

Commands for bridging USDC across chains using Circle's Cross-Chain Transfer Protocol (CCTP).

<Note>
  The `CCTP` integration must be enabled before using these commands:

  ```bash theme={null}
  glam-cli integration enable CCTP
  ```
</Note>

## Bridge USDC

Bridge USDC from Solana to an EVM chain.

* `amount`: Amount of USDC to bridge
* `domain`: Destination domain ID (see table below)
* `destination_address`: Recipient address on the destination chain
* `--destination-caller`, `-d`: Optional destination caller address
* `--max-fee-bps`, `-m`: Maximum fee in basis points (default: 1)
* `--base58`, `-b`: Address is in base58 format (default: EVM hex format)
* `--fast`, `-f`: Use fast transfer mode (lower finality threshold)

```bash theme={null}
glam-cli cctp bridge-usdc <amount> <domain> <destination_address> [options] [--yes]
```

**Example:** Bridge 100 USDC to Ethereum:

```bash theme={null}
glam-cli cctp bridge-usdc 100 0 0x1234567890abcdef1234567890abcdef12345678
```

**Example:** Fast bridge to Arbitrum:

```bash theme={null}
glam-cli cctp bridge-usdc 100 3 0x1234567890abcdef1234567890abcdef12345678 --fast
```

### Domain IDs

| Domain ID | Chain     |
| --------- | --------- |
| 0         | Ethereum  |
| 1         | Avalanche |
| 2         | Optimism  |
| 3         | Arbitrum  |
| 6         | Base      |
| 7         | Polygon   |

## Receive USDC

Receive USDC bridged from an EVM chain to Solana.

* `source_domain`: Source chain domain ID
* `--txHash`, `-t`: Transaction hash from the source chain (hex string starting with 0x)
* `--nonce`, `-n`: Nonce from the source transaction (hex string starting with 0x)

```bash theme={null}
glam-cli cctp receive <source_domain> [--txHash <hash>] [--nonce <nonce>]
```

## List Bridge Events

List CCTP events for incoming and outgoing bridge transfers.

* `--since-slot`, `-s`: Fetch events since this slot
* `--batch-size`, `-b`: Batch size for RPC requests
* `--commitment`, `-c`: Commitment level (default: confirmed)

```bash theme={null}
glam-cli cctp list [--since-slot <slot>] [--batch-size <size>] [--commitment <level>]
```

***

## Policy Management

CCTP policies allow you to restrict which destination addresses can receive bridged USDC.

### View Policy

View the current CCTP policy.

```bash theme={null}
glam-cli cctp view-policy
```

### Allowlist Destination

Add a destination address to the CCTP allowlist.

* `domain`: Destination domain ID
* `destination_address`: Address on the destination chain
* `--base58`: Address is in base58 format

```bash theme={null}
glam-cli cctp allowlist-destination <domain> <destination_address> [--base58] [--yes]
```

**Example:** Allowlist an Ethereum address:

```bash theme={null}
glam-cli cctp allowlist-destination 0 0x1234567890abcdef1234567890abcdef12345678
```

### Remove Destination

Remove a destination address from the CCTP allowlist.

```bash theme={null}
glam-cli cctp remove-destination <domain> <destination_address> [--base58] [--yes]
```
