Documentation
Core Concepts
Common Queries

Common Queries

By abstracting away the provider calls, Evolution library provides different methods to query on-chain data:

UTxOs (Unspent Transaction Outputs) are building blocks of Cardano's eUTxO model. A nuance from account-based models is that your wallet's balance is the sum of all UTxOs at your address.

const utxos = await lucid.utxosAt("addr_test...");

Provider capabilities

New provider observations are optional on the Provider interface so existing third-party providers remain source-compatible. Lucid throws a ProviderCapabilityError when the configured provider does not implement a requested optional capability.

Policy queries

Query all UTxOs at an address that contain any asset under a policy:

const utxos = await lucid.utxosAtWithPolicy(address, policyId);

Kupmios uses Kupo's native policy_id filter. Other providers use a portable, exact policy-prefix fallback over getUtxos.

Reward-account registration

Unlike delegationAt, reward-account state distinguishes an unregistered account from a registered, undelegated account with no rewards:

const account = await lucid.rewardAccountAt(rewardAddress);
// { registered: boolean, poolId: string | null, rewards: bigint }

delegationAt remains available for compatibility.

Transaction status and confirmation

const status = await lucid.transactionStatus(txHash, { signal });
 
const confirmation = await lucid.awaitTxConfirmation(txHash, {
  checkInterval: 3000,
  timeout: 120000,
  minimumConfirmations: 2,
  signal,
});

Status can be not_found, pending, failed, or confirmed. Confirmation metadata contains only observations the provider can truthfully supply, such as block hash, height, slot, or actual block-confirmation count. The original boolean awaitTx method remains available for compatibility. A provider that does not expose an actual confirmation count can satisfy the default inclusion wait, but a minimumConfirmations value greater than one will continue polling until the caller's timeout.