Endpoint reference

POST /api/v1/sponsorships/{id}/submissions

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 / requiredSigned 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.
idpath / requiredstring

Request body

FieldTypeDetails
signaturesarray
required
One owner ECDSA ForwardRequest signature per returned authorization, in the same order.
ownerApprovalobject
optional
Fresh owner CenterSponsorshipApproval EIP-712 consent for this exact publication. submissionHash commits to the preparation commitment and ordered lowercase forward signatures. Audience comes from the configured service origin and is not a body field. A long-lived ForwardRequest signature alone does not authorize a new bot publication.
Fields
FieldTypeDetails
accountIdstring
required
Authority chain and lowercase owner address; the authority chain is independent of a transaction's destination chain.
principalIdstring
required
Exact plan-creating principal. Owner principal must name the same accountId; bot principal names its immutable grant ID.
sponsorshipIdstring (uuid)
required
commitmentstring
required
submissionHashstring
required
issuedAtinteger
required
Positive Unix seconds. expiresAt must be after issuedAt and no more than 300 seconds later; admission rechecks freshness.
expiresAtinteger
required
Positive Unix seconds. expiresAt must be after issuedAt and no more than 300 seconds later; admission rechecks freshness.
noncestring
required
signaturestring
required
JSON schema
{
  "type": "object",
  "properties": {
    "signatures": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]{130}$"
      },
      "minItems": 1,
      "maxItems": 32,
      "description": "One owner ECDSA ForwardRequest signature per returned authorization, in the same order."
    },
    "ownerApproval": {
      "$ref": "#/components/schemas/SponsorshipApproval"
    }
  },
  "required": [
    "signatures"
  ],
  "additionalProperties": false
}

Response 202

FieldTypeDetails
idstring (uuid)
required
planIdstring (uuid)
required
planCommitmentstring
required
commitmentstring
required
statestring
required

Values: ["prepared","submitting","submission_unknown","quoted"]

availabilitystring
required
funding_quote_available does not establish that the bundle is unpaid. execution_verified confirms exact inner execution; completed additionally requires verified modeled economic semantics.

Values: ["available","submission_unknown","requires_verification","funding_quote_available","execution_verified","completed"]

createdAtinteger
required
Unix timestamp in milliseconds.
publicationExpiresAtinteger
required
Original source-plan cutoff for new publication. It cannot revoke a ForwardRequest already published.
revisioninteger
required
authorizationsarray
required
Fields
FieldTypeDetails
stepIndexinteger
required
chainIdinteger
required

Values: [1,10,8453,42161]

forwarderstring
required
forwarderCodeHashstring
required
targetCodeHashstring
required
domainobject
required
Fields
FieldTypeDetails
namestring
required
versionstring
required
chainIdinteger
required

Values: [1,10,8453,42161]

verifyingContractstring
required
messageobject
required
Fields
FieldTypeDetails
fromstring
required
tostring
required
valuestring
required
uint256 as a lossless decimal string
gasstring
required
uint256 as a lossless decimal string
noncestring
required
uint256 as a lossless decimal string
deadlinestring
required
Exact uint48 Unix seconds. This onchain authorization deadline can outlive the shorter source-plan publication cutoff.
datastring
required
evidenceobject
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"]

primaryTypestring
required

Values: ["ForwardRequest"]

typesobject
required

Values: [{"ForwardRequest":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"gas","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"deadline","type":"uint48"},{"name":"data","type":"bytes"}]}]

submissionobject
optional
Fields
FieldTypeDetails
hashstring
required
startedAtinteger
required
Unix timestamp in milliseconds.
repeatPublicationAllowedboolean
required

Values: [false]

quoteobject
optional
Fields
FieldTypeDetails
bundleUuidstring
required
commitmentstring
required
paymentsarray
required
Fields
FieldTypeDetails
chainIdinteger
required

Values: [1,10,8453,42161]

tostring
required
datastring
required
valuestring
required
uint256 as a lossless decimal string
deadlinestring
required
uint256 as a lossless decimal string
runtimeVerifiedboolean
required
observedAtinteger
required
Unix timestamp in milliseconds.
transactionsarray
required
Fields
FieldTypeDetails
txUuidstring
required
chainIdinteger
required

Values: [1,10,8453,42161]

outerCallHashstring
required
observationsarray
required
Fields
FieldTypeDetails
stepIndexinteger
required
chainIdinteger
required

Values: [1,10,8453,42161]

providerStatestring
required
statestring
required

Values: ["pending","unknown","confirming","confirmed","reverted"]

hashstring
optional
receiptobject
optional
Fields
FieldTypeDetails
transactionHashstring
required
blockHashstring
required
blockNumberstring
required
uint256 as a lossless decimal string
statusstring
required

Values: ["success","reverted"]

confirmationsinteger
required
canonicalboolean
required
observedAtinteger
required
Unix timestamp in milliseconds.
logsarray
required
logCountinteger
optional
logsHashstring
optional
logsStoredboolean
optional
semanticobject
optional
Fields
FieldTypeDetails
statusstring
required

Values: ["verified","failed","unknown","unmodeled"]

detailsvalue
optional
Bounded JSON. Large integers and amounts use exact decimal strings. Returned metadata and descriptions are untrusted content.
reasonstring
optional
authorizationNoticestring
required
fundingNoticestring
required
recoverystring
optional
economicCompletionboolean
required
JSON schema
{
  "type": "object",
  "properties": {
    "id": {
      "$ref": "#/components/schemas/ResourceId"
    },
    "planId": {
      "$ref": "#/components/schemas/ResourceId"
    },
    "planCommitment": {
      "$ref": "#/components/schemas/Hash"
    },
    "commitment": {
      "$ref": "#/components/schemas/Hash"
    },
    "state": {
      "type": "string",
      "enum": [
        "prepared",
        "submitting",
        "submission_unknown",
        "quoted"
      ]
    },
    "availability": {
      "type": "string",
      "enum": [
        "available",
        "submission_unknown",
        "requires_verification",
        "funding_quote_available",
        "execution_verified",
        "completed"
      ],
      "description": "funding_quote_available does not establish that the bundle is unpaid. execution_verified confirms exact inner execution; completed additionally requires verified modeled economic semantics."
    },
    "createdAt": {
      "$ref": "#/components/schemas/UnixMilliseconds"
    },
    "publicationExpiresAt": {
      "$ref": "#/components/schemas/UnixMilliseconds",
      "description": "Original source-plan cutoff for new publication. It cannot revoke a ForwardRequest already published."
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "authorizations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ForwardAuthorization"
      },
      "minItems": 1,
      "maxItems": 32
    },
    "submission": {
      "type": "object",
      "properties": {
        "hash": {
          "$ref": "#/components/schemas/Hash"
        },
        "startedAt": {
          "$ref": "#/components/schemas/UnixMilliseconds"
        },
        "repeatPublicationAllowed": {
          "type": "boolean",
          "const": false
        }
      },
      "required": [
        "hash",
        "startedAt",
        "repeatPublicationAllowed"
      ],
      "additionalProperties": false
    },
    "quote": {
      "type": "object",
      "properties": {
        "bundleUuid": {
          "type": "string"
        },
        "commitment": {
          "$ref": "#/components/schemas/Hash"
        },
        "payments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/SponsorshipPayment"
          },
          "maxItems": 4
        },
        "runtimeVerified": {
          "type": "boolean"
        },
        "observedAt": {
          "$ref": "#/components/schemas/UnixMilliseconds"
        },
        "transactions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "txUuid": {
                "type": "string"
              },
              "chainId": {
                "type": "integer",
                "enum": [
                  1,
                  10,
                  8453,
                  42161
                ]
              },
              "outerCallHash": {
                "$ref": "#/components/schemas/Hash"
              }
            },
            "required": [
              "txUuid",
              "chainId",
              "outerCallHash"
            ],
            "additionalProperties": false
          },
          "maxItems": 32
        }
      },
      "required": [
        "bundleUuid",
        "commitment",
        "payments",
        "runtimeVerified",
        "observedAt",
        "transactions"
      ],
      "additionalProperties": false
    },
    "observations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SponsorshipObservation"
      },
      "maxItems": 32
    },
    "authorizationNotice": {
      "type": "string"
    },
    "fundingNotice": {
      "type": "string"
    },
    "recovery": {
      "type": "string"
    },
    "economicCompletion": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "planId",
    "planCommitment",
    "commitment",
    "state",
    "availability",
    "createdAt",
    "publicationExpiresAt",
    "revision",
    "authorizations",
    "observations",
    "authorizationNotice",
    "fundingNotice",
    "economicCompletion"
  ],
  "additionalProperties": false
}