# Getting Started

## SEDA for Onchain Agents: Getting Started

This is the canonical starting point for AI agents (and non-coders) building on SEDA.

Design goals:

* Explicit decision tree
* Copy/paste commands
* Validation checkpoints after every step
* No guessing: if a value is not in docs or config, stop and ask

### What SEDA is (agent-relevant)

SEDA enables deterministic oracle logic as **Oracle Programs** (WASM) that fetch, transform, validate, and finalize offchain data for verifiable use.

Core primitives:

* **Oracle Program**: deterministic policy + transform logic compiled to WASM and deployed to the SEDA Network.
* **Data Proxy**: middleware for private/proprietary APIs. Holds secrets, enforces proof headers, and can sign responses.
* **Delivery methods**:
  * **SEDA Fast**: API-first execution for low-latency access to Oracle Programs.
  * **SEDA Core**: onchain data request lifecycle (execution + tally phases, consensus, finalization).
* **Prover contracts**: deployed to EVM networks to post/retrieve results and enable onchain consumption.

### Start here: the SEDA build loop

SEDA’s official high-level loop:

1. Define your data source
2. Build or access an Oracle Program
3. Define your delivery method

This guide turns that loop into an agent-safe runbook.

***

### Decision tree (do not skip)

#### Step 1: Define your data source

Choose **one**:

1. **Supported feed already exists**

* Go to: `modules/10-data-access.md` (Supported feeds path)

2. **Public API**

* Go to: `modules/10-data-access.md` (Public API path)
* Then read timeout defaults: `modules/12-http-fetch-timeouts.md`

3. **Private API / proprietary data**

* You almost always need a Data Proxy to keep secrets out of Oracle Programs.
* Go to: `modules/10-data-access.md` (Private API path), then `modules/25-data-proxy.md`

4. **Website-only (no API)**

* Treat as private/proprietary behind a proxy route (or a website-to-API service).
* Go to: `modules/10-data-access.md`, then `modules/25-data-proxy.md`

#### Step 2: Build or access an Oracle Program

Choose **one**:

A) **Execute an existing Oracle Program**

* If using Fast: go to `modules/40-execute-fast.md`
* If using Core: go to `modules/50-execute-core.md` (execution section)

B) **Build your own Oracle Program**

* Go to `modules/20-build-op.md` (build + local test)
* Then deploy:
  * Wallet + tokens: `modules/30-wallet-and-tokens.md`
  * Core deploy + Data Request post: `modules/50-execute-core.md`

#### Step 3: Choose delivery method

**A) SEDA Fast**

Fast is an API-first execution surface.

Fast requires:

* a Fast API key (for execution)
* an existing **Oracle Program ID** (because the Oracle Program must already be deployed to the SEDA Network)

**Important:**

* Executing an existing Oracle Program on Fast requires only a Fast API key.
* **Deploying a new Oracle Program (so you can execute it on Fast) still requires a wallet + SEDA tokens**, because Oracle Programs are deployed to the SEDA Network.

Go to:

* `modules/40-execute-fast.md`
* If you need to deploy first: `modules/30-wallet-and-tokens.md` + `modules/50-execute-core.md` (deploy step)

**B) SEDA Core**

Core uses an onchain request lifecycle.

Go to:

* Wallet + tokens: `modules/30-wallet-and-tokens.md`
* Deploy + post Data Request: `modules/50-execute-core.md`

#### Step 4: If you need onchain consumption (EVM)

* Select prover address: `modules/60-prover-deployments.md`
* Hardhat integration runbook: `modules/60-relay-evm-hardhat.md`

***

### Recommended “happy path” for agents

1. `modules/10-data-access.md`
2. If needed: `modules/25-data-proxy.md`
3. `modules/20-build-op.md` (build + local tests)
4. `modules/30-wallet-and-tokens.md`
5. `modules/50-execute-core.md` (deploy + post-dr)
6. Optional: `modules/40-execute-fast.md` (Fast execute)
7. Optional: `modules/60-prover-deployments.md` + `modules/60-relay-evm-hardhat.md`

***

### Canonical links

* Introduction to SEDA: <https://docs.seda.xyz/home>
* Define your Data Source: <https://docs.seda.xyz/home/for-developers/define-your-data-source>
* Operating a Data Proxy: <https://docs.seda.xyz/home/for-data-providers/operating-a-data-proxy>
* Build or Access Oracle Programs: <https://docs.seda.xyz/home/for-developers/build-or-access-oracle-programs>
* Define your Delivery Method: [htt](#seda-for-onchain-agents-getting-started)ps\://docs.seda.xyz/home/for-developers/define-your-delivery-method
* SEDA Fast: <https://docs.seda.xyz/home/for-developers/define-your-delivery-method/seda-fast>
* SEDA Core: <https://docs.seda.xyz/home/for-developers/define-your-delivery-method/seda-core>
* Access SEDA tokens: <https://docs.seda.xyz/home/token-overview/access-and-delegate-seda-token>
* Faucet: <https://testnet.explorer.seda.xyz/faucet>
* Prover deployments: <https://docs.seda.xyz/home/for-developers/define-your-delivery-method/seda-core/seda-core-infrastructure-overview/prover-contract-deployments#seda-prover-contracts>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.seda.xyz/home/for-agents/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
