Linea Postman configuration reference
These are environment variables for Postman deployments. Their presence does not indicate that changing them is recommended or supported for every deployment. Verify their applicability against the relevant release and deployment guidance. Secret and endpoint variables (RPC URLs, private keys, contract addresses, database passwords, signer endpoints) are listed by name only, never with live values.
Defaults are literal fallbacks defined in the Postman source (envLoader.ts). Placeholders such as empty strings or 0x are omitted from the Default column. These are not recommended production settings and may be overridden by deployment configuration. .env / .env.sample files are never used as the source of defaults.
This reference lists Linea Postman environment variables, grouped by section. Variable names and defaults come from envLoader.ts; descriptions and types come from Zod .describe() on schema.ts.
Generated from LFDT-Lineth/lineth-monorepo@1162c2b62.
Env vars may differ in other Postman releases.
General
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
L1_L2_AUTO_CLAIM_ENABLED | When true, automatically claim L1→L2 messages | false | boolean | required |
L2_L1_AUTO_CLAIM_ENABLED | When true, automatically claim L2→L1 messages | false | boolean | required |
LOG_LEVEL | Log level for the Winston logger | info | string | optional |
L1 network
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
L1_CONTRACT_ADDRESS | Address of the message service contract on this network | — | address | required |
L1_L2_CALLDATA_ENABLED | When true, process and claim messages that carry calldata | false | boolean | optional |
L1_L2_EOA_ENABLED | When true, process and claim EOA (empty calldata) messages | false | boolean | optional |
L1_RPC_URL | JSON-RPC endpoint URL for the network node | — | string (url) | required |
L2 network
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
ENABLE_LINEA_ESTIMATE_GAS | When true, use Linea's linea_estimateGas endpoint for L2 gas fee estimation | false | boolean | optional |
L2_CONTRACT_ADDRESS | Address of the message service contract on this network | — | address | required |
L2_L1_CALLDATA_ENABLED | When true, process and claim messages that carry calldata | false | boolean | optional |
L2_L1_EOA_ENABLED | When true, process and claim EOA (empty calldata) messages | false | boolean | optional |
L2_MESSAGE_TREE_DEPTH | Depth of the L2 message Merkle tree | — | number (positive) | optional |
L2_RPC_URL | JSON-RPC endpoint URL for the network node | — | string (url) | required |
Listener
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
L1_EVENT_FILTER_CALLDATA | Filtrex expression used to filter MessageSent events by decoded calldata | — | string | optional; requires both CALLDATA and CALLDATA_FUNCTION_INTERFACE |
L1_EVENT_FILTER_CALLDATA_FUNCTION_INTERFACE | Solidity function interface used to decode calldata (e.g. "function transfer(address to, uint256 amount)") | — | string | optional; requires both CALLDATA and CALLDATA_FUNCTION_INTERFACE |
L1_EVENT_FILTER_FROM_ADDRESS | Only process MessageSent events with this from address | — | address | optional; eventFilters object included only when any filter is set |
L1_EVENT_FILTER_TO_ADDRESS | Only process MessageSent events with this to address | — | address | optional; eventFilters object included only when any filter is set |
L1_LISTENER_BLOCK_CONFIRMATION | Number of block confirmations required before processing an event | — | number (nonnegative) | optional; included only when parseInt(value) >= 0 |
L1_LISTENER_INITIAL_FROM_BLOCK | Starting block for event listening (-1 = latest/resume from DB, 0 = genesis, or a specific block number) | — | number | optional; included only when parseInt(value) >= 0 |
L1_LISTENER_INTERVAL | Interval in ms between block/event polling cycles | — | number (positive) | optional |
L1_LISTENER_RECEIPT_POLLING_INTERVAL | Interval in ms between transaction receipt polling attempts | — | number (positive) | optional |
L1_MAX_BLOCKS_TO_FETCH_LOGS | Maximum number of blocks to request logs for in a single eth_getLogs call | — | number (positive) | optional |
L2_EVENT_FILTER_CALLDATA | Filtrex expression used to filter MessageSent events by decoded calldata | — | string | optional; requires both CALLDATA and CALLDATA_FUNCTION_INTERFACE |
L2_EVENT_FILTER_CALLDATA_FUNCTION_INTERFACE | Solidity function interface used to decode calldata (e.g. "function transfer(address to, uint256 amount)") | — | string | optional; requires both CALLDATA and CALLDATA_FUNCTION_INTERFACE |
L2_EVENT_FILTER_FROM_ADDRESS | Only process MessageSent events with this from address | — | address | optional; eventFilters object included only when any filter is set |
L2_EVENT_FILTER_TO_ADDRESS | Only process MessageSent events with this to address | — | address | optional; eventFilters object included only when any filter is set |
L2_LISTENER_BLOCK_CONFIRMATION | Number of block confirmations required before processing an event | — | number (nonnegative) | optional; included only when parseInt(value) >= 0 |
L2_LISTENER_INITIAL_FROM_BLOCK | Starting block for event listening (-1 = latest/resume from DB, 0 = genesis, or a specific block number) | — | number | optional; included only when parseInt(value) >= 0 |
L2_LISTENER_INTERVAL | Interval in ms between block/event polling cycles | — | number (positive) | optional |
L2_LISTENER_RECEIPT_POLLING_INTERVAL | Interval in ms between transaction receipt polling attempts | — | number (positive) | optional |
L2_MAX_BLOCKS_TO_FETCH_LOGS | Maximum number of blocks to request logs for in a single eth_getLogs call | — | number (positive) | optional |
MAX_FETCH_MESSAGES_FROM_DB | Maximum number of messages to fetch from the database per batch | — | number (positive) | optional |
Claiming
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
GAS_ESTIMATION_PERCENTILE | Percentile (0–100) used when estimating gas fees from recent blocks | — | number (min 0, max 100) | optional |
L1_CLAIM_VIA_ADDRESS | Optional proxy/router address to call when submitting claim transactions | — | address | optional |
L1_L2_ENABLE_POSTMAN_SPONSORING | When true, the Postman sponsors gas for eligible zero-fee claim transactions | false | boolean | optional |
L1_MAX_GAS_FEE_ENFORCED | When true, reject claims whose estimated fee exceeds maxFeePerGasCap | false | boolean | optional |
L2_CLAIM_VIA_ADDRESS | Optional proxy/router address to call when submitting claim transactions | — | address | optional |
L2_L1_ENABLE_POSTMAN_SPONSORING | When true, the Postman sponsors gas for eligible zero-fee claim transactions | false | boolean | optional |
L2_MAX_GAS_FEE_ENFORCED | When true, reject claims whose estimated fee exceeds maxFeePerGasCap | false | boolean | optional |
MAX_BUMPS_PER_CYCLE | Maximum number of gas-fee bumps allowed within a single retry cycle | — | number (nonnegative) | optional |
MAX_CLAIM_GAS_LIMIT | Maximum gas limit allowed for a claim transaction | — | bigint (positive) | optional |
MAX_FEE_PER_GAS_CAP | Maximum maxFeePerGas (wei) allowed for claim transactions | — | bigint (positive) | optional |
MAX_NONCE_DIFF | Maximum allowed difference between the database nonce and the on-chain nonce | — | number (positive) | optional |
MAX_NUMBER_OF_RETRIES | Maximum number of claim submission retries before giving up a cycle | — | number (nonnegative) | optional |
MAX_POSTMAN_SPONSOR_GAS_LIMIT | Maximum gas limit for Postman-sponsored claim transactions | — | bigint (positive) | optional |
MAX_RETRY_CYCLES | Maximum number of full claim retry cycles before marking the message as failed | — | number (nonnegative) | optional |
MESSAGE_SUBMISSION_TIMEOUT | Timeout in ms waiting for a submitted claim transaction to be mined | — | number (positive) | optional |
PROFIT_MARGIN | Minimum profit margin required before claiming a fee-paying message | — | number (nonnegative) | optional |
RETRY_DELAY_IN_SECONDS | Delay in seconds between claim retry attempts | — | number (positive) | optional |
Signer
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
L1_AWS_KMS_KEY_ID | AWS KMS key ID or ARN used for signing | — | string | optional; used when L1_SIGNER_TYPE is "aws-kms" |
L1_AWS_KMS_REGION | AWS region of the KMS key (falls back to default SDK region) | — | string | optional; included only when set (aws-kms) |
L1_SIGNER_PRIVATE_KEY | Hex-encoded 32-byte private key used to sign transactions | — | hex private key (32 bytes) | optional; used when L1_SIGNER_TYPE is "private-key" |
L1_SIGNER_TYPE | Signer backend type: "private-key" (local key), "web3signer" (remote), or "aws-kms" | private-key | string (private-key|web3signer|aws-kms) | required; allowed: private-key|web3signer|aws-kms |
L1_WEB3_SIGNER_ENDPOINT | Web3Signer HTTP(S) endpoint URL | — | string | optional; used when L1_SIGNER_TYPE is "web3signer" |
L1_WEB3_SIGNER_PUBLIC_KEY | Public key of the Web3Signer signing account | — | hex string | optional; used when L1_SIGNER_TYPE is "web3signer" |
L1_WEB3_SIGNER_TLS_KEYSTORE_PASSWORD | Password for the Web3Signer client keystore | — | string | optional; included with TLS object |
L1_WEB3_SIGNER_TLS_KEYSTORE_PATH | Path to the PKCS12 client keystore used for mTLS with Web3Signer | — | string | optional; TLS object included only when this path is set |
L1_WEB3_SIGNER_TLS_TRUSTSTORE_PASSWORD | Password for the Web3Signer truststore | — | string | optional; included with TLS object |
L1_WEB3_SIGNER_TLS_TRUSTSTORE_PATH | Path to the PKCS12 truststore used to verify the Web3Signer server | — | string | optional; included with TLS object |
L2_AWS_KMS_KEY_ID | AWS KMS key ID or ARN used for signing | — | string | optional; used when L2_SIGNER_TYPE is "aws-kms" |
L2_AWS_KMS_REGION | AWS region of the KMS key (falls back to default SDK region) | — | string | optional; included only when set (aws-kms) |
L2_SIGNER_PRIVATE_KEY | Hex-encoded 32-byte private key used to sign transactions | — | hex private key (32 bytes) | optional; used when L2_SIGNER_TYPE is "private-key" |
L2_SIGNER_TYPE | Signer backend type: "private-key" (local key), "web3signer" (remote), or "aws-kms" | private-key | string (private-key|web3signer|aws-kms) | required; allowed: private-key|web3signer|aws-kms |
L2_WEB3_SIGNER_ENDPOINT | Web3Signer HTTP(S) endpoint URL | — | string | optional; used when L2_SIGNER_TYPE is "web3signer" |
L2_WEB3_SIGNER_PUBLIC_KEY | Public key of the Web3Signer signing account | — | hex string | optional; used when L2_SIGNER_TYPE is "web3signer" |
L2_WEB3_SIGNER_TLS_KEYSTORE_PASSWORD | Password for the Web3Signer client keystore | — | string | optional; included with TLS object |
L2_WEB3_SIGNER_TLS_KEYSTORE_PATH | Path to the PKCS12 client keystore used for mTLS with Web3Signer | — | string | optional; TLS object included only when this path is set |
L2_WEB3_SIGNER_TLS_TRUSTSTORE_PASSWORD | Password for the Web3Signer truststore | — | string | optional; included with TLS object |
L2_WEB3_SIGNER_TLS_TRUSTSTORE_PATH | Path to the PKCS12 truststore used to verify the Web3Signer server | — | string | optional; included with TLS object |
Database
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
POSTGRES_DB | postman_db | optional | ||
POSTGRES_HOST | — | optional | ||
POSTGRES_PASSWORD | — | optional | ||
POSTGRES_PORT | 5432 | number | optional | |
POSTGRES_SSL | false | boolean | optional; when "true", ssl object is included | |
POSTGRES_SSL_CA_PATH | — | optional; only when POSTGRES_SSL=true | ||
POSTGRES_SSL_REJECT_UNAUTHORIZED | false | boolean | optional; only when POSTGRES_SSL=true | |
POSTGRES_USER | — | optional |
Database cleaner
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
DB_CLEANER_ENABLED | When true, periodically delete old claimed/finalized messages from the database | false | boolean | required |
DB_CLEANING_INTERVAL | Interval in ms between database cleaning runs | — | number (positive) | optional |
DB_DAYS_BEFORE_NOW_TO_DELETE | Retain finalized messages for this many days before deleting them | — | number (positive) | optional |
API
| Env var | Description | Default | Type | Required |
|---|---|---|---|---|
API_PORT | TCP port for the Express API exposing metrics and health endpoints | — | number (int, positive, max 65535) | optional |