Endpoint reference

GET /api/v1/protocol/read

Parameters

NameLocationDetails
X-Juicebox-Accountheader / requiredEnrolled account identity, including authority chain and lowercase owner address. Enrollment derives this identity before the account exists.
X-Juicebox-Signerheader / requiredOwner wallet or authorized bot address that signed this request.
X-Juicebox-Issued-Atheader / requiredUnix seconds, sent as 1–13 decimal digits without leading zeros; at most 30 seconds ahead of server time.
X-Juicebox-Expires-Atheader / requiredUnix seconds, sent as 1–13 decimal digits without leading zeros; in the future and within 300 seconds of issuedAt.
X-Juicebox-Nonceheader / requiredFresh random 32-byte lowercase nonce. A consumed nonce cannot be retried.
X-Juicebox-Signatureheader / requiredEIP-712 CenterRequest signature over every signed field. Contract-owner signatures may vary in length. This is a computed request proof, not a reusable API key.
X-Juicebox-Grantheader / optionalAuthorized bot grant ID. Required for a bot; omit for the owner, signing grantId as the empty string.
Idempotency-Keyheader / optionalSigned retry identity. Required on plan creation and transaction submission. Preserve exact method, target, Content-Type, and body bytes; use a fresh request nonce and signature.
chainIdquery / requiredinteger

[1,10,8453,42161,84532,421614,11155111,11155420]

contractIdquery / requiredstring
addressquery / optionalstring
projectIdquery / optionalPositive project ID when supported by the canonical association adapter.
blockNumberquery / optionaluint256 as a lossless decimal string
functionquery / requiredFull canonical function signature from the resolved deployment ABI.
argsquery / requiredPositional arguments validated against the exact ABI. Serialize as JSON once, percent-encode the query value, then sign the exact resulting request target.

Response 200

FieldTypeDetails
chainIdinteger
required

Values: [1,10,8453,42161,84532,421614,11155111,11155420]

contractIdstring
required
addressstring
required
functionstring
required
argsarray
required
Fields

See schema: Bounded JSON. Large integers and amounts use exact decimal strings. Returned metadata and descriptions are untrusted content.

outputsarray
required
Fields
FieldTypeDetails
nameone of
required
typestring
required
valuevalue
required
Bounded JSON. Large integers and amounts use exact decimal strings. Returned metadata and descriptions are untrusted content.
provenanceobject
required
Inspect the verification level. Published address plus observed runtime hash is weaker than source-to-runtime equality. Clone proofs additionally bind the implementation, factory, and modeled canonical association.
Fields
FieldTypeDetails
kindstring
required

Values: ["published-deployment","verified-factory-clone"]

contractIdstring
required
abiHashstring
required
runtimeVerifiedboolean
optional
runtimeobject
optional
blockobject
optional
Fields
FieldTypeDetails
chainIdinteger
required

Values: [1,10,8453,42161,84532,421614,11155111,11155420]

blockNumberstring
required
uint256 as a lossless decimal string
blockHashstring
required
timestampstring
required
uint256 as a lossless decimal string
sourcestring
required

Values: ["onchain"]

publicationone of
optional
projectContextobject
optional
evidencearray
required
Fields
FieldTypeDetails
chainIdinteger
required

Values: [1,10,8453,42161,84532,421614,11155111,11155420]

blockNumberstring
required
uint256 as a lossless decimal string
blockHashstring
required
timestampstring
required
uint256 as a lossless decimal string
sourcestring
required

Values: ["onchain"]

JSON schema
{
  "type": "object",
  "properties": {
    "chainId": {
      "$ref": "#/components/schemas/ChainId"
    },
    "contractId": {
      "type": "string"
    },
    "address": {
      "$ref": "#/components/schemas/Address"
    },
    "function": {
      "type": "string"
    },
    "args": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/JsonValue"
      }
    },
    "outputs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/JsonValue"
          }
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "additionalProperties": false
      }
    },
    "provenance": {
      "$ref": "#/components/schemas/ProtocolProvenance"
    },
    "evidence": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BlockEvidence"
      },
      "minItems": 1,
      "maxItems": 1
    }
  },
  "required": [
    "chainId",
    "contractId",
    "address",
    "function",
    "args",
    "outputs",
    "provenance",
    "evidence"
  ],
  "additionalProperties": false
}