Submit a Atlantic query
curl --request POST \
--url https://atlantic.api.herodotus.cloud/atlantic-query \
--header 'Content-Type: multipart/form-data' \
--header 'api-key: <api-key>' \
--form externalId= \
--form dedupId=null \
--form sharpProver=stone \
--form layout=auto \
--form cairoVm=rust \
--form cairoVersion=cairo0 \
--form result=PROOF_GENERATION \
--form mockFactHash=false \
--form network=TESTNET \
--form programHash= \
--form programFile='@example-file' \
--form inputFile='@example-file' \
--form pieFile='@example-file' \
--form proofFile='@example-file' \
--form bucketId= \
--form bucketJobIndex=nullimport requests
url = "https://atlantic.api.herodotus.cloud/atlantic-query"
files = {
"programFile": ("example-file", open("example-file", "rb")),
"inputFile": ("example-file", open("example-file", "rb")),
"pieFile": ("example-file", open("example-file", "rb")),
"proofFile": ("example-file", open("example-file", "rb"))
}
payload = {
"externalId": "",
"dedupId": "null",
"sharpProver": "stone",
"layout": "auto",
"cairoVm": "rust",
"cairoVersion": "cairo0",
"result": "PROOF_GENERATION",
"mockFactHash": "false",
"network": "TESTNET",
"programHash": "",
"bucketId": "",
"bucketJobIndex": "null"
}
headers = {"api-key": "<api-key>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('externalId', '');
form.append('dedupId', 'null');
form.append('sharpProver', 'stone');
form.append('layout', 'auto');
form.append('cairoVm', 'rust');
form.append('cairoVersion', 'cairo0');
form.append('result', 'PROOF_GENERATION');
form.append('mockFactHash', 'false');
form.append('network', 'TESTNET');
form.append('programHash', '');
form.append('programFile', '<string>');
form.append('inputFile', '<string>');
form.append('pieFile', '<string>');
form.append('proofFile', '<string>');
form.append('bucketId', '');
form.append('bucketJobIndex', 'null');
const options = {method: 'POST', headers: {'api-key': '<api-key>'}};
options.body = form;
fetch('https://atlantic.api.herodotus.cloud/atlantic-query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://atlantic.api.herodotus.cloud/atlantic-query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Content-Type: multipart/form-data",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://atlantic.api.herodotus.cloud/atlantic-query"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://atlantic.api.herodotus.cloud/atlantic-query")
.header("api-key", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://atlantic.api.herodotus.cloud/atlantic-query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"atlanticQueryId": "<string>"
}{}{
"message": "INVALID_API_KEY"
}{
"paymentRequired": {
"x402Version": 2,
"accepts": [
{
"scheme": "exact",
"network": "<string>",
"asset": "<string>",
"payTo": "<string>",
"amount": "<string>",
"resource": "<string>",
"mimeType": "<string>",
"statement": "<string>",
"maxTimeoutSeconds": 123,
"extra": {}
}
],
"error": "<string>"
},
"paymentRequiredHeader": "<string>"
}{
"message": "BUCKET_NOT_FOUND"
}{}Endpoints
Submit query
Submit a Cairo program for STARK proof generation and optional on-chain verification via Atlantic API
POST
/
atlantic-query
Submit a Atlantic query
curl --request POST \
--url https://atlantic.api.herodotus.cloud/atlantic-query \
--header 'Content-Type: multipart/form-data' \
--header 'api-key: <api-key>' \
--form externalId= \
--form dedupId=null \
--form sharpProver=stone \
--form layout=auto \
--form cairoVm=rust \
--form cairoVersion=cairo0 \
--form result=PROOF_GENERATION \
--form mockFactHash=false \
--form network=TESTNET \
--form programHash= \
--form programFile='@example-file' \
--form inputFile='@example-file' \
--form pieFile='@example-file' \
--form proofFile='@example-file' \
--form bucketId= \
--form bucketJobIndex=nullimport requests
url = "https://atlantic.api.herodotus.cloud/atlantic-query"
files = {
"programFile": ("example-file", open("example-file", "rb")),
"inputFile": ("example-file", open("example-file", "rb")),
"pieFile": ("example-file", open("example-file", "rb")),
"proofFile": ("example-file", open("example-file", "rb"))
}
payload = {
"externalId": "",
"dedupId": "null",
"sharpProver": "stone",
"layout": "auto",
"cairoVm": "rust",
"cairoVersion": "cairo0",
"result": "PROOF_GENERATION",
"mockFactHash": "false",
"network": "TESTNET",
"programHash": "",
"bucketId": "",
"bucketJobIndex": "null"
}
headers = {"api-key": "<api-key>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('externalId', '');
form.append('dedupId', 'null');
form.append('sharpProver', 'stone');
form.append('layout', 'auto');
form.append('cairoVm', 'rust');
form.append('cairoVersion', 'cairo0');
form.append('result', 'PROOF_GENERATION');
form.append('mockFactHash', 'false');
form.append('network', 'TESTNET');
form.append('programHash', '');
form.append('programFile', '<string>');
form.append('inputFile', '<string>');
form.append('pieFile', '<string>');
form.append('proofFile', '<string>');
form.append('bucketId', '');
form.append('bucketJobIndex', 'null');
const options = {method: 'POST', headers: {'api-key': '<api-key>'}};
options.body = form;
fetch('https://atlantic.api.herodotus.cloud/atlantic-query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://atlantic.api.herodotus.cloud/atlantic-query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Content-Type: multipart/form-data",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://atlantic.api.herodotus.cloud/atlantic-query"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://atlantic.api.herodotus.cloud/atlantic-query")
.header("api-key", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://atlantic.api.herodotus.cloud/atlantic-query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"externalId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"dedupId\"\r\n\r\nnull\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"sharpProver\"\r\n\r\nstone\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"layout\"\r\n\r\nauto\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVm\"\r\n\r\nrust\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"cairoVersion\"\r\n\r\ncairo0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"result\"\r\n\r\nPROOF_GENERATION\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"mockFactHash\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"network\"\r\n\r\nTESTNET\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programHash\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"programFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"inputFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pieFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"proofFile\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketId\"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bucketJobIndex\"\r\n\r\nnull\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"atlanticQueryId": "<string>"
}{}{
"message": "INVALID_API_KEY"
}{
"paymentRequired": {
"x402Version": 2,
"accepts": [
{
"scheme": "exact",
"network": "<string>",
"asset": "<string>",
"payTo": "<string>",
"amount": "<string>",
"resource": "<string>",
"mimeType": "<string>",
"statement": "<string>",
"maxTimeoutSeconds": 123,
"extra": {}
}
],
"error": "<string>"
},
"paymentRequiredHeader": "<string>"
}{
"message": "BUCKET_NOT_FOUND"
}{}Please use this endpoint through our Swagger UI!Sending it from these docs will not work because of a Mintlify (our documentation platform) issue with uploading files.
Authorizations
Query Parameters
Body
multipart/form-data
Smaller jobs are cheaper, however your job might fail if you choose a job size that is too small.
Available options:
XS, S, M, L The external id of the query, you can use it to track the query
The dedup id of the query
The prover to use for the proof generation
Available options:
stone, stwo Available options:
auto, plain, recursive, recursive_with_poseidon, recursive_large_output, all_solidity, all_cairo, dynamic, small, dex, starknet, starknet_with_keccak Available options:
rust, python Available options:
cairo0, cairo1 Describe what you want to achieve
Available options:
TRACE_GENERATION, PROOF_GENERATION, PROOF_VERIFICATION_ON_L1, PROOF_VERIFICATION_ON_L2, PROOF_VERIFICATION_ON_APE_CHAIN, PROOF_VERIFICATION_ON_WORLD_CHAIN Used for proof verification, if true, a fact hash will be mocked
Available options:
false, true Available options:
MAINNET, TESTNET Available options:
herodotus_evm_grower, herodotus_sn_grower To use the program you are interested in, you must first register it. Registration occurs when you upload the program file for the first time.
(Applicative Recursion) The id of the bucket you want to submit the query to
(Applicative Recursion) The index of the job inside the bucket
Response
Default Response
Was this page helpful?
⌘I

