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

# Configuration

# Overview

`.env` and `agent.toml` are both created by `cloud-agent onboard` — you typically don't write them from scratch. The tables below describe each field so you can tune an existing config.

# `.env `**— Environment Variables**

| **Variable**                     | **Description**                                                        | **Written by**`onboard` |
| :------------------------------- | :--------------------------------------------------------------------- | :---------------------- |
| `PARTY_AGENT`                    | Your Canton party ID                                                   | yes                     |
| `PARTY_AGENT_PRIVATE_KEY`        | Base58 Ed25519 private key (32-byte seed)                              | yes                     |
| `PARTY_AGENT_PUBLIC_KEY`         | Base58 Ed25519 public key (derived from the private key)               | yes                     |
| `ORDERBOOK_GRPC_URL`             | Orderbook gRPC endpoint                                                | yes                     |
| `CANTON_CHAIN`                   | `devnet` \| `testnet` \| `mainnet`                                     | yes                     |
| `SYNCHRONIZER_ID`                | Canton synchronizer ID                                                 | yes                     |
| `NODE_NAME`                      | Canton node name for routing                                           | yes                     |
| `LEDGER_SERVICE_PUBLIC_KEY`      | Base58 public key of the ledger service (for verifying responses)      | yes                     |
| `DSO`                            | DSO (Canton Coin admin) party ID                                       | yes                     |
| `PARTY_SETTLEMENT_OPERATOR`      | Settlement operator party ID                                           | yes                     |
| `PARTY_ORDERBOOK_FEE`            | Orderbook fee collection party                                         | yes                     |
| `PARTY_TRAFFIC_FEE`              | Sequencer traffic fee party                                            | yes                     |
| `TRAFFIC_FEE_PRICE_USD_MB`       | Traffic fee rate in USD per MB                                         | yes                     |
| `JOIN_TRAFFIC_TRANSACTIONS`      | Batch traffic-fee transactions (default: `true`)                       | yes                     |
| `AGENT_FEE_RESERVE_CC`           | CC balance held back for fees (default: `5.0`)                         | yes                     |
| `AGENT_FEE_CC`                   | Per-tx agent fee (CC)                                                  | yes                     |
| `PARTICIPANT_FEE_CC`             | Per-tx participant fee (CC)                                            | yes                     |
| `SIGNATURE_FEE_CC`               | Per-tx signature fee (CC)                                              | yes                     |
| `MERGE_THRESHOLD`                | Merge worker triggers when selectable amulets exceed this count        | yes                     |
| `MERGE_MAX_AMULETS`              | Max amulets merged per round (default: `100`)                          | yes                     |
| `MERGE_POLL_INTERVAL_SEC`        | Merge worker poll interval in seconds (default: `600`)                 | yes                     |
| `LOG_DESTINATION`                | `console` \| `file` (paired with `LOG_DIR`, `LOG_FILE_PREFIX`)         | yes                     |
| `RECURRING_PAYMENT_PACKAGE_NAME` | Recurring-payment package name; required for `subscription *` commands | yes                     |
| `SETTLEMENT_THREAD_COUNT`        | Concurrent settlement threads (default used when unset)                | no                      |
| `AGENT_MAX_SETTLEMENTS`          | Max active settlements (default used when unset)                       |                         |

#### `agent.toml `**— Agent Settings**

Full example for an LP with grid orders and RFQ:

<CodeGroup>
  ```ts .toml theme={null}
  role = "trader"
  auto_settle = true
  poll_interval_secs = 7
  token_ttl_secs = 3600
  connection_timeout_secs = 30

  # Liquidity provider identity (enables RFQ handling)
  [liquidity_provider]
  name = "My LP"
  max_concurrent_rfqs = 10
  default_quote_valid_secs = 60

  [[markets]]
  market_id = "CC-USDC"
  enabled = true
  price_change_threshold_percent = 0.1

  # 3 bids below mid (negative deltas)
  [[markets.bid_levels]]
  delta_percent = -0.015
  quantity = "10"
  [[markets.bid_levels]]
  delta_percent = -0.2
  quantity = "10"
  [[markets.bid_levels]]
  delta_percent = -0.3
  quantity = "10"

  # 3 offers above mid (positive deltas)
  [[markets.offer_levels]]
  delta_percent = 0.015
  quantity = "10"
  [[markets.offer_levels]]
  delta_percent = 0.2
  quantity = "10"
  [[markets.offer_levels]]
  delta_percent = 0.3
  quantity = "10"

  # RFQ configuration for this market
  [markets.rfq]
  enabled = true
  min_quantity = "5"
  max_quantity = "1000"
  bid_spread_percent = 0.5
  offer_spread_percent = 0.5
  quote_valid_secs = 60
  allocate_before_secs = 3600
  settle_before_secs = 7200
  ```
</CodeGroup>
