Documentation
v0.1.0 · Testnet

StellarFlow Documentation

Everything you need to build, deploy, and operate multi-agent financial workflows on Stellar.

Getting Started

Install StellarFlow, fund a testnet account, and run your first workflow in under 5 minutes.

  • Installation
  • Configuration
  • Hello World Workflow
  • Running on Testnet

Workflow DSL

Learn the YAML workflow definition language — steps, agents, transitions, and parameters.

  • Workflow Schema
  • Step Definition
  • Transition Conditions
  • Hot-Reload

Agent SDK

Build custom agents by extending BaseAgent and register them with the orchestrator.

  • BaseAgent Interface
  • StepContext & StepResult
  • registerAgent()
  • Custom Agent Tutorial

API Reference

Full REST API documentation with request/response schemas and curl examples.

  • POST /api/workflows/run
  • GET /api/workflows/:runId/status
  • GET /api/agents
  • GET /health

Quick Start

1
Clone & install
git clone https://github.com/your-org/stellarflow
cd stellarflow
npm install
2
Configure environment
cp .env.example .env
# Edit .env with your Stellar testnet keypair
3
Run locally
npm run dev
# Visit http://localhost:3000
4
Trigger your first workflow
curl -X POST http://localhost:3000/api/workflows/run \
  -H "Content-Type: application/json" \
  -d '{"workflow": "vendor-payment-pipeline", "inputs": {"invoice_id": "INV-001", "amount": "100", "vendor_stellar_address": "GTEST...", "currency": "USDC"}}'

API Reference

Trigger a workflow run

curl -X POST https://your-app.vercel.app/api/workflows/run \
  -H "Content-Type: application/json" \
  -d '{
    "workflow": "vendor-payment-pipeline",
    "inputs": {
      "invoice_id": "INV-2025-001",
      "vendor_stellar_address": "GVENDOR...",
      "amount": "4500.00",
      "currency": "USDC"
    }
  }'

Check run status

curl https://your-app.vercel.app/api/workflows/run_01J2XZ8K.../status

Get on-chain audit trail

curl https://your-app.vercel.app/api/workflows/run_01J2XZ8K.../audit

List all agents

curl https://your-app.vercel.app/api/agents

Building a Custom Agent

my-custom-agent.ts
import { BaseAgent, StepContext, StepResult, registerAgent } from "@stellarflow/sdk"

export class SlackNotificationAgent extends BaseAgent {
  constructor() {
    super("SlackNotificationAgent")
  }

  async execute(ctx: StepContext): Promise<StepResult> {
    const webhookUrl = ctx.params.slackWebhookUrl as string

    await fetch(webhookUrl, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        text: `✅ Workflow ${ctx.workflowName} step ${ctx.stepId} completed`,
      }),
    })

    return {
      status: "success",
      metadata: { notifiedAt: new Date().toISOString() },
    }
  }
}

// Register once at startup
registerAgent("SlackNotificationAgent", SlackNotificationAgent)

Contributing via Drips Wave

StellarFlow is a Drips Wave maintainer on the Stellar ecosystem. There are 100 open issues — Trivial, Medium, and High complexity — each with a point bounty. Resolve issues, merge PRs, and earn USDC rewards from the Stellar Development Foundation.