{
    "openapi":"3.0.0",
    "info":{
        "title":"RPC API for Oracle Blockchain Platform Enterprise Edition for Hyperledger Besu",
        "version":"2026.02.23",
        "description":"Use the Oracle Blockchain Platform Enterprise Edition for Hyperledger Besu RPC API to programmatically work with and manage your blockchain network.",
        "x-summary":"Use the Oracle Blockchain Platform Enterprise Edition for Hyperledger Besu RPC API to programmatically work with and manage your blockchain network."
    },
    "host":"localhost:8080",
    "schemes":[
        "https"
    ],
    "tags":[
        {
            "name":"Besu Passthrough",
            "description":"Generic JSON-RPC proxy for any Besu method"
        },
        {
            "name":"Contracts",
            "description":"Contract metadata (read and ingestion)"
        },
        {
            "name":"Health",
            "description":"Liveness and readiness probes"
        },
        {
            "name":"Instance",
            "description":"Instance-level operations"
        },
        {
            "name":"OpenAPI",
            "description":"OpenAPI document retrieval"
        },
        {
            "name":"Transactions",
            "description":"Sign and submit transactions"
        },
        {
            "name":"Wallets",
            "description":"Custodial wallet proxy endpoints"
        }
    ],
    "paths":{
        "/v1/besu/proxy":{
            "post":{
                "tags":[
                    "Besu Passthrough"
                ],
                "summary":"Generic Passthrough for Besu JSON-RPC",
                "operationId":"besuProxy",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided."
                    },
                    {
                        "in":"header",
                        "name":"X-Besu-Url",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional upstream JSON-RPC URL override. When provided, the request is forwarded to this URL."
                    }
                ],
                "description":"<p>Forwards the request body as-is to the configured Besu RPC node, and returns the upstream status and body.</p><p>Use this for any JSON-RPC method, such as <code>eth_blockNumber</code> or <code>eth_getBalance<code/>.</p>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/JsonRpcRequest"
                            },
                            "examples":{
                                "ethBlockNumber":{
                                    "summary":"eth_blockNumber",
                                    "value":{
                                        "jsonrpc":"2.0",
                                        "method":"eth_blockNumber",
                                        "params":[
                                        ],
                                        "id":1
                                    }
                                },
                                "getBalance":{
                                    "summary":"eth_getBalance",
                                    "value":{
                                        "jsonrpc":"2.0",
                                        "method":"eth_getBalance",
                                        "params":[
                                            "0x0000000000000000000000000000000000000000",
                                            "latest"
                                        ],
                                        "id":2
                                    }
                                }
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"Successful upstream response",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/JsonRpcResponse"
                                },
                                "examples":{
                                    "ethBlockNumber":{
                                        "value":{
                                            "jsonrpc":"2.0",
                                            "id":1,
                                            "result":"0xabc123"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "4XX":{
                        "description":"Upstream or request error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/JsonRpcErrorResponse"
                                }
                            }
                        }
                    },
                    "5XX":{
                        "description":"Upstream or proxy error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/JsonRpcErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-besu-proxy-post",
                "x-filename-id":"v1-besu-proxy-post"
            }
        },
        "/v1/besu/signTransaction":{
            "post":{
                "tags":[
                    "Transactions"
                ],
                "summary":"Sign and Submit a Transaction",
                "operationId":"signTransaction",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided."
                    },
                    {
                        "in":"header",
                        "name":"X-Besu-Url",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional upstream JSON-RPC URL override. When provided, the request is sent to this URL."
                    }
                ],
                "description":"<p>Signs and submits a transaction to the configured Besu node.</p><p>Supports: <ul><li>Eth transfer between accounts</li><li>Contract deployment</li><li>Contract execution, with support for encoding for <code>functionSignature/functionArgs</code></li></ul>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/SignTransactionRequest"
                            },
                            "examples":{
                                "legacyTransfer":{
                                    "summary":"Legacy transfer (type=0)",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x0000000000000000000000000000000000000001",
                                        "ethValue":"10000000000000000",
                                        "type":0,
                                        "gasLimit":21000
                                    }
                                },
                                "eip1559Transfer":{
                                    "summary":"EIP-1559 transfer (type=2)",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x0000000000000000000000000000000000000002",
                                        "ethValue":"0",
                                        "type":2,
                                        "gasTipCap":"2000000000",
                                        "gasFeeCap":"40000000000"
                                    }
                                },
                                "contractDeploy":{
                                    "summary":"Contract deployment",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "type":2,
                                        "gasLimit":2500000,
                                        "waitForReceipt":true,
                                        "receiptWaitMs":1000,
                                        "receiptMaxTries":60,
                                        "bytecode":"0x6000604052348015600f57600080fd5b5060...",
                                        "abi":[
                                            {
                                                "inputs":[
                                                    {
                                                        "internalType":"uint256",
                                                        "name":"x",
                                                        "type":"uint256"
                                                    }
                                                ],
                                                "stateMutability":"nonpayable",
                                                "type":"constructor"
                                            }
                                        ],
                                        "constructorArgs":[
                                            "42"
                                        ],
                                        "storageLayout":{
                                            "types":{
                                                "t_uint256":{
                                                    "label":"uint256",
                                                    "numberOfBytes":"32"
                                                }
                                            },
                                            "storage":[
                                                {
                                                    "label":"x",
                                                    "offset":0,
                                                    "slot":"0",
                                                    "type":"t_uint256"
                                                }
                                            ]
                                        }
                                    }
                                },
                                "contractDeployDataOnly":{
                                    "summary":"Contract deployment (data-only)",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "type":2,
                                        "gasLimit":3000000,
                                        "toAddress":null,
                                        "data":"0x<full_bytecode_plus_constructor_params>"
                                    }
                                },
                                "erc20ApproveCall":{
                                    "summary":"ERC20 approve(address,uint256) via functionSignature",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "ethValue":"0",
                                        "type":2,
                                        "functionSignature":"approve(address,uint256)",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb",
                                            "1000000000000000000"
                                        ],
                                        "contractAbi":[
                                            {
                                                "name":"approve",
                                                "type":"function",
                                                "stateMutability":"nonpayable",
                                                "inputs":[
                                                    {
                                                        "name":"spender",
                                                        "type":"address"
                                                    },
                                                    {
                                                        "name":"value",
                                                        "type":"uint256"
                                                    }
                                                ],
                                                "outputs":[
                                                    {
                                                        "name":"",
                                                        "type":"bool"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                },
                                "withDecode":{
                                    "summary":"Sign + decode inputs/events/errors",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "type":2,
                                        "functionSignature":"approve(address,uint256)",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb",
                                            "1000000000000000000"
                                        ],
                                        "contractAbi":[
                                            {
                                                "name":"approve",
                                                "type":"function",
                                                "stateMutability":"nonpayable",
                                                "inputs":[
                                                    {
                                                        "name":"spender",
                                                        "type":"address"
                                                    },
                                                    {
                                                        "name":"value",
                                                        "type":"uint256"
                                                    }
                                                ],
                                                "outputs":[
                                                    {
                                                        "name":"",
                                                        "type":"bool"
                                                    }
                                                ]
                                            }
                                        ],
                                        "decode":{
                                            "inputs":true,
                                            "events":true,
                                            "errors":true
                                        }
                                    }
                                },
                                "nameOnlyWithAbi":{
                                    "summary":"Name-only functionSignature with contractAbi",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "type":2,
                                        "functionSignature":"approve",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb",
                                            "1000000000000000000"
                                        ],
                                        "contractAbi":[
                                            {
                                                "name":"approve",
                                                "type":"function",
                                                "stateMutability":"nonpayable",
                                                "inputs":[
                                                    {
                                                        "name":"spender",
                                                        "type":"address"
                                                    },
                                                    {
                                                        "name":"value",
                                                        "type":"uint256"
                                                    }
                                                ],
                                                "outputs":[
                                                    {
                                                        "name":"",
                                                        "type":"bool"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                },
                                "nameOnlyNoAbi":{
                                    "summary":"Name-only functionSignature without contractAbi",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "type":2,
                                        "functionSignature":"approve",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb",
                                            "1000000000000000000"
                                        ]
                                    }
                                },
                                "decodeEvents":{
                                    "summary":"Decode event logs from receipt",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "type":2,
                                        "functionSignature":"transfer(address,uint256)",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb",
                                            "1000000000000000000"
                                        ],
                                        "contractAbi":[
                                            {
                                                "name":"transfer",
                                                "type":"function",
                                                "stateMutability":"nonpayable",
                                                "inputs":[
                                                    {
                                                        "name":"to",
                                                        "type":"address"
                                                    },
                                                    {
                                                        "name":"value",
                                                        "type":"uint256"
                                                    }
                                                ],
                                                "outputs":[
                                                    {
                                                        "name":"",
                                                        "type":"bool"
                                                    }
                                                ]
                                            },
                                            {
                                                "name":"Transfer",
                                                "type":"event",
                                                "inputs":[
                                                    {
                                                        "name":"from",
                                                        "type":"address",
                                                        "indexed":true
                                                    },
                                                    {
                                                        "name":"to",
                                                        "type":"address",
                                                        "indexed":true
                                                    },
                                                    {
                                                        "name":"value",
                                                        "type":"uint256",
                                                        "indexed":false
                                                    }
                                                ]
                                            }
                                        ],
                                        "decode":{
                                            "events":true
                                        }
                                    }
                                },
                                "eip1559TransferByAddress":{
                                    "summary":"EIP-1559 transfer signed by address (no walletId preflight)",
                                    "value":{
                                        "fromAddress":"0x00000000000000000000000000000000000000ff",
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "ethValue":"0",
                                        "type":2,
                                        "gasTipCap":"2000000000",
                                        "gasFeeCap":"40000000000"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"Transaction signed and submitted",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/SignTransactionResponse"
                                },
                                "examples":{
                                    "successBasic":{
                                        "summary":"Minimal success (no decoded block)",
                                        "value":{
                                            "txHash":"0x1234abcd...",
                                            "transactionReceipt":null
                                        }
                                    },
                                    "successDecoded":{
                                        "summary":"Success with decoded inputs/events",
                                        "value":{
                                            "txHash":"0x9f8a...",
                                            "to":"0x00000000000000000000000000000000000000aa",
                                            "data":"0x095ea7b3...",
                                            "nonce":"7",
                                            "encodedFromSignature":true,
                                            "decoded":{
                                                "meta":{
                                                    "abiSource":"request",
                                                    "warnings":[
                                                    ]
                                                },
                                                "function":{
                                                    "name":"approve",
                                                    "signature":"approve(address,uint256)",
                                                    "selector":"0x095ea7b3"
                                                },
                                                "input":{
                                                    "args":[
                                                        {
                                                            "name":"spender",
                                                            "type":"address",
                                                            "value":"0x00000000000000000000000000000000000000bb"
                                                        },
                                                        {
                                                            "name":"value",
                                                            "type":"uint256",
                                                            "value":"1000000000000000000"
                                                        }
                                                    ]
                                                },
                                                "events":[
                                                ]
                                            }
                                        }
                                    },
                                    "successWithReceiptAndAddress":{
                                        "summary":"Success with receipt and contractAddress",
                                        "value":{
                                            "txHash":"0xabcd...",
                                            "contractAddress":"0x000000000000000000000000000000000000c0de",
                                            "transactionReceipt":{
                                                "status":"0x1",
                                                "blockNumber":"0x10",
                                                "logs":[
                                                ]
                                            }
                                        }
                                    },
                                    "successWithEventsDecoded":{
                                        "summary":"Success with decoded events",
                                        "value":{
                                            "txHash":"0xfeed...",
                                            "to":"0x00000000000000000000000000000000000000aa",
                                            "data":"0xa9059cbb...",
                                            "encodedFromSignature":true,
                                            "decoded":{
                                                "meta":{
                                                    "abiSource":"request",
                                                    "warnings":[
                                                    ]
                                                },
                                                "function":{
                                                    "name":"transfer",
                                                    "signature":"transfer(address,uint256)",
                                                    "selector":"0xa9059cbb"
                                                },
                                                "events":[
                                                    {
                                                        "name":"Transfer",
                                                        "signature":"Transfer(address,address,uint256)",
                                                        "address":"0x00000000000000000000000000000000000000aa",
                                                        "logIndex":0,
                                                        "topics":[
                                                            "0xddf252ad..."
                                                        ],
                                                        "data":"0x...",
                                                        "args":[
                                                            {
                                                                "name":"from",
                                                                "type":"address",
                                                                "indexed":true,
                                                                "value":null
                                                            },
                                                            {
                                                                "name":"to",
                                                                "type":"address",
                                                                "indexed":true,
                                                                "value":null
                                                            },
                                                            {
                                                                "name":"value",
                                                                "type":"uint256",
                                                                "indexed":false,
                                                                "value":"1000000000000000000"
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Validation error or invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error (for example, failed to estimate gasLimit)",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream Besu error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-besu-signTransaction-post",
                "x-filename-id":"v1-besu-signtransaction-post"
            }
        },
        "/v1/besu/query":{
            "post":{
                "tags":[
                    "Transactions"
                ],
                "summary":"Read-only Contract Query",
                "operationId":"query",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided."
                    },
                    {
                        "in":"header",
                        "name":"X-Besu-Url",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional upstream JSON-RPC URL override. When provided, the request is sent to this URL."
                    }
                ],
                "description":"<p>Executes an <code>eth_call</code> with support for encoding for <code>functionSignature/functionArgs</code>.</p>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/QueryRequest"
                            },
                            "examples":{
                                "viewBalanceOf":{
                                    "summary":"ERC20 balanceOf via fully-specified signature",
                                    "value":{
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "functionSignature":"balanceOf(address)",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb"
                                        ],
                                        "blockTag":"latest"
                                    }
                                },
                                "viewNameOnlyAbi":{
                                    "summary":"name-only signature with contractAbi to infer types",
                                    "value":{
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "functionSignature":"balanceOf",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb"
                                        ],
                                        "contractAbi":[
                                            {
                                                "name":"balanceOf",
                                                "type":"function",
                                                "stateMutability":"view",
                                                "inputs":[
                                                    {
                                                        "name":"account",
                                                        "type":"address"
                                                    }
                                                ],
                                                "outputs":[
                                                    {
                                                        "name":"",
                                                        "type":"uint256"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                },
                                "dataOnly":{
                                    "summary":"Provide pre-encoded calldata directly",
                                    "value":{
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "data":"0x70a0823100000000000000000000000000000000000000000000000000000000000000bb",
                                        "blockTag":"latest"
                                    }
                                },
                                "viewBalanceWithDecode":{
                                    "summary":"Decode outputs for balanceOf",
                                    "value":{
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "functionSignature":"balanceOf(address)",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb"
                                        ],
                                        "blockTag":"latest",
                                        "decode":{
                                            "outputs":true,
                                            "errors":true
                                        }
                                    }
                                },
                                "viewNameOnlyNoAbi":{
                                    "summary":"Name-only signature without contractAbi",
                                    "value":{
                                        "toAddress":"0x00000000000000000000000000000000000000aa",
                                        "functionSignature":"balanceOf",
                                        "functionArgs":[
                                            "0x00000000000000000000000000000000000000bb"
                                        ],
                                        "blockTag":"latest"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"eth_call executed",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/QueryResponse"
                                },
                                "examples":{
                                    "success":{
                                        "value":{
                                            "to":"0x00000000000000000000000000000000000000aa",
                                            "from":"0x0000000000000000000000000000000000000000",
                                            "data":"0x70a08231...",
                                            "blockTag":"latest",
                                            "rawResult":"0x00000000000000000000000000000000000000000000000000000000000003e8",
                                            "encodedFromSignature":true
                                        }
                                    },
                                    "successDecoded":{
                                        "summary":"Returns decoded output when requested",
                                        "value":{
                                            "to":"0x00000000000000000000000000000000000000aa",
                                            "from":"0x0000000000000000000000000000000000000000",
                                            "data":"0x70a08231...",
                                            "blockTag":"latest",
                                            "rawResult":"0x00000000000000000000000000000000000000000000000000000000000003e8",
                                            "encodedFromSignature":true,
                                            "decoded":{
                                                "meta":{
                                                    "abiSource":"request",
                                                    "warnings":[
                                                    ]
                                                },
                                                "function":{
                                                    "name":"balanceOf",
                                                    "signature":"balanceOf(address)",
                                                    "selector":"0x70a08231"
                                                },
                                                "output":{
                                                    "returns":[
                                                        {
                                                            "name":"",
                                                            "type":"uint256",
                                                            "value":"1000"
                                                        }
                                                    ]
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Validation error or invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream Besu error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                },
                                "examples":{
                                    "decodedStandardError":{
                                        "summary":"Decoded standard Error(string)",
                                        "value":{
                                            "error":"execution reverted: NotAllowed",
                                            "upstreamCode":-32000,
                                            "upstreamData":"0x08c379a0...",
                                            "decodedError":{
                                                "standardError":{
                                                    "selector":"0x08c379a0",
                                                    "message":"NotAllowed"
                                                }
                                            }
                                        }
                                    },
                                    "decodedPanic":{
                                        "summary":"Decoded standard Panic(uint256)",
                                        "value":{
                                            "error":"execution reverted: Panic(0x11)",
                                            "upstreamCode":-32000,
                                            "upstreamData":"0x4e487b71...",
                                            "decodedError":{
                                                "standardPanic":{
                                                    "selector":"0x4e487b71",
                                                    "code":"0x11",
                                                    "meaning":"arithmetic overflow/underflow"
                                                }
                                            }
                                        }
                                    },
                                    "decodedCustomError":{
                                        "summary":"Decoded custom error",
                                        "value":{
                                            "error":"execution reverted",
                                            "upstreamCode":-32000,
                                            "upstreamData":"0xdeadbeef...",
                                            "decodedError":{
                                                "customError":{
                                                    "name":"NotAllowed",
                                                    "signature":"NotAllowed(address)",
                                                    "selector":"0xdeadbeef",
                                                    "args":[
                                                        {
                                                            "name":"account",
                                                            "type":"address",
                                                            "value":"0x00000000000000000000000000000000000000bb"
                                                        }
                                                    ]
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-besu-query-post",
                "x-filename-id":"v1-besu-query-post"
            }
        },
        "/v1/contracts":{
            "get":{
                "tags":[
                    "Contracts"
                ],
                "summary":"List Contract Deployments",
                "operationId":"listContracts",
                "description":"<p>Returns a list of all contract deployments saved in the registry.</p><p>It doesn't return the associated ABI, bytecode and storage layouts.</p>",
                "responses":{
                    "200":{
                        "description":"Array of contract deployments without ABI/bytecode",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"array",
                                    "items":{
                                        "$ref":"#/components/schemas/ContractSummary"
                                    }
                                },
                                "examples":{
                                    "sample":{
                                        "summary":"Two contract summaries",
                                        "value":[
                                            {
                                                "address":"0xabc0000000000000000000000000000000000000",
                                                "contractRole":"implementation",
                                                "currentVersion":3,
                                                "implementationAddress":null,
                                                "txHash":"0x1234abcd...",
                                                "blockNum":"0x10",
                                                "updatedAt":"2024-12-01T00:00:00Z"
                                            },
                                            {
                                                "address":"0xdef0000000000000000000000000000000000000",
                                                "contractRole":"proxy",
                                                "currentVersion":1,
                                                "implementationAddress":"0ximpl000000000000000000000000000000000000",
                                                "txHash":"0x4567efgh...",
                                                "blockNum":"0x20",
                                                "updatedAt":"2024-12-05T00:00:00Z"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-contracts-get",
                "x-filename-id":"v1-contracts-get"
            }
        },
        "/v1/contracts/{address}":{
            "get":{
                "tags":[
                    "Contracts"
                ],
                "summary":"Get Contract Deployment by Address",
                "operationId":"getContractByAddress",
                "parameters":[
                    {
                        "in":"path",
                        "name":"address",
                        "required":true,
                        "schema":{
                            "type":"string"
                        }
                    }
                ],
                "description":"Returns the full metadata for a registered contract at a particular address, if it is available in the contract registry.",
                "responses":{
                    "200":{
                        "description":"Full deployment metadata, including ABI and bytecode",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/VersionRecord"
                                },
                                "examples":{
                                    "sample":{
                                        "value":{
                                            "version":2,
                                            "asOf":{
                                                "txHash":"0xabc123...",
                                                "blockNum":"0x1a",
                                                "timestamp":"2024-12-01T00:00:00Z"
                                            },
                                            "abi":[
                                                {
                                                    "name":"balanceOf",
                                                    "type":"function",
                                                    "stateMutability":"view",
                                                    "inputs":[
                                                        {
                                                            "name":"account",
                                                            "type":"address"
                                                        }
                                                    ],
                                                    "outputs":[
                                                        {
                                                            "name":"",
                                                            "type":"uint256"
                                                        }
                                                    ]
                                                }
                                            ],
                                            "bytecode":"0x60006000...",
                                            "runtimeCodeHash":"0xdeadbeef...",
                                            "storageLayouts":[
                                                {
                                                    "type":"solc",
                                                    "schemaVersion":"0.8.26",
                                                    "capturedAt":"2024-12-01T00:00:00Z",
                                                    "sourceKind":"solc",
                                                    "content":{
                                                        "storage":[
                                                        ],
                                                        "types":{
                                                        }
                                                    }
                                                }
                                            ],
                                            "implementationAddress":null,
                                            "metadata":{
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404":{
                        "description":"Contract not found"
                    }
                },
                "x-internal-id":"v1-contracts-{address}-get",
                "x-filename-id":"v1-contracts-address-get"
            }
        },
        "/v1/contracts/{address}/at/{blockNum}":{
            "get":{
                "tags":[
                    "Contracts"
                ],
                "summary":"Get Version at a Specific Block",
                "operationId":"getContractVersionAt",
                "parameters":[
                    {
                        "in":"path",
                        "name":"address",
                        "required":true,
                        "schema":{
                            "type":"string"
                        }
                    },
                    {
                        "in":"path",
                        "name":"blockNum",
                        "required":true,
                        "schema":{
                            "type":"string",
                            "description":"0x-prefixed hex or decimal"
                        }
                    }
                ],
                "description":"<p>Returns the full metadata for a registered contract at a particular address applicable at the given block number, if it is available in the contract registry.<p>",
                "responses":{
                    "200":{
                        "description":"Contract version snapshot",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/VersionRecord"
                                },
                                "examples":{
                                    "sample":{
                                        "value":{
                                            "version":1,
                                            "asOf":{
                                                "txHash":"0xbeef1234...",
                                                "blockNum":"0x20",
                                                "timestamp":"2024-12-07T12:00:00Z"
                                            },
                                            "abi":[
                                                {
                                                    "name":"totalSupply",
                                                    "type":"function",
                                                    "stateMutability":"view",
                                                    "inputs":[
                                                    ],
                                                    "outputs":[
                                                        {
                                                            "name":"",
                                                            "type":"uint256"
                                                        }
                                                    ]
                                                }
                                            ],
                                            "bytecode":"0x6000...",
                                            "runtimeCodeHash":"0xfaceb00c...",
                                            "storageLayouts":[
                                                {
                                                    "type":"solc",
                                                    "schemaVersion":"0.8.26",
                                                    "content":{
                                                        "storage":[
                                                        ],
                                                        "types":{
                                                        }
                                                    }
                                                }
                                            ],
                                            "implementationAddress":"0x000000000000000000000000000000000000c0de",
                                            "metadata":{
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404":{
                        "description":"Not found"
                    }
                },
                "x-internal-id":"v1-contracts-{address}-at-{blockNum}-get",
                "x-filename-id":"v1-contracts-address-blocknum-get"
            }
        },
        "/v1/wallets":{
            "get":{
                "tags":[
                    "Wallets"
                ],
                "summary":"List Wallets for Current User",
                "operationId":"walletsList",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Returns all wallets owned by the authenticated user from the custodial wallet service.</p>",
                "responses":{
                    "200":{
                        "description":"Array of wallets belonging to the current user",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"array",
                                    "items":{
                                        "$ref":"#/components/schemas/Wallet"
                                    }
                                },
                                "examples":{
                                    "sample":{
                                        "summary":"Example wallet list",
                                        "value":[
                                            {
                                                "orgId":"example-instance",
                                                "userId":"alice",
                                                "walletId":"wlt_123456",
                                                "label":"Primary",
                                                "address":"0x1111111111111111111111111111111111111111",
                                                "publicKey":"0x04ab...",
                                                "privateKeyId":"kid-abc",
                                                "status":"ACTIVE"
                                            },
                                            {
                                                "orgId":"example-instance",
                                                "userId":"alice",
                                                "walletId":"wlt_789012",
                                                "label":"Spending",
                                                "address":"0x2222222222222222222222222222222222222222",
                                                "publicKey":"0x04cd...",
                                                "privateKeyId":"kid-def",
                                                "status":"FROZEN"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Missing or invalid request parameters",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-get",
                "x-filename-id":"v1-wallets-get"
            },
            "post":{
                "tags":[
                    "Wallets"
                ],
                "summary":"Create New Wallet for Current User",
                "operationId":"walletsCreate",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Creates and returns the details of a new EOA wallet address for the authenticated caller.</p><p>Optional label can be passed for identification purposes.<p>",
                "requestBody":{
                    "required":false,
                    "content":{
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/WalletCreateRequest"
                            },
                            "examples":{
                                "withLabel":{
                                    "summary":"Create with label",
                                    "value":{
                                        "label":"Treasury"
                                    }
                                },
                                "withoutLabel":{
                                    "summary":"Create without a label",
                                    "value":{
                                    }
                                }
                            }
                        }
                    }
                },
                "responses":{
                    "201":{
                        "description":"Wallet created",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/Wallet"
                                },
                                "examples":{
                                    "created":{
                                        "value":{
                                            "orgId":"example-instance",
                                            "userId":"alice",
                                            "walletId":"wlt_555000",
                                            "label":"Treasury",
                                            "address":"0x3333333333333333333333333333333333333333",
                                            "publicKey":"0x04ef...",
                                            "privateKeyId":"kid-xyz",
                                            "status":"ACTIVE"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid request (example, label does not satisfy configured constraints)",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-post",
                "x-filename-id":"v1-wallets-post"
            }
        },
        "/v1/wallets/uploadkey":{
            "post":{
                "tags":[
                    "Wallets"
                ],
                "summary":"Upload Existing Key as Wallet for Current User",
                "operationId":"walletsUploadKey",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Import and associate an external EOA private key.</p><p>It accepts either a multipart form upload with a binary keyfile, or a JSON payload containing a Base64-encoded 32-byte private key.<p>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "multipart/form-data":{
                            "schema":{
                                "type":"object",
                                "required":[
                                    "keyfile"
                                ],
                                "properties":{
                                    "keyfile":{
                                        "type":"string",
                                        "format":"binary",
                                        "description":"Key material to be imported."
                                    },
                                    "metadata":{
                                        "$ref":"#/components/schemas/UploadKeyClientMetadata"
                                    }
                                }
                            },
                            "encoding":{
                                "metadata":{
                                    "contentType":"application/json"
                                }
                            }
                        },
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/UploadKeyJsonRequest"
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"Wallet created from uploaded key",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/Wallet"
                                },
                                "examples":{
                                    "created":{
                                        "value":{
                                            "orgId":"example-instance",
                                            "userId":"alice",
                                            "walletId":"wlt_up_001",
                                            "label":"Imported",
                                            "address":"0x4444444444444444444444444444444444444444",
                                            "publicKey":"0x04aa...",
                                            "privateKeyId":"kid-import",
                                            "status":"ACTIVE"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid request (for example, missing keyfile or invalid metadata)",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "413":{
                        "description":"Payload too large",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-uploadkey-post",
                "x-filename-id":"v1-wallets-uploadkey-post"
            }
        },
        "/v1/wallets/{walletId}/freeze":{
            "patch":{
                "tags":[
                    "Wallets"
                ],
                "summary":"Freeze a Wallet",
                "operationId":"walletsFreeze",
                "parameters":[
                    {
                        "in":"path",
                        "name":"walletId",
                        "required":true,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Wallet identifier."
                    },
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Mark a given <code>walletID</code> as inactive, preventing any attempts of signing using it.<p>",
                "responses":{
                    "200":{
                        "description":"Wallet state after freeze operation",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/Wallet"
                                },
                                "examples":{
                                    "frozen":{
                                        "value":{
                                            "walletId":"wlt_123456",
                                            "status":"FROZEN"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-{walletId}-freeze-patch",
                "x-filename-id":"v1-wallets-walletid-freeze-patch"
            }
        },
        "/v1/wallets/{walletId}/activate":{
            "patch":{
                "tags":[
                    "Wallets"
                ],
                "summary":"Activate a Wallet",
                "operationId":"walletsActivate",
                "parameters":[
                    {
                        "in":"path",
                        "name":"walletId",
                        "required":true,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Wallet identifier."
                    },
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Mark a given <code>walletID</code> as active, allowing it to be used for any future signing requests.</p>",
                "responses":{
                    "200":{
                        "description":"Wallet state after activation",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/Wallet"
                                },
                                "examples":{
                                    "activated":{
                                        "value":{
                                            "walletId":"wlt_123456",
                                            "status":"ACTIVE"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-{walletId}-activate-patch",
                "x-filename-id":"v1-wallets-walletid-activate-patch"
            }
        },
        "/v1/wallets/{walletId}":{
            "get":{
                "tags":[
                    "Wallets"
                ],
                "summary":"Get a wallet by ID",
                "operationId":"walletsGetById",
                "parameters":[
                    {
                        "in":"path",
                        "name":"walletId",
                        "required":true,
                        "schema":{
                            "type":"string"
                        }
                    },
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Retrieves the full custodial wallet record for the specified <code>walletId</code>.</p>",
                "responses":{
                    "200":{
                        "description":"Wallet",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/Wallet"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-{walletId}-get",
                "x-filename-id":"v1-wallets-walletid-get"
            },
            "patch":{
                "tags":[
                    "Wallets"
                ],
                "summary":"Update a Wallet",
                "operationId":"walletsPatch",
                "parameters":[
                    {
                        "in":"path",
                        "name":"walletId",
                        "required":true,
                        "schema":{
                            "type":"string"
                        }
                    },
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation identifier. Echoed in responses when provided and forwarded upstream."
                    }
                ],
                "description":"<p>Modify either the wallet's label or its status.</p>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/json":{
                            "schema":{
                                "oneOf":[
                                    {
                                        "$ref":"#/components/schemas/PatchLabelClient"
                                    },
                                    {
                                        "$ref":"#/components/schemas/PatchStatusClient"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"Updated wallet",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/Wallet"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream wallet service error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-wallets-{walletId}-patch",
                "x-filename-id":"v1-wallets-walletid-patch"
            }
        },
        "/healthz":{
            "get":{
                "tags":[
                    "Health"
                ],
                "summary":"Liveness Probe",
                "operationId":"healthz",
                "description":"Runs a basic check to confirm the gateway process is running.",
                "responses":{
                    "200":{
                        "description":"Liveness successful",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"object",
                                    "properties":{
                                        "status":{
                                            "type":"string"
                                        }
                                    }
                                },
                                "examples":{
                                    "ok":{
                                        "value":{
                                            "status":"ok"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"healthz-get",
                "x-filename-id":"healthz-get"
            }
        },
        "/ready":{
            "get":{
                "tags":[
                    "Health"
                ],
                "summary":"Readiness Probe",
                "operationId":"ready",
                "description":"Reports whether the gateway is ready to serve traffic.",
                "responses":{
                    "200":{
                        "description":"Readiness successful",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"object",
                                    "properties":{
                                        "ready":{
                                            "type":"boolean"
                                        }
                                    }
                                },
                                "examples":{
                                    "ok":{
                                        "value":{
                                            "ready":true
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"ready-get",
                "x-filename-id":"ready-get"
            }
        },
        "/openapi":{
            "get":{
                "tags":[
                    "OpenAPI"
                ],
                "summary":"Retrieve OpenAPI Document",
                "operationId":"getOpenApi",
                "description":"Returns the gateway's current OpenAPI specification.",
                "responses":{
                    "200":{
                        "description":"Current OpenAPI document",
                        "content":{
                            "application/vnd.oai.openapi":{
                                "schema":{
                                    "type":"string"
                                }
                            }
                        }
                    },
                    "304":{
                        "description":"Not Modified"
                    }
                },
                "x-internal-id":"openapi-get",
                "x-filename-id":"openapi-get"
            }
        },
        "/v1/instance/genesisdata":{
            "get":{
                "tags":[
                    "Instance"
                ],
                "summary":"Get Genesis Configuration",
                "operationId":"getGenesisData",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation ID."
                    }
                ],
                "description":"Returns the <code>genesis.json</code> content for the current instance. Access is restricted to users with the founder role.",
                "responses":{
                    "200":{
                        "description":"Genesis configuration",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"object",
                                    "additionalProperties":true
                                },
                                "examples":{
                                    "sample":{
                                        "value":{
                                            "config":{
                                                "chainId":1337,
                                                "homesteadBlock":0
                                            },
                                            "alloc":{
                                            },
                                            "nonce":"0x0",
                                            "timestamp":"0x0",
                                            "gasLimit":"0x47b760",
                                            "difficulty":"0x1"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403":{
                        "description":"Forbidden",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "404":{
                        "description":"Resource not found",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream or configuration read error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-instance-genesisdata-get",
                "x-filename-id":"v1-instance-genesisdata-get"
            }
        },
        "/v1/instance/genesisdata/zip":{
            "get":{
                "tags":[
                    "Instance"
                ],
                "summary":"Download Genesis Bundle",
                "operationId":"downloadGenesisBundle",
                "parameters":[
                    {
                        "in":"header",
                        "name":"X-Request-Id",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Optional request correlation ID."
                    }
                ],
                "description":"<p>Returns a zip archive containing <code>genesis.json</code> and <code>static-nodes.json</code> for the current instance.</p><p>This archive can be used for creation of participant instances. Access is restricted to users with the founder role.</p>",
                "responses":{
                    "200":{
                        "description":"Zip archive with genesis.json and static-nodes.json",
                        "content":{
                            "application/zip":{
                                "schema":{
                                    "type":"string",
                                    "format":"binary"
                                }
                            }
                        }
                    },
                    "403":{
                        "description":"Forbidden",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "404":{
                        "description":"Resource not found",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502":{
                        "description":"Upstream or configuration read error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-instance-genesisdata-zip-get",
                "x-filename-id":"v1-instance-genesisdata-zip-get"
            }
        },
        "/v1/contracts/manifests/import":{
            "post":{
                "tags":[
                    "Contracts"
                ],
                "summary":"Import OpenZeppelin/Hardhat Manifest and Contracts",
                "operationId":"importManifest",
                "description":"<p>Imports a manifest file, ABIs, and bytecodes for the associated contracts compiled and deployed via Hardhat.</p>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/json":{
                            "schema":{
                                "type":"object",
                                "required":[
                                    "manifest",
                                    "contracts"
                                ],
                                "properties":{
                                    "manifest":{
                                        "type":"object",
                                        "description":"OpenZeppelin/Hardhat manifest JSON"
                                    },
                                    "contracts":{
                                        "type":"array",
                                        "description":"Addresses to register with ABI and deployed runtime bytecode. For each item, provide either blockNum or txHash.",
                                        "items":{
                                            "type":"object",
                                            "required":[
                                                "address",
                                                "abi",
                                                "bytecode"
                                            ],
                                            "properties":{
                                                "address":{
                                                    "type":"string",
                                                    "description":"20-byte 0x-prefixed address"
                                                },
                                                "abi":{
                                                    "type":"array",
                                                    "description":"Standard JSON ABI entries",
                                                    "items":{
                                                        "type":"object"
                                                    }
                                                },
                                                "bytecode":{
                                                    "type":"string",
                                                    "description":"Deployed runtime bytecode (0x-hex)"
                                                },
                                                "blockNum":{
                                                    "type":"string",
                                                    "nullable":true,
                                                    "description":"0x-prefixed hex or decimal block number"
                                                },
                                                "txHash":{
                                                    "type":"string",
                                                    "nullable":true,
                                                    "description":"0x-prefixed 32-byte transaction hash"
                                                },
                                                "role":{
                                                    "type":"string",
                                                    "nullable":true,
                                                    "description":"Optional role hint",
                                                    "enum":[
                                                        "proxy",
                                                        "implementation",
                                                        "impl",
                                                        "library"
                                                    ]
                                                }
                                            },
                                            "oneOf":[
                                                {
                                                    "required":[
                                                        "blockNum"
                                                    ]
                                                },
                                                {
                                                    "required":[
                                                        "txHash"
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            },
                            "examples":{
                                "sample":{
                                    "value":{
                                        "manifest":{
                                            "manifestVersion":"3.2",
                                            "proxies":[
                                            ],
                                            "impls":{
                                                "123abc":{
                                                    "address":"0x0000000000000000000000000000000000000abc",
                                                    "txHash":"0xabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca"
                                                }
                                            }
                                        },
                                        "contracts":[
                                            {
                                                "address":"0x1111111111111111111111111111111111111111",
                                                "abi":[
                                                    {
                                                        "name":"balanceOf",
                                                        "type":"function",
                                                        "stateMutability":"view",
                                                        "inputs":[
                                                            {
                                                                "name":"account",
                                                                "type":"address"
                                                            }
                                                        ],
                                                        "outputs":[
                                                            {
                                                                "name":"",
                                                                "type":"uint256"
                                                            }
                                                        ]
                                                    }
                                                ],
                                                "bytecode":"0x6000...",
                                                "txHash":"0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
                                                "role":"proxy"
                                            },
                                            {
                                                "address":"0x2222222222222222222222222222222222222222",
                                                "abi":[
                                                    {
                                                        "name":"totalSupply",
                                                        "type":"function",
                                                        "stateMutability":"view",
                                                        "inputs":[
                                                        ],
                                                        "outputs":[
                                                            {
                                                                "name":"",
                                                                "type":"uint256"
                                                            }
                                                        ]
                                                    }
                                                ],
                                                "bytecode":"0x6000...",
                                                "blockNum":"0x2a",
                                                "role":"library"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"object",
                                    "additionalProperties":true
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Validation error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-contracts-manifests-import-post",
                "x-filename-id":"v1-contracts-manifests-import-post"
            }
        },
        "/v1/contracts/solc/import":{
            "post":{
                "tags":[
                    "Contracts"
                ],
                "summary":"Import solc Storage Layout, ABI, and Deployed Runtime Bytecode for a Contract Address",
                "operationId":"ingestSolc",
                "description":"<p>Import the ABIs, bytecodes, and storage layouts for the associated contracts compiled using solc.<p>",
                "requestBody":{
                    "required":true,
                    "content":{
                        "application/json":{
                            "schema":{
                                "type":"object",
                                "required":[
                                    "address",
                                    "asOf",
                                    "layout",
                                    "abi",
                                    "bytecode"
                                ],
                                "properties":{
                                    "address":{
                                        "type":"string",
                                        "description":"Deployed contract address"
                                    },
                                    "asOf":{
                                        "type":"object",
                                        "required":[
                                            "blockNum"
                                        ],
                                        "properties":{
                                            "txHash":{
                                                "type":"string",
                                                "nullable":true
                                            },
                                            "blockNum":{
                                                "type":"string",
                                                "description":"0x-prefixed hex or decimal"
                                            },
                                            "timestamp":{
                                                "type":"string",
                                                "nullable":true
                                            }
                                        }
                                    },
                                    "layout":{
                                        "type":"object",
                                        "description":"Solidity compiler storage layout JSON (must include storage and types)"
                                    },
                                    "abi":{
                                        "type":"array",
                                        "items":{
                                            "type":"object"
                                        }
                                    },
                                    "bytecode":{
                                        "type":"string",
                                        "description":"Deployed runtime bytecode (0x-hex)"
                                    }
                                }
                            },
                            "examples":{
                                "sample":{
                                    "value":{
                                        "address":"0x000000000000000000000000000000000000c0de",
                                        "asOf":{
                                            "txHash":"0xabc123...",
                                            "blockNum":"0x10",
                                            "timestamp":"2024-12-08T12:00:00Z"
                                        },
                                        "layout":{
                                            "storage":[
                                            ],
                                            "types":{
                                            }
                                        },
                                        "abi":[
                                            {
                                                "type":"function",
                                                "name":"balanceOf",
                                                "stateMutability":"view",
                                                "inputs":[
                                                    {
                                                        "name":"account",
                                                        "type":"address"
                                                    }
                                                ],
                                                "outputs":[
                                                    {
                                                        "name":"",
                                                        "type":"uint256"
                                                    }
                                                ]
                                            }
                                        ],
                                        "bytecode":"0x6000..."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "type":"object",
                                    "additionalProperties":true
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Validation error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal error",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"v1-contracts-solc-import-post",
                "x-filename-id":"v1-contracts-solc-import-post"
            }
        }
    },
    "components":{
        "schemas":{
            "JsonRpcRequest":{
                "type":"object",
                "additionalProperties":true,
                "required":[
                    "jsonrpc",
                    "method",
                    "params",
                    "id"
                ],
                "properties":{
                    "jsonrpc":{
                        "type":"string",
                        "description":"JSON-RPC protocol version",
                        "example":"2.0"
                    },
                    "method":{
                        "type":"string",
                        "description":"JSON-RPC method name",
                        "example":"eth_blockNumber"
                    },
                    "params":{
                        "type":"array",
                        "description":"JSON-RPC params array; structure depends on the method",
                        "items":{
                            "type":"object"
                        }
                    },
                    "id":{
                        "oneOf":[
                            {
                                "type":"string"
                            },
                            {
                                "type":"integer"
                            }
                        ],
                        "description":"Client-supplied identifier echoed in the response",
                        "example":1
                    }
                }
            },
            "JsonRpcResponse":{
                "type":"object",
                "additionalProperties":true,
                "properties":{
                    "jsonrpc":{
                        "type":"string",
                        "description":"JSON-RPC protocol version",
                        "example":"2.0"
                    },
                    "id":{
                        "oneOf":[
                            {
                                "type":"string"
                            },
                            {
                                "type":"integer"
                            }
                        ],
                        "description":"Echoed request identifier",
                        "example":1
                    },
                    "result":{
                        "nullable":true,
                        "description":"RPC result payload (varies by method)"
                    }
                }
            },
            "JsonRpcErrorObject":{
                "type":"object",
                "properties":{
                    "code":{
                        "type":"integer",
                        "example":-32603
                    },
                    "message":{
                        "type":"string",
                        "example":"Internal error"
                    },
                    "data":{
                        "nullable":true,
                        "description":"Upstream-supplied error data payload (type varies by method)"
                    }
                }
            },
            "JsonRpcErrorResponse":{
                "type":"object",
                "properties":{
                    "jsonrpc":{
                        "type":"string",
                        "description":"JSON-RPC protocol version",
                        "example":"2.0"
                    },
                    "id":{
                        "nullable":true,
                        "oneOf":[
                            {
                                "type":"string"
                            },
                            {
                                "type":"integer"
                            }
                        ],
                        "description":"Echoed request identifier when available"
                    },
                    "error":{
                        "$ref":"#/components/schemas/JsonRpcErrorObject"
                    }
                }
            },
            "SignTransactionRequest":{
                "type":"object",
                "description":"Input for signing and submitting a transaction",
                "properties":{
                    "toAddress":{
                        "type":"string",
                        "description":"Recipient address (omit for contract deployment)"
                    },
                    "fromAddress":{
                        "type":"string",
                        "description":"Sender address to sign with. The gateway signs directly via wallets/{address}/sign. Must belong to the current user."
                    },
                    "ethValue":{
                        "type":"string",
                        "description":"Amount in wei as string (for example, \"10000000000000000\")"
                    },
                    "data":{
                        "type":"string",
                        "description":"Hex calldata; for contract deployment you may provide full bytecode+constructor params here and omit bytecode/abi"
                    },
                    "functionSignature":{
                        "type":"string",
                        "description":"Function selector for ABI encoding when data is absent.\nYou may provide:\n  - Fully-specified signature (for example, \"approve(address,uint256)\"), or\n  - Function name only (for example, \"approve\"); parameter types are inferred from the provided ABI (overloads resolved by argument count). If contractAbi is not supplied and toAddress is provided, the gateway may resolve the ABI by address when available.\n"
                    },
                    "functionArgs":{
                        "type":"array",
                        "items":{
                            "type":"string"
                        },
                        "description":"Function arguments as strings aligned with the parameter order.\nScalars: address, bool, string, int/uint (any width), bytes/bytesN (1..32).\nArrays (1-D) and tuples are supported by passing JSON strings:\n  - Dynamic/fixed arrays: for example, '[\"0xabc...\", \"0xdef...\"]' or '[\"1\",\"2\",\"3\"]'\n  - Tuples (and nested): for example, '[\"0xabc...\", \"42\"]'\nFor function name without types, contractAbi is used to infer param types (overloads resolved by arity).\n"
                    },
                    "contractAbi":{
                        "type":"array",
                        "description":"Optional ABI used to infer parameter types when functionSignature omits types (name-only). For overloaded functions, the entry with matching parameter count is selected. If omitted and toAddress is provided, the gateway may resolve the ABI by address when available.\n",
                        "items":{
                            "type":"object"
                        }
                    },
                    "type":{
                        "type":"integer",
                        "enum":[
                            0,
                            2
                        ],
                        "default":2,
                        "description":"Transaction type (0=legacy, 2=EIP-1559)"
                    },
                    "gasLimit":{
                        "type":"integer",
                        "description":"Gas limit (required for contract deployment; optional otherwise)"
                    },
                    "gasPrice":{
                        "type":"string",
                        "description":"Legacy only; if omitted, fetched via eth_gasPrice"
                    },
                    "gasTipCap":{
                        "type":"string",
                        "description":"EIP-1559 priority fee per gas"
                    },
                    "gasFeeCap":{
                        "type":"string",
                        "description":"EIP-1559 max fee per gas"
                    },
                    "nonce":{
                        "type":"integer",
                        "description":"Nonce; if omitted, fetched via eth_getTransactionCount (pending)"
                    },
                    "bytecode":{
                        "type":"string",
                        "description":"Contract bytecode (0x-hex); required for deployment"
                    },
                    "abi":{
                        "type":"array",
                        "description":"Contract ABI; required if constructorArgs provided",
                        "items":{
                            "type":"object"
                        }
                    },
                    "constructorArgs":{
                        "type":"array",
                        "items":{
                            "type":"string"
                        },
                        "description":"Constructor arguments as strings (optional)"
                    },
                    "storageLayout":{
                        "type":"object",
                        "description":"Optional Solidity compiler storage layout JSON"
                    },
                    "decode":{
                        "$ref":"#/components/schemas/DecodeOptions"
                    },
                    "waitForReceipt":{
                        "type":"boolean",
                        "default":true,
                        "description":"If true, gateway polls for transaction receipt before responding (default: true)"
                    },
                    "receiptWaitMs":{
                        "type":"integer",
                        "default":1500,
                        "description":"Milliseconds to wait between receipt polls (default 1500)"
                    },
                    "receiptMaxTries":{
                        "type":"integer",
                        "default":60,
                        "description":"Max number of receipt polls (default 60)"
                    },
                    "txByHash":{
                        "type":"boolean",
                        "default":false,
                        "description":"Include eth_getTransactionByHash result in response"
                    }
                }
            },
            "SignTransactionResponse":{
                "type":"object",
                "properties":{
                    "txHash":{
                        "type":"string",
                        "description":"Hash of the submitted transaction"
                    },
                    "transactionReceipt":{
                        "type":"object",
                        "nullable":true,
                        "description":"Transaction receipt object (may be null if not yet mined)"
                    },
                    "transactionByHash":{
                        "type":"object",
                        "nullable":true,
                        "description":"Transaction object from eth_getTransactionByHash; present when requested and available",
                        "additionalProperties":true
                    },
                    "contractAddress":{
                        "nullable":true,
                        "type":"string",
                        "description":"Present for contract deployments once mined"
                    },
                    "to":{
                        "type":"string",
                        "description":"Target address (empty for contract deployment)"
                    },
                    "data":{
                        "type":"string",
                        "description":"Hex calldata (or \"0x\") for the transaction"
                    },
                    "nonce":{
                        "type":"string",
                        "description":"Nonce used for the transaction"
                    },
                    "encodedFromSignature":{
                        "type":"boolean",
                        "description":"True if calldata was generated from functionSignature"
                    },
                    "decoded":{
                        "$ref":"#/components/schemas/DecodedResult",
                        "nullable":true,
                        "description":"Optional decoded info when decode flags requested"
                    }
                }
            },
            "ContractSummary":{
                "type":"object",
                "properties":{
                    "address":{
                        "type":"string"
                    },
                    "contractRole":{
                        "type":"string"
                    },
                    "currentVersion":{
                        "type":"integer"
                    },
                    "implementationAddress":{
                        "type":"string",
                        "nullable":true
                    },
                    "txHash":{
                        "type":"string",
                        "nullable":true
                    },
                    "blockNum":{
                        "type":"string",
                        "nullable":true
                    },
                    "updatedAt":{
                        "type":"string",
                        "nullable":true
                    }
                }
            },
            "AsOf":{
                "type":"object",
                "required":[
                    "blockNum"
                ],
                "properties":{
                    "txHash":{
                        "type":"string",
                        "nullable":true
                    },
                    "blockNum":{
                        "type":"string",
                        "description":"0x-prefixed hex or decimal"
                    },
                    "timestamp":{
                        "type":"string",
                        "nullable":true
                    }
                }
            },
            "StorageLayoutVariantRef":{
                "type":"object",
                "properties":{
                    "type":{
                        "type":"string"
                    },
                    "schemaVersion":{
                        "type":"string"
                    },
                    "capturedAt":{
                        "type":"string",
                        "nullable":true
                    },
                    "sourceKind":{
                        "type":"string"
                    },
                    "sourceToolchain":{
                        "type":"string",
                        "nullable":true
                    },
                    "content":{
                        "type":"object",
                        "nullable":true
                    }
                }
            },
            "VersionRecord":{
                "type":"object",
                "properties":{
                    "version":{
                        "type":"integer"
                    },
                    "asOf":{
                        "$ref":"#/components/schemas/AsOf"
                    },
                    "abi":{
                        "type":"array",
                        "items":{
                            "type":"object"
                        }
                    },
                    "bytecode":{
                        "type":"string",
                        "nullable":true
                    },
                    "runtimeCodeHash":{
                        "type":"string",
                        "nullable":true
                    },
                    "storageLayouts":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/StorageLayoutVariantRef"
                        }
                    },
                    "implementationAddress":{
                        "type":"string",
                        "nullable":true
                    },
                    "metadata":{
                        "type":"object",
                        "nullable":true
                    }
                }
            },
            "QueryRequest":{
                "type":"object",
                "description":"Input for read-only contract query",
                "properties":{
                    "toAddress":{
                        "type":"string",
                        "description":"Target contract address"
                    },
                    "data":{
                        "type":"string",
                        "description":"Hex calldata; if absent and functionSignature provided, gateway encodes it"
                    },
                    "functionSignature":{
                        "type":"string",
                        "description":"Function selector for ABI encoding. Provide fully specified signature (for example, \"balanceOf(address)\") or name-only. For name-only, parameter types are inferred from contractAbi when provided; if absent and toAddress is provided, the gateway may resolve the ABI by address when available.\n"
                    },
                    "functionArgs":{
                        "type":"array",
                        "items":{
                            "type":"string"
                        },
                        "description":"Function arguments as strings. Scalars as plain strings; arrays/tuples as JSON strings (for example, '[\"1\",\"2\"]').\n"
                    },
                    "contractAbi":{
                        "type":"array",
                        "items":{
                            "type":"object"
                        },
                        "description":"Optional ABI used to infer parameter types when functionSignature omits types (name-only). If omitted and toAddress is provided, the gateway may resolve the ABI by address when available.\n"
                    },
                    "fromAddress":{
                        "type":"string",
                        "description":"Optional call sender; defaults to zero-address if omitted"
                    },
                    "gasLimit":{
                        "type":"integer",
                        "description":"Optional gas limit for eth_call execution"
                    },
                    "ethValue":{
                        "type":"string",
                        "description":"Optional wei value for eth_call"
                    },
                    "blockTag":{
                        "type":"string",
                        "description":"Block tag (\"latest\", \"pending\", \"earliest\", hex or decimal block number)"
                    },
                    "decode":{
                        "$ref":"#/components/schemas/DecodeOptions"
                    }
                },
                "required":[
                    "toAddress"
                ]
            },
            "QueryResponse":{
                "type":"object",
                "properties":{
                    "to":{
                        "type":"string",
                        "description":"Target contract address for the call"
                    },
                    "from":{
                        "type":"string",
                        "description":"Sender address used to execute the eth_call"
                    },
                    "data":{
                        "type":"string",
                        "description":"0x-hex encoded calldata used for the call"
                    },
                    "blockTag":{
                        "type":"string",
                        "description":"Block parameter used for the call (\"latest\", \"pending\", \"earliest\", or a block number)"
                    },
                    "rawResult":{
                        "type":"string",
                        "description":"0x-hex return data from eth_call"
                    },
                    "encodedFromSignature":{
                        "type":"boolean",
                        "description":"True if calldata was generated from functionSignature"
                    },
                    "decoded":{
                        "$ref":"#/components/schemas/DecodedResult",
                        "nullable":true,
                        "description":"Optional decoded info when decode flags requested"
                    }
                }
            },
            "ErrorResponse":{
                "type":"object",
                "properties":{
                    "error":{
                        "type":"string",
                        "description":"Short error summary suitable for display"
                    },
                    "message":{
                        "type":"string",
                        "nullable":true,
                        "description":"Additional error details, when available"
                    },
                    "hint":{
                        "type":"string",
                        "nullable":true,
                        "description":"Optional guidance that may help resolve the error"
                    },
                    "upstreamCode":{
                        "type":"integer",
                        "nullable":true,
                        "description":"Upstream node error code (if provided by the RPC endpoint)"
                    },
                    "upstreamData":{
                        "type":"string",
                        "nullable":true,
                        "description":"Raw upstream error data payload (0x-hex or JSON), if available"
                    },
                    "decodedError":{
                        "$ref":"#/components/schemas/DecodedError",
                        "nullable":true,
                        "description":"Optional decoded revert error when available"
                    },
                    "requestId":{
                        "type":"string",
                        "nullable":true,
                        "description":"Client-provided correlation ID echoed in responses"
                    }
                }
            },
            "DecodeOptions":{
                "type":"object",
                "description":"Selective decode options; flags default to false when omitted.",
                "properties":{
                    "inputs":{
                        "type":"boolean",
                        "description":"Decode function inputs (signTransaction)"
                    },
                    "outputs":{
                        "type":"boolean",
                        "description":"Decode function outputs (query)"
                    },
                    "events":{
                        "type":"boolean",
                        "description":"Decode event logs (signTransaction)"
                    },
                    "errors":{
                        "type":"boolean",
                        "description":"Decode revert reasons (both endpoints)"
                    }
                }
            },
            "DecodedMeta":{
                "type":"object",
                "properties":{
                    "abiSource":{
                        "type":"string",
                        "description":"Where ABI was resolved from",
                        "enum":[
                            "request",
                            "registry",
                            "none"
                        ]
                    },
                    "warnings":{
                        "type":"array",
                        "description":"Non-fatal issues encountered while attempting to decode",
                        "items":{
                            "type":"string"
                        }
                    }
                }
            },
            "DecodedFunctionInfo":{
                "type":"object",
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"Function name without parameter types"
                    },
                    "signature":{
                        "type":"string",
                        "description":"Canonical function signature including parameter types (for example, \"approve(address,uint256)\")"
                    },
                    "selector":{
                        "type":"string",
                        "description":"4-byte function selector (0x-prefixed hex)"
                    }
                }
            },
            "DecodedArgument":{
                "type":"object",
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"May be empty if unknown"
                    },
                    "type":{
                        "type":"string",
                        "description":"Canonical ABI type (for example, uint256, address, (uint256,address), uint256[])"
                    },
                    "value":{
                        "nullable":true,
                        "description":"Normalized JSON value (address lowercase hex, bigints as decimal strings, bytes as 0x-hex)"
                    },
                    "indexed":{
                        "type":"boolean",
                        "nullable":true,
                        "description":"Only for event parameters"
                    }
                }
            },
            "DecodedInput":{
                "type":"object",
                "description":"Decoded function input arguments",
                "properties":{
                    "args":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/DecodedArgument"
                        }
                    }
                }
            },
            "DecodedOutput":{
                "type":"object",
                "description":"Decoded function return values",
                "properties":{
                    "returns":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/DecodedArgument"
                        }
                    }
                }
            },
            "DecodedEvent":{
                "type":"object",
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"Event name without parameter types"
                    },
                    "signature":{
                        "type":"string",
                        "description":"Canonical event signature including parameter types"
                    },
                    "address":{
                        "type":"string",
                        "description":"Contract address that emitted the log"
                    },
                    "logIndex":{
                        "type":"integer",
                        "nullable":true,
                        "description":"Zero-based index of the log within the block"
                    },
                    "topics":{
                        "type":"array",
                        "description":"Log topics as 0x-hex values",
                        "items":{
                            "type":"string"
                        }
                    },
                    "data":{
                        "type":"string",
                        "description":"Event data payload (0x-hex)"
                    },
                    "args":{
                        "type":"array",
                        "description":"Decoded event arguments (indexed indicates topic-encoded parameter)",
                        "items":{
                            "$ref":"#/components/schemas/DecodedArgument"
                        }
                    }
                }
            },
            "DecodedError":{
                "type":"object",
                "properties":{
                    "standardError":{
                        "nullable":true,
                        "type":"object",
                        "description":"Decoded standard Error(string) revert",
                        "properties":{
                            "selector":{
                                "type":"string",
                                "example":"0x08c379a0"
                            },
                            "message":{
                                "type":"string",
                                "nullable":true,
                                "description":"Revert message string"
                            }
                        }
                    },
                    "standardPanic":{
                        "nullable":true,
                        "type":"object",
                        "description":"Decoded Panic(uint256) revert",
                        "properties":{
                            "selector":{
                                "type":"string",
                                "example":"0x4e487b71"
                            },
                            "code":{
                                "type":"string",
                                "nullable":true,
                                "description":"Panic code value (hex or decimal string)"
                            },
                            "meaning":{
                                "type":"string",
                                "nullable":true,
                                "description":"Human-readable interpretation of the panic code, when known"
                            }
                        }
                    },
                    "customError":{
                        "nullable":true,
                        "type":"object",
                        "description":"Decoded custom error as defined in the contract ABI",
                        "properties":{
                            "name":{
                                "type":"string"
                            },
                            "signature":{
                                "type":"string"
                            },
                            "selector":{
                                "type":"string"
                            },
                            "args":{
                                "type":"array",
                                "items":{
                                    "$ref":"#/components/schemas/DecodedArgument"
                                }
                            }
                        }
                    }
                }
            },
            "DecodedResult":{
                "type":"object",
                "description":"Aggregate decoded information for the transaction or call",
                "properties":{
                    "meta":{
                        "$ref":"#/components/schemas/DecodedMeta"
                    },
                    "function":{
                        "$ref":"#/components/schemas/DecodedFunctionInfo"
                    },
                    "input":{
                        "$ref":"#/components/schemas/DecodedInput"
                    },
                    "output":{
                        "$ref":"#/components/schemas/DecodedOutput"
                    },
                    "events":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/DecodedEvent"
                        }
                    },
                    "error":{
                        "$ref":"#/components/schemas/DecodedError"
                    }
                }
            },
            "Wallet":{
                "type":"object",
                "description":"Wallet record as returned by the wallet service",
                "properties":{
                    "orgId":{
                        "type":"string",
                        "description":"Organization identifier (instance name)."
                    },
                    "userId":{
                        "type":"string",
                        "description":"User identifier."
                    },
                    "walletId":{
                        "type":"string",
                        "description":"Wallet identifier."
                    },
                    "label":{
                        "type":"string",
                        "nullable":true,
                        "description":"Optional user-defined label."
                    },
                    "address":{
                        "type":"string",
                        "description":"Wallet address in 0x-prefixed hexadecimal format."
                    },
                    "publicKey":{
                        "type":"string",
                        "nullable":true,
                        "description":"Public key associated with the wallet, when available."
                    },
                    "privateKeyId":{
                        "type":"string",
                        "nullable":true,
                        "description":"Upstream key identifier for custodial storage, when available."
                    },
                    "status":{
                        "type":"string",
                        "description":"Current wallet status."
                    }
                }
            },
            "WalletCreateRequest":{
                "type":"object",
                "description":"Request to create a wallet for the current user.",
                "properties":{
                    "label":{
                        "type":"string",
                        "nullable":true,
                        "description":"Optional label subject to server-side validation rules."
                    }
                }
            },
            "UploadKeyClientMetadata":{
                "type":"object",
                "description":"Client-supplied metadata for key upload.",
                "properties":{
                    "label":{
                        "type":"string",
                        "nullable":true,
                        "description":"Optional label subject to server-side validation rules."
                    }
                }
            },
            "UploadKeyJsonRequest":{
                "type":"object",
                "description":"JSON request to upload an existing private key for the current user.",
                "required":[
                    "privateKeyB64"
                ],
                "properties":{
                    "label":{
                        "type":"string",
                        "nullable":true,
                        "description":"Optional label subject to server-side validation rules."
                    },
                    "privateKeyB64":{
                        "type":"string",
                        "description":"Base64-encoded 32-byte SECP256K1 private key."
                    }
                }
            },
            "PatchLabelClient":{
                "type":"object",
                "description":"Partially update wallet label.",
                "required":[
                    "label"
                ],
                "properties":{
                    "label":{
                        "type":"string",
                        "description":"New wallet label."
                    }
                }
            },
            "PatchStatusClient":{
                "type":"object",
                "description":"Partially update wallet status.",
                "required":[
                    "status"
                ],
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"New status value."
                    }
                }
            }
        }
    }
}