Skip to main content
SDK
Wallet
SDK
FIND YOUR WAY
Wallet

Connect your wallet to build, save and manage SDKs.

Developer integration

One API. Every published SDK.

Integrate working SDKs into your applications through a single execution endpoint and universal client.

01

Start with an API key.

Create a key from your SDK account to authenticate execution requests. Keys belong to the authenticated account. Any account can create one. A key can run published SDKs, subject to the account limits below. Keep the secret private. It is displayed once, when the key is created.

Create API Key
02

Find something to build with.

Browse the Library, choose a published SDK and copy its SDK ID. Each SDK defines its own required inputs and returns a structured result.

Explore Library
03

Run your first SDK.

Send POST https://sdk.fund/api/v1/sdk/execute with Authorization: Bearer and your key. This example runs Prompt Architect, a published official SDK. version is optional. Omit it to run the latest published version, or set it to stay on one immutable version. The placeholder $SDK_API_KEY is not a real secret.

curl -X POST https://sdk.fund/api/v1/sdk/execute \
  -H "Authorization: Bearer $SDK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sdkId": "eeed73cd-1971-5212-b882-ee6d0104941e",
    "version": 1,
    "input": {
      "original_prompt": "write a tweet about wallets",
      "objective": "Explain one idea to a general reader.",
      "audience": "A non-technical reader",
      "output_format": "One short paragraph"
    }
  }'

A successful response includes status, output, sdkId, version, and contentHash. output is that SDK's structured result. contentHash identifies the blueprint that ran. status is SUCCESS, FAILED, REJECTED, or TIMEOUT. A failed request returns an error.code instead of that result.

04

One client. Every SDK.

The universal SDK client, sdk-universal-client, is a reusable interface for calling published SDKs. It is distributed from this repository at version 0.1.0 and is not published to the public NPM registry. Build the tarball from packages/sdk-client, then install that file in your project.

cd packages/sdk-client
npm run build
npm pack

Use https://sdk.fund as the production API base URL. For a local development server, set SDK_BASE_URL to http://127.0.0.1:3000.

import { SDKClient } from "sdk-universal-client";

const client = new SDKClient({
  apiKey: process.env.SDK_API_KEY ?? "",
  baseUrl: process.env.SDK_BASE_URL ?? "https://sdk.fund",
});

const result = await client.run({
  sdkId: "eeed73cd-1971-5212-b882-ee6d0104941e",
  version: 1,
  input: {
    original_prompt: "write a tweet about wallets",
    objective: "Explain one idea to a general reader.",
    audience: "A non-technical reader",
    output_format: "One short paragraph",
  },
});

result.output is the structured result. result.contentHash identifies the blueprint that ran. Failures throw SDKClientError with the same stable code as the HTTP API. The client does not retry a run. Pass signal to cancel.

05

Built for predictable integration.

Execution is not unlimited, and a request is not guaranteed to complete.

Error reference

missing_api_key
Send the API key as Authorization: Bearer.
invalid_api_key
The key is missing, malformed, or does not match an account.
revoked_api_key
The key was revoked and can no longer run SDKs.
sdk_not_found
That SDK ID does not exist.
sdk_unavailable
That SDK is not published.
version_not_found
That published version does not exist.
invalid_input
A required input is missing or does not match the SDK.
quota_exceeded
The account has used its 100 API executions for the UTC day.
concurrency_limit
The account already has the maximum number of runs in progress.
spend_limit
The provider budget for this period has been reached.
provider_failure
The provider did not return a usable result.
timeout
The run reached its time limit.
unavailable
The execution API is unavailable.
internal_error
The execution could not be completed.