> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gol.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Post v1projects gas policiesprepare



## OpenAPI

````yaml /openapi/platform.json post /v1/projects/{projectId}/gas-policies/prepare
openapi: 3.1.0
info:
  title: GOL Platform API
  description: >-
    Public API for GOL developer projects, credentials, owner gas policies,
    hosted gas executions, and webhooks.
  version: 0.2.0
servers:
  - url: http://localhost:4100
    description: Local development
security: []
tags:
  - name: system
  - name: authentication
  - name: projects
  - name: api-keys
  - name: audit
  - name: gas-executions
  - name: gas-policies
  - name: webhooks
paths:
  /v1/projects/{projectId}/gas-policies/prepare:
    post:
      tags:
        - gas-policies
      operationId: prepareGasPolicy
      parameters:
        - schema:
            format: uuid
            type: string
          in: path
          name: projectId
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
                - account
                - family
                - agent
                - transfer
                - mandate
                - gas
              properties:
                account:
                  pattern: ^0x[0-9a-fA-F]{40}$
                  type: string
                family:
                  anyOf:
                    - type: string
                      enum:
                        - safe
                    - type: string
                      enum:
                        - nexus
                    - type: string
                      enum:
                        - kernel
                    - type: string
                      enum:
                        - alchemy
                agent:
                  pattern: ^0x[0-9a-fA-F]{40}$
                  type: string
                transfer:
                  additionalProperties: false
                  type: object
                  required:
                    - recipients
                    - maxPerActionBaseUnits
                    - maxTotalBaseUnits
                  properties:
                    recipients:
                      minItems: 1
                      maxItems: 16
                      type: array
                      items:
                        pattern: ^0x[0-9a-fA-F]{40}$
                        type: string
                    maxPerActionBaseUnits:
                      pattern: ^(0|[1-9][0-9]{0,77})$
                      type: string
                    maxTotalBaseUnits:
                      pattern: ^(0|[1-9][0-9]{0,77})$
                      type: string
                mandate:
                  additionalProperties: false
                  type: object
                  required:
                    - validFrom
                    - expiresAt
                    - approvalExpiresAt
                  properties:
                    validFrom:
                      minimum: 1
                      maximum: 281474976710655
                      type: integer
                    expiresAt:
                      minimum: 1
                      maximum: 281474976710655
                      type: integer
                    approvalExpiresAt:
                      minimum: 1
                      maximum: 281474976710655
                      type: integer
                    salt:
                      pattern: ^0x[0-9a-fA-F]{64}$
                      type: string
                gas:
                  additionalProperties: false
                  type: object
                  required:
                    - maxPerActionWei
                    - maxTotalWei
                    - expiresAt
                    - chargeableOutcomesMask
                  properties:
                    maxPerActionWei:
                      pattern: ^(0|[1-9][0-9]{0,77})$
                      type: string
                    maxTotalWei:
                      pattern: ^(0|[1-9][0-9]{0,77})$
                      type: string
                    expiresAt:
                      minimum: 1
                      maximum: 281474976710655
                      type: integer
                    chargeableOutcomesMask:
                      minimum: 1
                      maximum: 7
                      type: integer
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - draftId
                  - draftExpiresAt
                  - environment
                  - chainId
                  - core
                  - account
                  - family
                  - review
                  - authority
                  - signing
                  - submission
                properties:
                  draftId:
                    format: uuid
                    type: string
                  draftExpiresAt:
                    format: date-time
                    type: string
                  environment:
                    type: string
                    enum:
                      - test
                  chainId:
                    type: number
                    enum:
                      - 84532
                  core:
                    pattern: ^0x[0-9a-fA-F]{40}$
                    type: string
                  account:
                    pattern: ^0x[0-9a-fA-F]{40}$
                    type: string
                  family:
                    anyOf:
                      - type: string
                        enum:
                          - safe
                      - type: string
                        enum:
                          - nexus
                      - type: string
                        enum:
                          - kernel
                      - type: string
                        enum:
                          - alchemy
                  review:
                    type: object
                    additionalProperties: {}
                  authority:
                    additionalProperties: false
                    type: object
                    required:
                      - mandateTerms
                      - mandatePolicy
                      - gasPolicy
                      - mandateId
                      - gasPolicyId
                      - combinedDigest
                    properties:
                      mandateTerms:
                        type: object
                        additionalProperties: {}
                      mandatePolicy:
                        pattern: ^0x([0-9a-f]{2})+$
                        type: string
                      gasPolicy:
                        type: object
                        additionalProperties: {}
                      mandateId:
                        pattern: ^0x[0-9a-fA-F]{64}$
                        type: string
                      gasPolicyId:
                        pattern: ^0x[0-9a-fA-F]{64}$
                        type: string
                      combinedDigest:
                        pattern: ^0x[0-9a-fA-F]{64}$
                        type: string
                  signing:
                    $ref: '#/components/schemas/def-5'
                  submission:
                    additionalProperties: false
                    type: object
                    required:
                      - to
                      - functionName
                    properties:
                      to:
                        pattern: ^0x[0-9a-fA-F]{40}$
                        type: string
                      functionName:
                        type: string
                        enum:
                          - createMandateWithGas
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '429':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
        '503':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - error
                properties:
                  error:
                    additionalProperties: false
                    type: object
                    required:
                      - code
                      - message
                      - correlationId
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        format: uuid
                        type: string
      security:
        - bearerAuth: []
components:
  schemas:
    def-5:
      additionalProperties: false
      type: object
      required:
        - family
        - method
        - typedData
        - expectedHash
        - digest
        - signatureFormat
      properties:
        family:
          anyOf:
            - type: string
              enum:
                - safe
            - type: string
              enum:
                - nexus
            - type: string
              enum:
                - kernel
            - type: string
              enum:
                - alchemy
        method:
          type: string
          enum:
            - eth_signTypedData_v4
        typedData:
          additionalProperties: false
          type: object
          required:
            - domain
            - types
            - primaryType
            - message
          properties:
            domain:
              type: object
              additionalProperties: {}
            types:
              type: object
              additionalProperties:
                type: array
                items:
                  type: object
                  required:
                    - name
                    - type
                  properties:
                    name:
                      type: string
                    type:
                      type: string
            primaryType:
              type: string
            message:
              type: object
              additionalProperties: {}
        expectedHash:
          pattern: ^0x[0-9a-fA-F]{64}$
          type: string
        digest:
          pattern: ^0x[0-9a-fA-F]{64}$
          type: string
        signatureFormat:
          anyOf:
            - type: string
              enum:
                - safe_threshold
            - type: string
              enum:
                - nexus_k1
            - type: string
              enum:
                - kernel_root
            - type: string
              enum:
                - alchemy_entity_zero
      title: WalletSigningPayload
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````