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 NameData TypeDescription
vk_hashbinaryVerification key hash for the proof request
requesterbinaryAddress of the application developer submitting the request
fulfiller_addressbinaryAddress of the prover that fulfilled the request
gas_pricebigintGas price for the request transaction
max_price_per_gasbigintMaximum price per gas unit the requester is willing to pay
gas_usedbigintGas used for the request transaction
gas_limitbigintGas limit for the request transaction
cyclesbigintNumber of computational cycles required for the proof
created_attimestampTimestamp when the request was submitted
fulfilled_attimestampTimestamp when the request was fulfilled
deadlinetimestampDeadline by which the proof must be generated
datedateDate when the request was submitted
tx_hashbinaryTransaction hash of the request submission
idbinaryUnique identifier for the proof request
senderbinaryAddress of the sender (may be different from requester)
base_feedecimal(38,0)Base fee for the transaction
min_auction_periodbigintMinimum auction period in seconds
_updated_attimestampLast update timestamp
_ingested_attimestampIngestion timestamp

Sample Query

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

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