SignalArc REST API
Live production API base URL: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_apimode 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.200 OK
Response:
GET /readyz
Checks database reachability.200 OK
Response:
GET /schema/validate
Validates expected database tables and migration state.200 OK when schema status is ok.
Response:
GET /markets
Lists up to 50 markets ordered by creation time descending.200 OK
Response:
GET /markets/
Returns one market by UUID.200 OK
Response:
POST /markets
Creates a market record. Server-owned lifecycle fields are rejected.
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:
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 Testnetapprove and openPosition transactions directly. The backend response explicitly marks execution as not_executed.
Success status:
201 Created
Response:
GET /agent/markets
Returns a compact market list for agent-readable discovery and dashboards.200 OK
Response:
GET /users//positions
Lists up to 50 positions for a user.200 OK
Response:
500 positions_list_failed.
GET /markets//positions
Lists up to 50 positions for a market.200 OK
Known errors: 500 positions_list_failed.
GET /markets//resolution
Returns a market resolution record.200 OK
Response:
GET /users//settlements
Lists up to 50 settlements for a user.200 OK
Known errors: 500 settlements_list_failed.
GET /markets//settlements
Lists up to 50 settlements for a market.200 OK
Response shape:
500 settlements_list_failed.
GET /arc/contract
Returns the Arc Testnet prototype contract metadata used by the current MVP.200 OK
Response:
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 throughagent_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.