> For the complete documentation index, see [llms.txt](https://docs.tomo.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tomo.inc/tomo-sdk/tomo-web-sdk/solana-integrations.md).

# Solana Integrations

The `SolanaProvider` defined in Tomo Connect SDK contains all the necessary functions to interact with Solana chain. Core functions are:

### Get Wallet Public Key

```javascript
async getPublicKey()
```

### Send SOL

```javascript
async sendSol(to: string, amount: string, mintAddress?: string): Promise<string>
```

### Sign Transaction

```javascript
import { Transaction, VersionedTransaction } from "@solana/web3.js";

async signTransaction<T extends Transaction | VersionedTransaction>(
    transaction: T
): Promise<T>
```

### Sign All Transactions

```javascript
async signAllTransactions<T extends Transaction | VersionedTransaction>(
    transactions: T[]
): Promise<T[]>
```

### Sign and Send Transaction

```javascript
import { 
      Transaction,
      VersionedTransaction,
      SendOptions,
      TransactionSignature
} from "@solana/web3.js";

async signAndSendTransaction<T extends Transaction | VersionedTransaction>(
      transaction: T,
      options?: SendOptions
): Promise<{ signature: TransactionSignature }>
```

### Sign Message

```javascript
async signMessage(message: Uint8Array): Promise<{ signature: Uint8Array }>
```

### Connect

```javascript
async connect(): Promise<void>
```

### Disconnect

```javascript
async disconnect(): Promise<void>
```
