B3 Contract API
The Contract API from B3 — 11 operation(s) for contract.
The Contract API from B3 — 11 operation(s) for contract.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/b3-contract-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: B3 Contract API
version: '1.0'
description: 'Operations tagged Contract across 2 of this provider''s published API definitions: b3-b3os-workflow-openapi.json, b3-contract-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.b3os.org/v1
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Contract
paths:
/v1/contract:
post:
description: Create a new contract project
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
- $ref: '#/components/schemas/internal_app_api_http_v1_contract.SaveProjectRequest'
summary: body
description: Project data
description: Project data
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: Created
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- Contract
/v1/contract/chat/stream:
post:
description: Stream AI chat for smart contract development via SSE
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
- $ref: '#/components/schemas/ContractChatParams'
summary: request
description: Contract chat request parameters
description: Contract chat request parameters
required: true
responses:
'200':
content:
text/event-stream:
schema:
type: string
description: SSE stream with contract events
'400':
content:
text/event-stream:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
tags:
- Contract
/v1/contract/session/{sessionId}:
get:
description: Get a contract project by session ID
parameters:
- description: Session ID
in: path
name: sessionId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: OK
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
tags:
- Contract
/v1/contract/{id}:
delete:
description: Delete a contract project by ID
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse'
description: OK
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
tags:
- Contract
get:
description: Get a contract project by ID
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: OK
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
tags:
- Contract
put:
description: Update a contract project
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
- $ref: '#/components/schemas/internal_app_api_http_v1_contract.SaveProjectRequest'
summary: body
description: Project data
description: Project data
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- Contract
/v1/contract/{id}/audit:
post:
description: Run audit for a contract project
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- Contract
/v1/contract/{id}/deploy/approve:
post:
description: Approve and initiate contract deployment to testnet or mainnet
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
- $ref: '#/components/schemas/ApproveContractDeployParams'
summary: request
description: Deployment parameters
description: Deployment parameters
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApproveContractDeploySuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
tags:
- Contract
/v1/contract/{id}/download:
get:
description: Download contract project as Foundry ZIP
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/zip:
schema:
type: file
description: OK
'404':
content:
application/zip:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
'500':
content:
application/zip:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- Contract
/v1/contract/{id}/fix:
post:
description: Trigger AI auto-fix for a contract with failed tests
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- Contract
/v1/contract/{id}/plan/approve:
post:
description: Approve a contract plan to proceed with code generation
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
- $ref: '#/components/schemas/ApproveContractPlanParams'
summary: request
description: Plan approval
description: Plan approval
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApproveContractPlanSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
tags:
- Contract
/v1/contract/{id}/test:
post:
description: Run tests for a contract project
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractProjectSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- Contract
/v1/contract/{id}/verification-status:
get:
description: Check verification status for all deployments of a contract project
parameters:
- description: Contract project ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CheckVerificationStatusResponse'
description: OK
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
tags:
- Contract
components:
schemas:
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.CommentReply:
properties:
createdAt:
type: string
createdBy:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser'
id:
type: string
text:
type: string
updatedAt:
type: string
type: object
CheckVerificationStatusResponse:
properties:
deployments:
items:
$ref: '#/components/schemas/DeploymentVerificationStatus'
type: array
uniqueItems: false
type: object
ContractDeployApproval:
properties:
estimate:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.DeploymentEstimate'
project:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractProject'
taskId:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditFinding:
properties:
acknowledged:
type: boolean
category:
description: reentrancy, access-control, etc.
type: string
codeSnippet:
type: string
description:
type: string
location:
type: string
recommendation:
type: string
severity:
description: critical, high, medium, low, info
type: string
title:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteSize:
properties:
height:
type: number
width:
type: number
type: object
internal_app_api_http_v1_contract.SaveProjectRequest:
properties:
name:
maxLength: 100
type: string
planSummary:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractPlanSummary'
sessionId:
description: For new projects
type: string
source:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractSource'
testResults:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TestResults'
required:
- name
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowInput:
properties:
description:
type: string
key:
type: string
required:
type: boolean
type:
description: '"string", "number", "boolean", "object", "array"'
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowNode:
properties:
blockContext:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockNodeContext'
branch:
description: '"then"/"else" (if parent), "resumed"/"timed_out" (wait parent)'
type: string
children:
items:
type: string
type: array
uniqueItems: false
connector:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ConnectorReference'
description:
description: AI-generated 1-sentence description
type: string
loopBody:
description: Loop body nodes (only for for-each nodes)
items:
type: string
type: array
uniqueItems: false
payload:
additionalProperties: {}
type: object
resultSchema:
additionalProperties: {}
description: 'ResultSchema describes the output structure of this node (populated dynamically for x402 endpoints).
This is used by the frontend to show available output variables in the variable picker.'
type: object
titleOverride:
description: AI-generated short title (2-6 words), only when more descriptive than default
type: string
type:
type: string
required:
- payload
- type
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse:
properties:
code:
type: integer
details:
items: {}
type: array
uniqueItems: false
message:
type: string
requestId:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockOutputProperty:
properties:
description:
type: string
properties:
additionalProperties:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockOutputProperty'
type: object
type:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropVisibleWhen:
description: 'VisibleWhen controls conditional visibility: show this prop only when
the referenced prop has the specified value.'
properties:
propKey:
type: string
value: {}
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchemaSummaryAggregate:
properties:
column:
description: Column key in PropSchema.Columns.
type: string
label:
description: 'Optional override for the displayed label. If empty, the frontend
derives a label from the column + reducer (e.g. "Total amount").'
type: string
reduce:
description: 'Reducer name. Matches the key in the frontend cell-spec''s
`aggregate` map (currently: "sum", "count"). Unknown reducers are
silently skipped on the frontend.'
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateProp:
properties:
default: {}
description:
type: string
key:
type: string
name:
type: string
properties:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchema'
required:
type: boolean
sensitive:
type: boolean
type:
description: '"string", "number", "integer", "boolean", "object" (for csvTable)'
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.TemplateVisibility:
enum:
- org
- public
- org
- public
type: string
x-enum-comments:
TemplateVisibilityOrg: Only visible to organization members
TemplateVisibilityPublic: Visible to everyone
x-enum-varnames:
- TemplateVisibilityOrg
- TemplateVisibilityPublic
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSource:
properties:
fieldPath:
type: string
nodeId:
type: string
nodeLabel:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNote:
properties:
color:
type: string
createdAt:
type: string
createdBy:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser'
id:
type: string
position:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.NodePosition'
size:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteSize'
text:
type: string
updatedAt:
type: string
zIndex:
type: integer
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowDefinition:
description: 'Definition is the inline workflow graph to analyze. Same shape as a
saved workflow''s definition. Unlike the ephemeral-run endpoint there
is no trigger restriction — analysis is read-only and method-agnostic.'
properties:
blockExpansions:
additionalProperties:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockExpansionMeta'
description: Set on run snapshots only (not workflow DB)
type: object
inputSchema:
items:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowInput'
type: array
uniqueItems: false
nodes:
additionalProperties:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.WorkflowNode'
type: object
sensitivePropKeys:
description: 'Legacy: kept for old runs; no longer populated for new workflows'
items:
type: string
type: array
uniqueItems: false
triggerNodeIds:
description: 'TriggerNodeIDs lists the node IDs that are trigger (root) nodes. Every
workflow declares this — single-trigger workflows ship ["root"] (the
legacy node id), multi-trigger workflows list every trigger node id.
Treating single-trigger as a forest-of-1 removes the two-path branching
throughout the BE + FE; older rows without the field are backfilled by
migration 000282 and the field-missing path stays as a read-side safety
net (see FindTriggerNodeIDs) but is no longer exercised by saves.
"root" is also a runtime alias for "the trigger that fired this run" —
{{root.X}} variable references resolve to the firing trigger regardless
of which trigger fired. Don''t repurpose the literal "root" as a trigger
id on a multi-trigger workflow.'
items:
type: string
type: array
uniqueItems: false
variableDefs:
description: 'VariableDefs is a snapshot of the workflow''s declared variables at run
creation time. The canonical source lives on the workflows row
(Workflow.VariableDefs column). Snapshotted into the run definition
so the worker can resolve {{$vars.x}} lookups and route variable-action
writes to the right scope without an extra DB round trip.'
items:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.VariableDef'
type: array
uniqueItems: false
required:
- nodes
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.BlockNodeContext:
description: 'BlockContext is set on nodes that were expanded from a block.
It traces the node back to its source block and carries the inputMapping
needed to resolve {{$inputs.key}} references at execution time.'
properties:
blockId:
description: Block entity ID
type: string
blockNodeId:
description: Original block node ID in the workflow
type: string
blockVersion:
description: Pinned block version
type: integer
inputMapping:
additionalProperties: {}
description: From block node payload (consumer-authored)
type: object
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.VerificationStatus:
description: Verification status
enum:
- pending
- verified
- failed
type: string
x-enum-varnames:
- VerificationStatusPending
- VerificationStatusVerified
- VerificationStatusFailed
ApproveContractPlanSuccessResponse:
properties:
code:
example: 200
type: integer
data:
$ref: '#/components/schemas/ContractPlanApproval'
message:
example: success
type: string
requestId:
example: abc-123
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.DeploymentEstimate:
properties:
costUsd:
type: string
estimatedCost:
type: string
gasLimit:
type: integer
gasPrice:
type: string
maxFeePerGas:
type: string
warning:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchemaSummary:
description: 'Summary drives the csvTable footer summary. Nil means no summary is
rendered. See PropSchemaSummary for details.'
properties:
aggregates:
description: Aggregates declared in display order, left-to-right.
items:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.PropSchemaSummaryAggregate'
type: array
uniqueItems: false
position:
description: 'Position in the grid. "footer" (default) renders inline under the
table. "none" suppresses even when aggregates are declared — use to
disable inherited summaries. Other values reserved.'
type: string
type: object
DeploymentVerificationStatus:
properties:
chainId:
type: integer
contractAddress:
type: string
explorerUrl:
type: string
verified:
type: boolean
type: object
? github_com_b3-fun_b3-mono_services_b3os-workflow_PaginatedData-github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity_Template
: properties:
hasMore:
type: boolean
items:
items:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.Template'
type: array
uniqueItems: false
limit:
type: integer
offset:
type: integer
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.StickyNoteUser:
properties:
clientId:
type: string
name:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.DeployResult:
properties:
address:
type: string
blockNumber:
type: integer
chainId:
type: integer
deployedAt:
type: string
deploymentMode:
description: standard, create2, or create3
type: string
gasUsed:
type: integer
isDeterministic:
description: Whether CREATE2/CREATE3 was used
type: boolean
networkType:
description: mainnet or testnet
type: string
predictedAddress:
description: Pre-computed address for deterministic deployments
type: string
salt:
description: CREATE2/CREATE3 salt for deterministic address
type: string
txHash:
type: string
verificationStatus:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.VerificationStatus'
verificationUrl:
description: URL to view verified contract on block explorer
type: string
verified:
description: Whether contract source is verified on block explorer
type: boolean
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.AuditSummary:
properties:
critical:
type: integer
high:
type: integer
info:
type: integer
low:
type: integer
medium:
type: integer
overallRisk:
description: low, medium, high, critical
type: string
recommendation:
description: deployment recommendation
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.SuccessResponse:
allOf:
- $ref: '#/components/schemas/data'
properties:
code:
type: integer
data: {}
message:
type: string
requestId:
type: string
type: object
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_pkg_entity.ContractSource:
properties:
abi:
description: Compiled artifacts (populated after compilation)
type: string
bytecode:
description: Deployment bytecode
type: string
compilerOutput:
description: Metadata
type: string
constructorAbi:
description: Constructor info
type: string
contractCode:
description: Main contract Solidity source (flattened or with imports)
type: string
contractName:
description: Main contract (required)
type: string
dependencies:
additionalProperties:
type: string
description: package → version (e.g., "@openzeppelin/contracts" → "v5.0.0")
type: object
deployedCode:
description: Runtime bytecode
type: string
files:
additionalProperties:
type: string
description: 'Multi-file project support
Key: relative path (e.g., "src/interfaces/IERC20.sol")
Value: file content'
type: object
mainCont
# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/b3/refs/heads/main/openapi/b3-contract-api-openapi.yml