Skip to Content
API ReferenceOverview

API Reference

Solidus exposes eight API surfaces. Seven are REST services and one is a JSON-RPC endpoint for direct blockchain access. Explorer is fully public; the rest require authentication.

Services

ServiceBase URLPurpose
Verifyhttps://verify.solidus.network/v1KYC verification — document upload, OCR, face matching, credential issuance
Identityhttps://identity.solidus.network/v1DID wallet — credentials, sharing, linked accounts, public profiles
Agentshttps://agents.solidus.network/v1AI-agent identity — agent DIDs, BBS+ credentials, ERC-8004 passports, spend mandates
Auth OIDChttps://auth.solidus.networkOpenID Connect provider with DID-based identity
JSON-RPChttps://rpc.solidus.networkBlockchain node — blocks, transactions, DID resolution
Explorerhttps://explorer.solidus.network/api/v1Chain data — blocks, transactions, addresses, DIDs, credentials, validators. No authentication.
Relayhttps://relay.solidus.networkDIDComm v2 mediator — message pickup, forward routing, keylists — plus an operator API
Wallethttps://wallet.solidus.network/v1Wallet accounts — portfolio, transfers, staking, social recovery. Non-custodial: keys never reach the server
Podhttps://pod.solidus.networkSolid pods (Community Solid Server) — LDP resources, WAC, Solid-OIDC — plus a provisioning API

All REST endpoints return JSON. The JSON-RPC endpoint follows the JSON-RPC 2.0 specification. The Agents API additionally publishes a full, auto-generated OpenAPI 3.1 spec (https://agents.solidus.network/openapi.json, browsable at /documentation) — see Agents API.

Authentication Methods

Solidus APIs use three authentication methods depending on the context.

JWT Bearer Tokens

Obtained by logging in through /auth/login or completing an OAuth flow. Pass them in the Authorization header.

curl https://verify.solidus.network/v1/auth/me \ -H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..."

API Keys

Generated from the Verify dashboard. Pass them in the x-api-key header. Each key is scoped to either live or sandbox mode.

curl https://verify.solidus.network/v1/verifications \ -H "x-api-key: sk_live_abc123def456..."

Session Tokens

Used in the hosted verification flow. The token is embedded in the session URL and identifies a single verification session. No header is needed — the token is part of the URL path.

https://verify.solidus.network/v/s/sess_tok_7Hk3mRtQZv...

Base URLs

EnvironmentVerifyIdentityAgentsAuthRPC
Testnethttps://verify.solidus.network/v1https://identity.solidus.network/v1https://agents.solidus.network/v1https://auth.solidus.networkhttps://rpc.solidus.network
MainnetNot yet availableNot yet availableNot yet availableNot yet availableNot yet available

All current endpoints operate on the testnet. Mainnet URLs will follow the same structure when launched.

Error Format

All REST APIs return errors in a consistent format.

{ "error": "Unauthorized", "message": "Invalid or expired token", "statusCode": 401 }

Common status codes:

CodeMeaning
400Bad request — invalid or missing parameters
401Unauthorized — missing or invalid authentication
403Forbidden — valid auth but insufficient permissions
404Not found — resource does not exist
409Conflict — resource already exists (e.g., duplicate email)
422Unprocessable — validation failed
429Rate limited
500Internal server error

Rate Limits

The testnet currently has no rate limits. Production rate limits will be enforced at mainnet launch and documented here.

API Sections

  • Verify API — KYC verification sessions, document upload, liveness, webhooks
  • Identity API — DID wallet, credentials, sharing, inbox
  • Agents API — Agent DIDs, BBS+ credentials, ERC-8004 passports, spend mandates
  • Auth OIDC — OpenID Connect authorization, tokens, userinfo
  • JSON-RPC — Blockchain queries, DID resolution, transactions
Last updated on