Skip to main content

SignalArc REST API

Live production API base URL:
For local development, use http://localhost:4000. Local-only references such as ngrok tunnels are development conveniences, not production endpoints. The production API is live on GCP Cloud Run service signalarc-backend-api behind the custom domain api.signalarc.fun. Agent execution is backend-managed; the current production direction is Circle Developer-Controlled Wallet API or direct Circle API integration, not a production dependency on Circle CLI. Phase 6 deployment requires the production database to be migrated through schema version 20 before the Agent API durable intent, execution, portfolio, and activity surfaces are considered current.

API Status

Agent API

SignalArc exposes a framework-neutral Agent API for external agents and custom HTTP clients. Keep this page as the general REST API reference; use Agent API for the full agent integration guide, required fields, lifecycle examples, error catalog, and local smoke-test evidence. Agent execution status:
  • Agent execution is backend-managed.
  • Current target execution path is Circle Developer-Controlled Wallet API or direct Circle API integration.
  • Local Docker smoke testing validated circle_developer_wallet_api mode for the documented ARC-TESTNET lifecycle actions.
  • Agent execution is currently scoped to ARC-TESTNET.
  • Backend wallet provider configuration is required before execution endpoints can broadcast.
  • API responses do not return Circle API keys, entity secrets, entitySecretCiphertext, database URLs, deploy tokens, credential paths, or other backend secrets.

Error Format

Errors use a consistent JSON envelope:

Endpoint Table

Core REST endpoints: Agent endpoints (live, see Agent API for the full reference):

Common Response Shapes

Market

Trade

Endpoints

GET /health

Returns process health.
Success status: 200 OK Response:
Known errors: none from handler logic.

GET /readyz

Checks database reachability.
Success status: 200 OK Response:
Known errors:

GET /schema/validate

Validates expected database tables and migration state.
Success status: 200 OK when schema status is ok. Response:
Known errors:

GET /markets

Lists up to 50 markets ordered by creation time descending.
Success status: 200 OK Response:
Known errors:

GET /markets/

Returns one market by UUID.
Success status: 200 OK Response:
Known errors:

POST /markets

Creates a market record. Server-owned lifecycle fields are rejected.
Request fields: Rejected fields: status, winning_outcome, resolved_at, settled_at. Market images are URL metadata only in v1. SignalArc does not accept base64 image data or store uploaded images on the Cloud Run filesystem. A later upload flow can use signed upload URLs backed by GCS or Cloudinary. Success status: 201 Created Response:
Known errors:

POST /trade-intents

Creates a backend trade-intent record. This endpoint is not the primary onchain execution path. The frontend trade panel uses the browser wallet to send Arc Testnet approve and openPosition transactions directly. The backend response explicitly marks execution as not_executed.
Request fields: Success status: 201 Created Response:
Known errors:

GET /agent/markets

Returns a compact market list for agent-readable discovery and dashboards.
Success status: 200 OK Response:
Known errors:

GET /users//positions

Lists up to 50 positions for a user.
Success status: 200 OK Response:
Known errors: 500 positions_list_failed.

GET /markets//positions

Lists up to 50 positions for a market.
Success status: 200 OK Known errors: 500 positions_list_failed.

GET /markets//resolution

Returns a market resolution record.
Success status: 200 OK Response:
Known errors:

GET /users//settlements

Lists up to 50 settlements for a user.
Success status: 200 OK Known errors: 500 settlements_list_failed.

GET /markets//settlements

Lists up to 50 settlements for a market.
Success status: 200 OK Response shape:
Known errors: 500 settlements_list_failed.

GET /arc/contract

Returns the Arc Testnet prototype contract metadata used by the current MVP.
For local development, use http://localhost:4000:
Success status: 200 OK Response:
Known errors: none from handler logic.

Agent Endpoints

The Agent API surface is documented in detail in Agent API, which is the canonical framework-neutral reference and can be shared with external agents, agent frameworks, and custom HTTP clients. It covers onboarding, OTP verify, sessions, wallets, balance, ARC-TESTNET faucet, market discovery, durable intent preview/confirm/execute, durable execution records, intent execution history, portfolio, activity, idempotency through agent_id + source_client + client_request_id, and Phase 6 safety/policy checks such as agent_id validation, allowed_actions, explicit confirmation, and optional policy_metadata.max_trade_amount. The Custom GPT shipped with SignalArc is preconfigured against https://api.signalarc.fun, but the Agent API contract is not Custom GPT-specific.