Getting Started
To get started with SEDA FAST, contact the SEDA team via Discord to request access.
During onboarding, You'll receive an API key along with your account configuration (execution parameters, credit allocation, and Data Proxy access). The SEDA team is available to assist with setup and answer any questions about tailoring the configuration to your use case.
Your API key is a bearer token that looks like this:
fast_main_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAlways keep API keys secure — they provide access to your account and credits.
Prerequisites
Before making your first request, ensure you have:
Your API key (provided by the SEDA team during onboarding)
An Oracle Program deployed on the SEDA blockchain
If you don't have one yet, refer to the SEDA Core documentation for instructions on creating and deploying Oracle Programs. You'll need the Program ID to make execution requests.
Your First Requests
Once you have your API key and Oracle Program ID, you can make your first request to SEDA FAST.
Basic Example (cURL):
curl -X GET "https://fast-api.seda.xyz/execute?execProgramId=YOUR_PROGRAM_ID&execInputs=YOUR_INPUTS" \\
-H "Authorization: Bearer YOUR_API_KEY"Javascript Example:
const response = await fetch(
'https://fast-api.seda.xyz/execute?execProgramId=YOUR_PROGRAM_ID&execInputs=YOUR_INPUTS',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);Understanding the Response
A successful response includes:
{
"_tag": "ExecuteResponse",
"data": {
"id": "4662b513-d7a1-4eb0-b6aa-7164a5e863e0",
"dataRequest": {
"consensusFilter": "00",
"execGasLimit": "300000000000000",
"execInputs": "35343738322d3239",
"execProgramId": "85975ef3a54e8db6b017a75b4027e14277a1518337ec00e353c8e2bf6d2b4556",
"gasPrice": "0",
"memo": "",
"replicationFactor": 1,
"tallyGasLimit": "50000000000000",
"tallyInputs": "",
"tallyProgramId": "85975ef3a54e8db6b017a75b4027e14277a1518337ec00e353c8e2bf6d2b4556",
"version": "0.0.1"
},
"dataResult": {
"drId": "d5306d2c64366db786dd03a6e73f694c36a6c076ec21670b7c5f8e6c4532a12c",
"gasUsed": "29136976762500",
"blockHeight": "0",
"blockTimestamp": "1761675002786",
"consensus": true,
"exitCode": 0,
"version": "0.0.1",
"result": "000000000000000000000000000000000000000000000000000000000007564d",
"paybackAddress": "",
"sedaPayload": ""
},
"signature": "bf508ac6a8d3d5ed0034cfaa607253eb49a2a616c276cf402e1bc897b6b1edb63f59cb5481c5891bd7d867942499e6b9117b957267d5ceb0726e57e12d29b99200",
"result": "0x000000000000000000000000000000000000000000000000000000000007564d"
}
}Key fields:
id- Unique identifier for this execution requestdataRequest- Details of the Oracle Program execution request (program IDs, inputs, gas limits)dataResult.result- The hex-encoded final result from the Oracle ProgramdataResult.exitCode- 0 indicates success, non-zero indicates an errordataResult.gasUsed- Total gas consumed during executiondataResult.drId- Unique identifier for this data requestsignature- Cryptographic signature for verificationresult- Convenient top-level access to the result (same as dataResult.result)
Basic Error Handling
SEDA FAST uses standard HTTP status codes to indicate success or failure. Always check the response status before processing the data. Common error codes include insufficient credits (403), invalid API keys (401), and program execution failures.
Javascript example:
const response = await fetch(url, { headers });
if (!response.ok) {
switch (response.status) {
case 401:
console.error('Invalid API key');
break;
case 403:
console.error('Insufficient credits');
break;
case 404:
console.error('Oracle Program not found');
break;
case 429:
console.error('Credit limit exceeded');
break;
default:
console.error('Request failed:', response.status);
}
return;
}
const data = await response.json();
// Check execution result
if (data.data.dataResult.exitCode !== 0) {
console.error('Oracle Program execution failed');
// Check data.data.execute.stderr for error details
}Even when the HTTP request succeeds (status 200), the Oracle Program itself may fail during execution. Always check the exitCode field, a non-zero value indicates the program encountered an error.
When debugging failures, the response can include additional fields like "stderr" and "stdout" to help identify the issue (use the includeDebugInfo parameter to enable these).
For a complete list of error codes and their meanings, see the Error Codes section in the API Reference.
Last updated
Was this helpful?

