---
title: Configuration
description: Builder methods for configuring LiteSVM in TypeScript
---

LiteSVM uses a builder pattern for configuration. All methods return `LiteSVM`
for chaining.

## Typical Test Setup

```typescript
import { createClient, generateKeyPairSigner } from "@solana/kit";
import { litesvm } from "@solana/kit-plugin-litesvm";
import { signer } from "@solana/kit-plugin-signer";

const mySigner = await generateKeyPairSigner();
const client = createClient().use(signer(mySigner)).use(litesvm());

client.svm
  .withSigverify(false) // Skip signature verification (faster)
  .withBlockhashCheck(false) // Skip blockhash validation (simpler)
  .withSysvars() // Enable Clock, Rent, etc.
  .withBuiltins() // Enable ed25519, secp256k1
  .withTransactionHistory(100n); // Store last 100 transactions
```

## Signature & Blockhash

### withSigverify

```typescript
withSigverify(sigverify: boolean): LiteSVM
```

Enable or disable signature verification.

```typescript
// Disable for faster tests (default is enabled)
client.svm.withSigverify(false);

// Enable for production-like testing
client.svm.withSigverify(true);
```

<Callout type="info">
  Disabling signature verification makes tests faster but less realistic.
</Callout>

### withBlockhashCheck

```typescript
withBlockhashCheck(check: boolean): LiteSVM
```

Enable or disable blockhash expiration checking.

```typescript
// Disable for simpler tests
client.svm.withBlockhashCheck(false);
```

## Programs & Sysvars

### withSysvars

```typescript
withSysvars(): LiteSVM
```

Enable sysvar accounts (Clock, Rent, EpochSchedule, etc.).

```typescript
client.svm.withSysvars();

// Now you can access sysvars
const clock = client.svm.getClock();
const rent = client.svm.getRent();
```

### withBuiltins

```typescript
withBuiltins(): LiteSVM
```

Enable built-in programs (ed25519, secp256k1 signature verification).

```typescript
client.svm.withBuiltins();
```

### withPrecompiles

```typescript
withPrecompiles(): LiteSVM
```

Enable precompiled programs.

```typescript
client.svm.withPrecompiles();
```

### withDefaultPrograms

```typescript
withDefaultPrograms(): LiteSVM
```

Add default programs (System Program, BPF Loader, etc.).

```typescript
client.svm.withDefaultPrograms();
```

## Resource Limits

### withLamports

```typescript
withLamports(lamports: bigint): LiteSVM
```

Set default lamports for accounts.

```typescript
client.svm.withLamports(1_000_000_000n); // 1 SOL
```

### withLogBytesLimit

```typescript
withLogBytesLimit(limit?: bigint): LiteSVM
```

Set the log output byte limit.

```typescript
client.svm.withLogBytesLimit(10000n);
```

### withTransactionHistory

```typescript
withTransactionHistory(capacity: bigint): LiteSVM
```

Enable transaction history storage.

```typescript
// Store last 100 transactions
client.svm.withTransactionHistory(100n);
```

## Feature Sets

### withFeatureSet

```typescript
withFeatureSet(featureSet: FeatureSet): LiteSVM
```

Configure the feature set for testing specific Solana versions.
