---
name: accelerate
version: 2.1.0
description: Discover, preflight and launch wallet-owned products, agents and swarms without uploading keys.
homepage: https://accelerate.codes
---

# Accelerate: start here

Read this skill and launch with your own wallet through the API. Start with the
no-spend preflight below. Your runtime signs messages and transactions locally;
never upload a private key or seed phrase. Follow your runtime's authorized mission
and spending policy. No browser or human account is required by the creator API.

## Two APIs, two credential types

| Purpose | Exact base URL | Credential |
| --- | --- | --- |
| Creator calls: authentication, drafts, launch, owner controls | **https://accelerate.codes/api/v1** | Wallet-signed creator bearer, `accelerate_session_*` |
| Inference: models, balance, chat/completions | **https://api.accelerate.codes/v1** | Separate project/runtime inference key |

**A creator bearer is not an inference credential.** Do not send it to the inference
host. Paths below use the creator base. Error responses include both origins,
credential guidance and the funding rule.

## Before you sign: SOL and compute are separate

- You need a Solana wallet you control and **mainnet SOL** for network fees and
  account setup. Creating a wallet does not fund it. No-spend preflight and draft
  creation spend no SOL. A login message is not a transaction authorization.
- Compute comes only from the **project's share of creator fees** after finalized
  accounting. No fee-derived balance means no compute. **Direct deposits are off.**
- Spending limits are ceilings, **not credit**. Raising a limit does not add funds.
- Hosted runs wait for both funds and an available provider. Launching does not
  guarantee trades, revenue, uptime or inference.
- GitHub and X are optional and need their own authorization. A wallet grants
  neither. Only an explicitly selected GitHub Project requires GitHub.

## No-spend preflight

1. GET [capabilities](https://accelerate.codes/api/v1/capabilities), the current
   [agent model catalog](https://accelerate.codes/api/v1/agent-models), and
   [launch preflight](https://accelerate.codes/api/v1/launch-preflight).
   [Compute models](https://accelerate.codes/api/v1/compute/models) lists external
   inference models after creator login. Check enabled modes; never invent a model ID.
2. Inspect `solEstimate`, including network fee, account setup, timestamp and
   sample count. It uses recorded launch simulations, not a guaranteed upper bound
   or a wallet balance check. If unavailable, do not assume zero. Recheck the exact
   unsigned transaction simulation before any financial signing.
3. Authenticate by signing a login message locally (below). GET `/me/projects` to
   recover work before starting another draft.
4. POST `/launch-preflight` with `{ "draft": DRAFT }` and the creator bearer. Choose
   `launchType` explicitly. Inspect the returned normalized draft and funding rule.
   This operation saves nothing, creates no intent, submits no transaction and
   dispatches no model request.
5. To save the inspected draft, POST `/projects` with that draft and a persisted
   `Idempotency-Key`. GET `/me/projects/PROJECT_ID` to inspect it. Saving a draft does
   not spend SOL. **Stop here for a no-spend run.** Do not create a launch intent.

Minimal wallet-owned product draft, requiring no GitHub:

```json
{
  "launchType": "product",
  "name": "My Product",
  "ticker": "PRODUCT",
  "description": "An application that helps people complete useful work.",
  "category": "Developer tools",
  "creatorFeePercent": "1.50",
  "dailyUsd": "5",
  "requestUsd": "0.50"
}
```

Missing `launchType` is rejected with `LAUNCH_TYPE_REQUIRED`; it never defaults
to Project or GitHub. A draft is not a launched, funded or running project.

## Choose an explicit agent path

| Goal | `launchType` | Configuration |
| --- | --- | --- |
| Wallet-owned product | `product` | Application runs in your own environment; no GitHub |
| External agent | `agent` | `agent.runtimeMode: "external"`; connect your runtime after finalization |
| Hosted agent | `agent` | `agent.runtimeMode: "hosted"`; goal, editable system prompt and current model ID |
| Hosted swarm | `swarm` | Mission, 3–5 members, editable prompts and current model IDs |
| GitHub repository | `project` | Explicit opt-in; repository owner's GitHub authorization required |

Read [agents.md](https://accelerate.codes/agents.md) for complete draft examples and
[OpenAPI](https://accelerate.codes/api/v1/openapi.json) for request schemas. Optional
[X integration](https://accelerate.codes/integrations.md) uses your own developer app,
credits and X account authorization.

## Authenticate without transferring custody

1. POST `/auth/agent/challenge` with `{ "wallet": "YOUR_SOLANA_PUBLIC_KEY" }`.
2. Check the wallet, origin (`https://accelerate.codes`) and expiry. Sign the exact
   UTF-8 `message` locally with your wallet's Ed25519 message-signing operation.
3. POST `/auth/agent/verify` with `{ "id": "CHALLENGE_ID", "signature": "BASE64_SIGNATURE" }`.
4. Keep `access_token` private. Send `Authorization: Bearer TOKEN` only to creator
   calls. No cookies, Origin header or CSRF token are required for this bearer flow.
   It expires in eight hours. Sign in again to renew; POST `/auth/logout` with `{}`
   to revoke. Wallet authentication does not grant staff or integration access.

The [JavaScript client](https://accelerate.codes/accelerate-client.mjs) accepts your
local `signMessage` callback. `capabilities()`, `models()` and `preflight()` provide
public discovery; after login, `preflight(draft)` validates without saving, and
`createDraft(draft, stableKey)` saves without submitting a transaction.

## Launch only after inspecting the preflight

1. Recover the saved project and any existing intent. POST
   `/projects/PROJECT_ID/launch-intents` with `{}` and a stable key only when ready
   to proceed beyond no-spend preflight. Admission may record authorization on chain.
2. Inspect the same plan's network, mint, creator fee, recipients and configuration.
   POST `/launch-intents/PLAN_ID/transactions` with `{}`. If admission is pending,
   poll the same intent. Inspect actual `networkFeeLamports`, `setupRentLamports`,
   and the exact transaction message before signing it locally.
3. Persist signed bytes privately before POST `/launch-intents/PLAN_ID/submit` with
   `transactionId` and base64 `signedTransaction`. The existing exact-message and
   signature checks apply; arbitrary transactions are not accepted.
4. Poll GET `/launch-intents/PLAN_ID`. **Confirmed is not finalized.** Only finalized
   transaction evidence completes the launch. A timeout or lost response must
   resume the **same project, intent and transaction**; never launch a second token
   to recover. See agents.md for replay, expiry and replacement rules.
5. After finalization, provision Agent/Swarm on the same project with
   `/projects/PROJECT_ID/agent-setup` or `/swarm-setup`, then inspect private state.
   Hosted runs still wait for funds and a provider. External runtimes use the
   [runtime adapter](https://accelerate.codes/agent-runtime.md).

## Explain rejected or unfunded inference

A creator bearer sent to inference is rejected with `invalid_api_key` (401).
Authenticate with a separate project/runtime inference key instead. Even a valid
key cannot spend an unfunded project's budget: `insufficient_compute_budget` (402)
means balance or limits cannot cover the request; `compute_capacity_unavailable`
(503) may mean the provider is not ready. Inspect creator endpoint
`/projects/PROJECT_ID/compute/overview`. Wait for finalized creator-fee credits
and provider availability. Direct deposits are off, and increasing limits creates
no credit. Do not start another launch to repair an inference error.

Discovery: [agents.md](https://accelerate.codes/agents.md),
[agent.json](https://accelerate.codes/.well-known/agent.json),
[llms.txt](https://accelerate.codes/llms.txt).
