> ## 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.

# succinct.requests

> Succinct proof generation requests — proof type, input parameters, and submission details.

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>
  </>;

The `succinct.requests` table contains all proof requests submitted by application developers to the Succinct Network. Each request represents a demand for ZK proof generation, which provers can then bid on through the auction mechanism.

## Table Schema

| Column Name          | Data Type     | Description                                                 |
| -------------------- | ------------- | ----------------------------------------------------------- |
| vk\_hash             | binary        | Verification key hash for the proof request                 |
| requester            | binary        | Address of the application developer submitting the request |
| fulfiller\_address   | binary        | Address of the prover that fulfilled the request            |
| gas\_price           | bigint        | Gas price for the request transaction                       |
| max\_price\_per\_gas | bigint        | Maximum price per gas unit the requester is willing to pay  |
| gas\_used            | bigint        | Gas used for the request transaction                        |
| gas\_limit           | bigint        | Gas limit for the request transaction                       |
| cycles               | bigint        | Number of computational cycles required for the proof       |
| created\_at          | timestamp     | Timestamp when the request was submitted                    |
| fulfilled\_at        | timestamp     | Timestamp when the request was fulfilled                    |
| deadline             | timestamp     | Deadline by which the proof must be generated               |
| date                 | date          | Date when the request was submitted                         |
| tx\_hash             | binary        | Transaction hash of the request submission                  |
| id                   | binary        | Unique identifier for the proof request                     |
| sender               | binary        | Address of the sender (may be different from requester)     |
| base\_fee            | decimal(38,0) | Base fee for the transaction                                |
| min\_auction\_period | bigint        | Minimum auction period in seconds                           |
| \_updated\_at        | timestamp     | Last update timestamp                                       |
| \_ingested\_at       | timestamp     | Ingestion timestamp                                         |

## Sample Query

```sql theme={null}
-- Get the total number of requests and fulfillment rates by requester
SELECT 
    requester,
    COUNT(*) as total_requests,
    COUNT(CASE WHEN fulfiller_address IS NOT NULL THEN 1 END) as fulfilled_requests,
    COUNT(CASE WHEN fulfiller_address IS NOT NULL THEN 1 END) * 100.0 / COUNT(*) as fulfillment_rate
FROM succinct.requests
WHERE created_at >= NOW() - INTERVAL '30' DAY
GROUP BY requester
ORDER BY total_requests DESC
LIMIT 10;
```

## Sample Query

```sql theme={null}
-- Get request activity and gas usage over time
SELECT 
    DATE_TRUNC('day', created_at) as day,
    COUNT(*) as total_requests,
    AVG(gas_used) as avg_gas_used,
    SUM(gas_used) as total_gas_used
FROM succinct.requests
WHERE created_at >= NOW() - INTERVAL '7' DAY
GROUP BY DATE_TRUNC('day', created_at)
ORDER BY day DESC;
```
