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

# avalanche_c.logs_decoded

> ABI-decoded event logs on Avalanche C-Chain — human-readable event names and parsed parameters from verified contracts.

export const TableSample = ({tableName, tableSchema}) => <>
    <div className="hidden dark:block">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}&darkMode=true`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
    <div className="dark:hidden">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
  </>;

export const LogsDecodedSnippet = ({blockchain, tableSchema = blockchain, hasDecodedJson = false}) => <div>
    <h2>Table Description</h2>
    <p>
      The <code>logs_decoded</code> table contains decoded logs from {blockchain} transactions — that is, only logs emitted by contracts whose ABI has been registered with Dune. The table matches <code>topic0</code> to the event signature and the corresponding event name.
      {hasDecodedJson ? <> On {blockchain}, this table also exposes the full event payload via the <code>decoded_json</code> column, so you can read every event parameter directly from this table without joining the per-event tables described in <a href={`/data-catalog/evm/${blockchain}/decoded/event-logs`}>Event Logs</a>.</> : <> The table does not contain the full event data and is not suitable for analysis of smart contract level data. For that, use the specific event tables as described in <a href={`/data-catalog/evm/${blockchain}/decoded/event-logs`}>Event Logs</a>.</>}
    </p>
    <Note>
      <strong>Coverage is limited to decoded contracts.</strong> Logs from contracts whose ABI has not been submitted to Dune do not appear in this table at all (the rows are missing, not just empty). If a contract you care about is not decoded yet, anyone can <a href="/web-app/decoding/decoding-contracts">submit it for decoding</a> — once accepted, its logs start showing up here automatically.
    </Note>
    <p>
      This table is great for gaining a high level understanding of the types of events that are being emitted by a smart contract or smart contracts of a certain protocol.
    </p>
    {hasDecodedJson ? <Info>
        <strong>{tableSchema}.logs_decoded includes the <code>decoded_json</code> column.</strong> Each row contains the fully decoded event parameters as a JSON object (parameter name → value), so you can read event payloads on this chain directly without joining the per-event tables. Because the table only contains logs from decoded contracts, <code>decoded_json</code> is populated for every row.
      </Info> : <Tip>
        <strong>Need <code>decoded_json</code> on {blockchain}?</strong> Some chains expose a <code>decoded_json</code> column on <code>logs_decoded</code> that contains the full event payload as JSON, removing the need to join the per-event tables. We can enable it for {blockchain} on request — reach out via the <a href="https://dune.com/enterprise#contact-form">Dune enterprise contact form</a>.
      </Tip>}
    <h2>Column Descriptions</h2>
    <table>
      <thead><tr><th>Column</th><th>Type</th><th>Description</th></tr></thead>
      <tbody>
        <tr><td><code>block_date</code></td><td><code>date</code></td><td>Date of the block (UTC)</td></tr>
        <tr><td><code>block_time</code></td><td><code>timestamp</code></td><td>Timestamp of the block containing this log</td></tr>
        <tr><td><code>block_number</code></td><td><code>bigint</code></td><td>Block number containing this log</td></tr>
        <tr><td><code>namespace</code></td><td><code>varchar</code></td><td>Project namespace (e.g., uniswap_v3)</td></tr>
        <tr><td><code>contract_name</code></td><td><code>varchar</code></td><td>Name of the contract that emitted the event</td></tr>
        <tr><td><code>contract_address</code></td><td><code>varbinary</code></td><td>Address of the contract that emitted the event</td></tr>
        <tr><td><code>tx_hash</code></td><td><code>varbinary</code></td><td>Hash of the transaction containing this log</td></tr>
        <tr><td><code>tx_from</code></td><td><code>varbinary</code></td><td>Address that initiated the transaction</td></tr>
        <tr><td><code>tx_to</code></td><td><code>varbinary</code></td><td>Address the transaction was sent to</td></tr>
        <tr><td><code>tx_index</code></td><td><code>integer</code></td><td>Position of the transaction within the block</td></tr>
        <tr><td><code>index</code></td><td><code>integer</code></td><td>Position of the log within the block</td></tr>
        <tr><td><code>signature</code></td><td><code>varbinary</code></td><td>Event signature hash (topic0)</td></tr>
        <tr><td><code>event_name</code></td><td><code>varchar</code></td><td>Decoded name of the event</td></tr>
        {hasDecodedJson && <tr><td><code>decoded_json</code></td><td><code>varchar</code></td><td>Full event parameters as a JSON object (parameter name → value). Populated for every row, since the table only contains logs from decoded contracts.</td></tr>}
        <tr><td><code>created_at</code></td><td><code>timestamp</code></td><td>When this record was created in Dune</td></tr>
      </tbody>
    </table>
    <h2>Table Sample</h2>
    <TableSample tableSchema={tableSchema} tableName="logs_decoded" />
  </div>;

<LogsDecodedSnippet blockchain="avalanche" tableSchema="avalanche_c" hasDecodedJson />
