API Documentation

Sovereign Shields provides three powerful endpoints for securing access to digital resources through blockchain signatures. Below you'll find detailed documentation for each endpoint.

GET /redirect

Basic signature verification endpoint. Verifies a single signature against a URL before allowing access.

Query Parameters

Parameter Type Description
url string The target URL to redirect to
signature string BSV signature of the URL
publicKey string Public key used to verify the signature

Example Request:

GET /redirect?url=example.com&signature=MEUCIQD...&publicKey=02ab...
GET /redirect/batch

Multi-party verification endpoint. Verifies multiple signatures for the same URL, ensuring all parties have approved access.

Query Parameters

Parameter Type Description
signatureObjects string (JSON) Array of signature objects, each containing url, signature, and publicKey
url string The target URL to redirect to (must match URLs in signature objects)

Example Request:

GET /redirect/batch?url=example.com&signatureObjects=[
  {
    "url": "example.com",
    "signature": "MEUCIQD...",
    "publicKey": "02ab..."
  },
  {
    "url": "example.com",
    "signature": "MEUCIQc...",
    "publicKey": "03cd..."
  }
]
GET/POST /verifyRedirect

Double-signature verification endpoint. Implements a requester-provider trust model where both parties must sign to allow access. This endpoint expects two signature objects. First is requestor object containing signature of requested resource url, url, and publicKey of requestor. The second object is authorizer object containing authorizer signature(of requestor object) and publicKey of authorizer.

Parameters

Parameter Type Description
requestObject string (JSON) Contains url, signature, and publicKey of the requester
authorizeObject string (JSON) Contains signature and publicKey of the authorizer

Example Request:

GET /verifyRedirect?requestObject={
  "url": "example.com",
  "signature": "MEUCIQD...",
  "publicKey": "02ab..."
}&authorizeObject={
  "signature": "MEUCIQc...",
  "publicKey": "03cd..."
}