{"openapi":"3.1.0","info":{"title":"Engine Cloud API","description":"Engine Cloud API Reference","license":{"name":""},"version":"0.1.0"},"paths":{"/v1/write/contract":{"post":{"tags":["Write"],"summary":"Write Contract","description":"Call a contract function with a transaction","operationId":"writeContract","parameters":[{"name":"x-vault-access-token","in":"header","description":"Vault access token","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"description":"Write contract request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteContractRequest"}}},"required":true},"responses":{"202":{"description":"Transaction(s) queued successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_QueuedTransactionsResponse"},"example":{"transactions":[{"batchIndex":0,"executionParams":{"chainId":1,"executorType":"ERC4337","idempotencyKey":"123"},"id":"1","transactionParams":[{"data":"0x123","to":"0x123","value":"0x123"}]}]}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/write/transaction":{"post":{"tags":["Write"],"summary":"Write Transaction","description":"Execute raw transactions","operationId":"sendTransaction","parameters":[{"name":"x-vault-access-token","in":"header","description":"Vault access token","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"description":"Transaction request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendTransactionRequest"}}},"required":true},"responses":{"202":{"description":"Transaction queued successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_QueuedTransactionsResponse"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/sign/message":{"post":{"tags":["Signature"],"summary":"Sign Message","description":"Sign messages using either EOA or Smart Account","operationId":"signMessage","parameters":[{"name":"x-vault-access-token","in":"header","description":"Vault access token","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"description":"Sign message request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignMessageRequest"}}},"required":true},"responses":{"200":{"description":"Successfully signed messages","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResults_SignResultData"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/sign/typed-data":{"post":{"tags":["Signature"],"summary":"Sign Typed Data","description":"Sign EIP-712 typed data using either EOA or Smart Account","operationId":"signTypedData","parameters":[{"name":"x-vault-access-token","in":"header","description":"Vault access token","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"description":"Sign typed data request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignTypedDataRequest"}}},"required":true},"responses":{"200":{"description":"Successfully signed typed data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResults_SignResultData"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/read/contract":{"post":{"tags":["Read"],"summary":"Read Contract","description":"Read from smart contracts with intelligent execution strategy:\n- Single calls: Always executed directly for efficiency\n- Multiple calls: Uses multicall by default, or direct calls if disabled\n- Failed preparations: Returns preparation errors directly\n\nIf multicall is not specified, it will be used by default. In case of multicall related errors, engine will fallback to direct calls.\nOnly in the case where multicall is explicitly enabled, engine will not fallback to direct calls.","operationId":"readContract","requestBody":{"description":"Read contract request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadRequest"}}},"required":true},"responses":{"200":{"description":"Successfully read contract data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResults_ReadResultSuccessItem"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/encode/contract":{"post":{"tags":["Read"],"summary":"Encode Contract","description":"Encode contract function calls without execution","operationId":"encodeContract","requestBody":{"description":"Encode contract request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EncodeRequest"}}},"required":true},"responses":{"200":{"description":"Successfully encoded contract calls","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResults_EncodeResultSuccessItem"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/solana/transaction":{"post":{"tags":["Solana"],"summary":"Send Solana Transaction","description":"Execute a Solana transaction with custom instructions","operationId":"sendSolanaTransaction","parameters":[{"name":"x-vault-access-token","in":"header","description":"Vault access token","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"description":"Solana transaction request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSolanaTransactionRequest"}}},"required":true},"responses":{"202":{"description":"Solana transaction queued successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_QueuedSolanaTransactionResponse"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/solana/sign/transaction":{"post":{"tags":["Solana"],"summary":"Sign Solana Transaction","description":"Sign a Solana transaction without broadcasting it","operationId":"signSolanaTransaction","parameters":[{"name":"x-vault-access-token","in":"header","description":"Vault access token","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"description":"Sign Solana transaction request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignSolanaTransactionRequest"}}},"required":true},"responses":{"200":{"description":"Successfully signed Solana transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_SignSolanaTransactionResponse"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/transactions/{id}/cancel":{"post":{"tags":["Transactions"],"summary":"Cancel Transaction","description":"Attempt to cancel a queued transaction. Transactions that have been sent and are waiting for mine cannot be cancelled.","operationId":"cancelTransaction","parameters":[{"name":"id","in":"path","description":"Transaction ID to cancel","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction cancellation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionCancelResponse"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/engine/callback":{},"/v1/engine/callback/solana":{},"/cache/smart-account":{},"/v1/accounts":{"post":{"responses":{"201":{"description":"Account created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"address":{"type":"string","description":"EVM address in hex format","example":"0xeb0effdfb4dc5b3d5d3ac6ce29f3ed213e95d675"},"label":{"type":"string"},"createdAt":{"type":"string"},"smartAccountAddress":{"type":"string","description":"The predicted smart account address for use with the default thirdweb v0.7 AccountFactory","example":"0xeb0effdfb4dc5b3d5d3ac6ce29f3ed213e95d675"}},"required":["address","createdAt"]}},"required":["result"]}}}}},"operationId":"createAccount","tags":["Accounts"],"parameters":[{"in":"header","name":"x-vault-access-token","schema":{"type":"string","description":"Vault Access Token used to access your EOA"}}],"summary":"Get or Create Server Wallet","description":"Create a new engine server wallet or retrieve an existing one. If the EOA already exists for the given label, it will be returned without creating a new one.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"}},"required":["label"]}}}}},"get":{"responses":{"200":{"description":"Accounts retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"EVM address in hex format","example":"0xeb0effdfb4dc5b3d5d3ac6ce29f3ed213e95d675"},"label":{"type":"string"},"createdAt":{"type":"string"},"smartAccountAddress":{"type":"string","description":"The predicted smart account address for use with the default thirdweb v0.7 AccountFactory","example":"0xeb0effdfb4dc5b3d5d3ac6ce29f3ed213e95d675"}},"required":["address","createdAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["accounts","pagination"]}},"required":["result"]}}}}},"operationId":"listAccounts","tags":["Accounts"],"parameters":[{"in":"query","name":"page","schema":{"type":"number","default":1}},{"in":"query","name":"limit","schema":{"type":"number","default":100}}],"summary":"List Server Wallets","description":"List all engine server wallets for the current project. Returns an array of EOA addresses with their corresponding predicted smart account addresses."}},"/v1/solana/accounts":{"post":{"responses":{"200":{"description":"Solana account retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"publicKey":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Base58 encoded Solana public key","example":"8JBLmveV4YF5AQ7EVnKJgyj6etGgVkPp3tYqQMTu3p5B"},"label":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["publicKey","createdAt","updatedAt"]}},"required":["result"]}}}},"201":{"description":"Solana account created","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"publicKey":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Base58 encoded Solana public key","example":"8JBLmveV4YF5AQ7EVnKJgyj6etGgVkPp3tYqQMTu3p5B"},"label":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["publicKey","createdAt","updatedAt"]}},"required":["result"]}}}}},"operationId":"createSolanaAccount","tags":["Solana"],"parameters":[{"in":"header","name":"x-vault-access-token","schema":{"type":"string","description":"Vault Access Token used to access your EOA"}}],"summary":"Get or Create Solana Account","description":"Create a new solana wallet in the vault or return the existing wallet for a given label.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string","minLength":1}},"required":["label"]}}}}},"get":{"responses":{"200":{"description":"Solana accounts retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","properties":{"publicKey":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Base58 encoded Solana public key","example":"8JBLmveV4YF5AQ7EVnKJgyj6etGgVkPp3tYqQMTu3p5B"},"label":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["publicKey","createdAt","updatedAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["accounts","pagination"]}},"required":["result"]}}}}},"operationId":"listSolanaAccounts","tags":["Solana"],"parameters":[{"in":"query","name":"page","schema":{"type":"number","default":1}},{"in":"query","name":"limit","schema":{"type":"number","default":100}},{"in":"header","name":"x-vault-access-token","schema":{"type":"string","description":"Vault Access Token used to access your EOA"}}],"summary":"List Solana Accounts","description":"List all Solana wallets provisioned for the project."}},"/v1/solana/sign-message":{"post":{"responses":{"200":{"description":"Message signed","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"signature":{"type":"string","minLength":1,"description":"Base58 encoded signature"}},"required":["signature"]}},"required":["result"]}}}}},"operationId":"signSolanaMessage","tags":["Solana"],"parameters":[{"in":"header","name":"x-vault-access-token","schema":{"type":"string","description":"Vault Access Token used to access your EOA"}}],"summary":"Sign Solana Message","description":"Sign an arbitrary message with a Solana wallet.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Base58 encoded Solana public key","example":"8JBLmveV4YF5AQ7EVnKJgyj6etGgVkPp3tYqQMTu3p5B"},"message":{"type":"string","minLength":1},"format":{"type":"string","enum":["text","hex"]}},"required":["from","message"]}}}}}},"/v1/transactions":{"get":{"responses":{"200":{"description":"Transactions","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"batchIndex":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"clientId":{"type":"string"},"chainId":{"type":"string"},"from":{"type":["string","null"]},"transactionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"transactionHash":{"type":["string","null"]},"status":{"type":["string","null"]},"confirmedAt":{"type":["string","null"]},"confirmedAtBlockNumber":{"type":["string","null"]},"enrichedData":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionResult":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}},{"type":"null"}]},"createdAt":{"type":"string"},"errorMessage":{"type":["string","null"]},"cancelledAt":{"type":["string","null"]}},"required":["id","batchIndex","clientId","chainId","from","transactionParams","transactionHash","status","confirmedAt","confirmedAtBlockNumber","enrichedData","executionParams","executionResult","createdAt","errorMessage","cancelledAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["transactions","pagination"]}},"required":["result"]}}}}},"operationId":"getTransactions","tags":["Transactions"],"parameters":[{"in":"query","name":"page","schema":{"type":"number","default":1}},{"in":"query","name":"limit","schema":{"type":"number","default":100}},{"in":"query","name":"id","schema":{"type":"string"}},{"in":"query","name":"batchIndex","schema":{"type":"number"}},{"in":"query","name":"from","schema":{"type":"string","description":"EVM address in hex format","example":"0xeb0effdfb4dc5b3d5d3ac6ce29f3ed213e95d675"}},{"in":"query","name":"signerAddress","schema":{"type":"string","description":"EVM address in hex format","example":"0xeb0effdfb4dc5b3d5d3ac6ce29f3ed213e95d675"}},{"in":"query","name":"status","schema":{"type":"string","enum":["QUEUED","SUBMITTED","CONFIRMED","FAILED"]}},{"in":"query","name":"sortBy","schema":{"type":"string","enum":["createdAt","confirmedAt"],"default":"createdAt"}},{"in":"query","name":"sortDirection","schema":{"type":"string","enum":["asc","desc"],"default":"desc"}}],"summary":"Get Transactions","description":"Search transactions with various filters and pagination"}},"/v1/transactions/analytics":{"post":{"responses":{"200":{"description":"Transaction Analytics","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"analytics":{"type":"array","items":{"type":"object","properties":{"timeBucket":{"type":"string"},"chainId":{"type":"string"},"count":{"type":"number"}},"required":["timeBucket","chainId","count"]}},"metadata":{"type":"object","properties":{"resolution":{"type":"string","enum":["hour","day","week","month"]},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["resolution","startDate","endDate"]}},"required":["analytics","metadata"]}},"required":["result"]}}}}},"operationId":"getTransactionAnalytics","tags":["Transactions"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"resolution":{"type":"string","enum":["hour","day","week","month"]},"filters":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/TransactionsFilterValue"},{"$ref":"#/components/schemas/TransactionsFilterNested"}]}},"filtersOperation":{"type":"string","enum":["AND","OR"],"default":"AND"}},"required":["startDate","endDate","resolution"]}}}},"summary":"Transaction Analytics","description":"Get transaction count analytics over time with filtering"}},"/v1/transactions/analytics-summary":{"post":{"responses":{"200":{"description":"Transaction Analytics Summary","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"summary":{"type":"object","properties":{"totalCount":{"type":"integer","minimum":0,"description":"Total number of transactions matching the criteria."},"totalGasCostWei":{"type":"string","description":"Sum of actualGasCost (in wei) for all matching transactions, as a string."},"totalGasUnitsUsed":{"type":"string","description":"Sum of actualGasUsed (gas units) for all matching transactions, as a string."}},"required":["totalCount","totalGasCostWei","totalGasUnitsUsed"]},"metadata":{"type":"object","properties":{"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"}}}},"required":["summary","metadata"]}},"required":["result"]}}}},"400":{"description":"Bad Request (e.g., invalid date format, filter depth exceeded)"},"500":{"description":"Internal Server Error (e.g., database error)"}},"operationId":"getTransactionAnalyticsSummary","tags":["Transactions"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"filters":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/TransactionsFilterValue"},{"$ref":"#/components/schemas/TransactionsFilterNested"}]}},"filtersOperation":{"type":"string","enum":["AND","OR"],"default":"AND"}}}}}},"summary":"Transaction Analytics Summary","description":"Get a summary (total count and total gas calculation) for transactions within a time range, supporting complex nested filters."}},"/v1/transactions/search":{"post":{"responses":{"200":{"description":"Transactions","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"batchIndex":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"clientId":{"type":"string"},"chainId":{"type":"string"},"from":{"type":["string","null"]},"transactionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"transactionHash":{"type":["string","null"]},"status":{"type":["string","null"]},"confirmedAt":{"type":["string","null"]},"confirmedAtBlockNumber":{"type":["string","null"]},"enrichedData":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionResult":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}},{"type":"null"}]},"createdAt":{"type":"string"},"errorMessage":{"type":["string","null"]},"cancelledAt":{"type":["string","null"]}},"required":["id","batchIndex","clientId","chainId","from","transactionParams","transactionHash","status","confirmedAt","confirmedAtBlockNumber","enrichedData","executionParams","executionResult","createdAt","errorMessage","cancelledAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["transactions","pagination"]}},"required":["result"]}}}}},"operationId":"searchTransactions","tags":["Transactions"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer","exclusiveMinimum":0,"default":1},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":100,"default":20},"filters":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/TransactionsFilterValue"},{"$ref":"#/components/schemas/TransactionsFilterNested"}]}},"filtersOperation":{"type":"string","enum":["AND","OR"],"default":"AND"},"sortBy":{"type":"string","enum":["createdAt","confirmedAt"],"default":"createdAt"},"sortDirection":{"type":"string","enum":["asc","desc"],"default":"desc"}}}}}},"summary":"Search Transactions","description":"Advanced search for transactions with complex nested filters"}},"/v1/transactions/activity-logs":{"get":{"responses":{"200":{"description":"Activity Logs","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"activityLogs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"transactionId":{"type":"string"},"batchIndex":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"eventType":{"type":"string"},"stageName":{"type":"string"},"executorName":{"type":"string"},"notificationId":{"type":"string"},"payload":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"timestamp":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","transactionId","batchIndex","eventType","stageName","executorName","notificationId","payload","timestamp","createdAt"]}},"transaction":{"type":"object","properties":{"id":{"type":"string"},"batchIndex":{"type":"number"},"clientId":{"type":"string"}},"required":["id","batchIndex","clientId"]},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["activityLogs","transaction","pagination"]}},"required":["result"]}}}},"400":{"description":"Invalid request parameters"},"404":{"description":"Transaction not found or not accessible"}},"operationId":"getActivityLogs","tags":["Transactions","Activity Logs"],"parameters":[{"in":"query","name":"page","schema":{"type":"number","default":1},"required":false},{"in":"query","name":"limit","schema":{"type":"number","default":100},"required":false},{"in":"query","name":"transactionId","schema":{"type":"string","minLength":1},"required":true},{"in":"query","name":"batchIndex","schema":{"type":"integer","minimum":0,"default":0},"required":false},{"in":"query","name":"eventType","schema":{"type":"string","enum":["SUCCESS","FAILURE","NACK"]},"required":false},{"in":"query","name":"stageName","schema":{"type":"string"},"required":false},{"in":"query","name":"executorName","schema":{"type":"string"},"required":false},{"in":"query","name":"sortBy","schema":{"type":"string","enum":["timestamp","createdAt"],"default":"timestamp"},"required":false},{"in":"query","name":"sortDirection","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"required":false}],"summary":"Get Activity Logs","description":"Get paginated activity logs for a specific transaction with tenancy enforcement"}},"/v1/transactions/activity-logs/search":{"post":{"responses":{"200":{"description":"Activity Logs Search Results","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"activityLogs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"transactionId":{"type":"string"},"batchIndex":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"eventType":{"type":"string"},"stageName":{"type":"string"},"executorName":{"type":"string"},"notificationId":{"type":"string"},"payload":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"timestamp":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","transactionId","batchIndex","eventType","stageName","executorName","notificationId","payload","timestamp","createdAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["activityLogs","pagination"]}},"required":["result"]}}}},"400":{"description":"Invalid request parameters"}},"operationId":"searchActivityLogs","tags":["Transactions","Activity Logs"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number","default":1},"limit":{"type":"number","default":100},"transactionIds":{"type":"array","items":{"type":"string","minLength":1}},"eventType":{"type":"string","enum":["SUCCESS","FAILURE","NACK"]},"stageName":{"type":"string"},"executorName":{"type":"string"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"sortBy":{"type":"string","enum":["timestamp","createdAt"],"default":"timestamp"},"sortDirection":{"type":"string","enum":["asc","desc"],"default":"desc"}}}}}},"summary":"Search Activity Logs","description":"Search activity logs across transactions with advanced filtering and tenancy enforcement"}},"/v1/solana/transactions":{"get":{"responses":{"200":{"description":"Solana Transactions","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"},"chainId":{"type":"string"},"signerAddress":{"type":"string"},"transactionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"signature":{"type":["string","null"]},"status":{"type":["string","null"]},"confirmedAt":{"type":["string","null"]},"confirmedAtSlot":{"type":["string","null"]},"blockTime":{"type":["integer","null"],"minimum":-2147483648,"maximum":2147483647},"enrichedData":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionResult":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}},{"type":"null"}]},"createdAt":{"type":"string"},"errorMessage":{"type":["string","null"]},"cancelledAt":{"type":["string","null"]}},"required":["id","clientId","chainId","signerAddress","transactionParams","signature","status","confirmedAt","confirmedAtSlot","blockTime","enrichedData","executionParams","executionResult","createdAt","errorMessage","cancelledAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["transactions","pagination"]}},"required":["result"]}}}}},"operationId":"getSolanaTransactions","tags":["Solana Transactions"],"parameters":[{"in":"query","name":"page","schema":{"type":"number","default":1}},{"in":"query","name":"limit","schema":{"type":"number","default":100}},{"in":"query","name":"id","schema":{"type":"string"}},{"in":"query","name":"chainId","schema":{"type":"string"}},{"in":"query","name":"signerAddress","schema":{"type":"string"}},{"in":"query","name":"signature","schema":{"type":"string"}},{"in":"query","name":"status","schema":{"type":"string","enum":["QUEUED","SUBMITTED","CONFIRMED","FAILED"]}},{"in":"query","name":"sortBy","schema":{"type":"string","enum":["createdAt","confirmedAt"],"default":"createdAt"}},{"in":"query","name":"sortDirection","schema":{"type":"string","enum":["asc","desc"],"default":"desc"}}],"summary":"Get Solana Transactions","description":"Search Solana transactions with various filters and pagination"}},"/v1/solana/transactions/search":{"post":{"responses":{"200":{"description":"Solana Transactions","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"},"chainId":{"type":"string"},"signerAddress":{"type":"string"},"transactionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"signature":{"type":["string","null"]},"status":{"type":["string","null"]},"confirmedAt":{"type":["string","null"]},"confirmedAtSlot":{"type":["string","null"]},"blockTime":{"type":["integer","null"],"minimum":-2147483648,"maximum":2147483647},"enrichedData":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionParams":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"executionResult":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}},{"type":"null"}]},"createdAt":{"type":"string"},"errorMessage":{"type":["string","null"]},"cancelledAt":{"type":["string","null"]}},"required":["id","clientId","chainId","signerAddress","transactionParams","signature","status","confirmedAt","confirmedAtSlot","blockTime","enrichedData","executionParams","executionResult","createdAt","errorMessage","cancelledAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["transactions","pagination"]}},"required":["result"]}}}}},"operationId":"searchSolanaTransactions","tags":["Solana Transactions"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer","exclusiveMinimum":0,"default":1},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":100,"default":20},"filters":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/SolanaTransactionsFilterValue"},{"$ref":"#/components/schemas/SolanaTransactionsFilterNested"}]}},"filtersOperation":{"type":"string","enum":["AND","OR"],"default":"AND"},"sortBy":{"type":"string","enum":["createdAt","confirmedAt"],"default":"createdAt"},"sortDirection":{"type":"string","enum":["asc","desc"],"default":"desc"}}}}}},"summary":"Search Solana Transactions","description":"Advanced search for Solana transactions with complex nested filters"}},"/v1/solana/transactions/activity-logs":{"get":{"responses":{"200":{"description":"Solana Activity Logs","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"activityLogs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"transactionId":{"type":"string"},"eventType":{"type":"string"},"stageName":{"type":"string"},"executorName":{"type":"string"},"notificationId":{"type":"string"},"payload":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"timestamp":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","transactionId","eventType","stageName","executorName","notificationId","payload","timestamp","createdAt"]}},"transaction":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"}},"required":["id","clientId"]},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["activityLogs","transaction","pagination"]}},"required":["result"]}}}},"400":{"description":"Invalid request parameters"},"404":{"description":"Transaction not found or not accessible"}},"operationId":"getSolanaActivityLogs","tags":["Solana Transactions","Activity Logs"],"parameters":[{"in":"query","name":"page","schema":{"type":"number","default":1},"required":false},{"in":"query","name":"limit","schema":{"type":"number","default":100},"required":false},{"in":"query","name":"transactionId","schema":{"type":"string","minLength":1},"required":true},{"in":"query","name":"eventType","schema":{"type":"string","enum":["SUCCESS","FAILURE","NACK"]},"required":false},{"in":"query","name":"stageName","schema":{"type":"string"},"required":false},{"in":"query","name":"executorName","schema":{"type":"string"},"required":false},{"in":"query","name":"sortBy","schema":{"type":"string","enum":["timestamp","createdAt"],"default":"timestamp"},"required":false},{"in":"query","name":"sortDirection","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"required":false}],"summary":"Get Solana Activity Logs","description":"Get paginated activity logs for a specific Solana transaction with tenancy enforcement"}},"/v1/solana/transactions/activity-logs/search":{"post":{"responses":{"200":{"description":"Solana Activity Logs Search Results","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"activityLogs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"transactionId":{"type":"string"},"eventType":{"type":"string"},"stageName":{"type":"string"},"executorName":{"type":"string"},"notificationId":{"type":"string"},"payload":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"timestamp":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","transactionId","eventType","stageName","executorName","notificationId","payload","timestamp","createdAt"]}},"pagination":{"type":"object","properties":{"totalCount":{"type":"number"},"page":{"type":"number"},"limit":{"type":"number"}},"required":["totalCount","page","limit"]}},"required":["activityLogs","pagination"]}},"required":["result"]}}}},"400":{"description":"Invalid request parameters"}},"operationId":"searchSolanaActivityLogs","tags":["Solana Transactions","Activity Logs"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"number","default":1},"limit":{"type":"number","default":100},"transactionIds":{"type":"array","items":{"type":"string","minLength":1}},"eventType":{"type":"string","enum":["SUCCESS","FAILURE","NACK"]},"stageName":{"type":"string"},"executorName":{"type":"string"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"sortBy":{"type":"string","enum":["timestamp","createdAt"],"default":"timestamp"},"sortDirection":{"type":"string","enum":["asc","desc"],"default":"desc"}}}}}},"summary":"Search Solana Activity Logs","description":"Search Solana activity logs across transactions with advanced filtering and tenancy enforcement"}}},"components":{"schemas":{"TransactionsFilterValue":{"type":"object","properties":{"field":{"type":"string","enum":["id","batchIndex","from","signerAddress","smartAccountAddress","chainId"]},"values":{"type":"array","items":{"type":"string"}},"operation":{"type":"string","enum":["AND","OR"]}},"required":["field","values","operation"]},"TransactionsFilterNested":{"type":"object","properties":{"operation":{"type":"string","enum":["AND","OR"]},"filters":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/TransactionsFilterValue"},{"$ref":"#/components/schemas/TransactionsFilterNested"}]}}},"required":["operation","filters"]},"SolanaTransactionsFilterValue":{"type":"object","properties":{"field":{"type":"string","enum":["id","chainId","signerAddress","signature"]},"values":{"type":"array","items":{"type":"string"}},"operation":{"type":"string","enum":["AND","OR"]}},"required":["field","values","operation"]},"SolanaTransactionsFilterNested":{"type":"object","properties":{"operation":{"type":"string","enum":["AND","OR"]},"filters":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/SolanaTransactionsFilterValue"},{"$ref":"#/components/schemas/SolanaTransactionsFilterNested"}]}}},"required":["operation","filters"]},"AddressDef":{"type":"string","title":"EVM Address","description":"Used to represent an EVM address. This is a string of length 42 with a `0x` prefix. Non-checksummed addresses are also supported, but will be converted to checksummed."},"AutoExecutionOptions":{"type":"object","title":"Auto Determine Execution","description":"This is the default execution option.\nIf you do not specify an execution type, and only specify a \"from\" string,\nengine will automatically determine the most optimal options for you.\nIf you would like to specify granular options about execution strategy\nchoose one of the other executionOptions type and provide them.","required":["from"],"properties":{"from":{"type":"string","description":"The identifier of the entity to send the transaction from.\nAutomatically picks best execution strategy based on the identifier.\n- If EOA address, execution uses EIP7702 based smart-wallet execution\n- If 7702 not supported on chain, falls back to smart-contract wallet (ERC4337) with default smart account for this EOA (v0.7)\n- UNLESS this is a zk-chain, in which case, zk-sync native-aa is used"}}},"BaseExecutionOptions":{"type":"object","required":["chainId"],"properties":{"chainId":{"type":"integer","format":"int64","minimum":0},"idempotencyKey":{"type":"string"}}},"BatchResultItem_EncodeResultSuccessItem_EngineError":{"oneOf":[{"type":"object","title":"BatchItemSuccess","required":["result"],"properties":{"result":{"type":"object","description":"Successful result from a contract encode operation","required":["target","callData","functionSelector","functionName"],"properties":{"target":{"type":"string","description":"The contract address that would be called"},"callData":{"type":"string","description":"The encoded function call data\n\nThis includes the function selector and encoded parameters,\nready to be used in a transaction"},"functionSelector":{"type":"string","description":"The 4-byte function selector (first 4 bytes of call_data)"},"functionName":{"type":"string","description":"The name of the function being called"}}}}},{"type":"object","title":"BatchItemFailure","required":["error"],"properties":{"error":{"oneOf":[{"type":"object","title":"EVM RPC Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["RPC_ERROR"]}}},{"type":"object","title":"ERC4337 Paymster Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["PAYMASTER_ERROR"]}}},{"type":"object","title":"ERC4337 Bundler Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["BUNDLER_ERROR"]}}},{"type":"object","title":"Solana RPC Error","required":["chain_id","message","kind","type"],"properties":{"chain_id":{"type":"string","description":"Solana chain identifier"},"message":{"type":"string","description":"Human-readable error message"},"kind":{"$ref":"#/components/schemas/SolanaRpcErrorKind","description":"Structured error kind"},"type":{"type":"string","enum":["SOLANA_RPC_ERROR"]}}},{"type":"object","title":"Engine Vault KMS Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["VAULT_ERROR"]}}},{"type":"object","title":"Engine IAW Service Error","required":["error","type"],"properties":{"error":{"$ref":"#/components/schemas/IAWError"},"type":{"type":"string","enum":["IAW_ERROR"]}}},{"type":"object","title":"RPC Configuration Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["RPC_CONFIG_ERROR"]}}},{"type":"object","title":"EVM Contract Interaction Error","required":["chainId","message","kind","type"],"properties":{"contractAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"Contract address"}]},"chainId":{"type":"integer","format":"int64","description":"Chain ID","minimum":0},"message":{"type":"string","description":"Human-readable error message"},"kind":{"$ref":"#/components/schemas/ContractInteractionErrorKind","description":"Specific error kind"},"type":{"type":"string","enum":["CONTRACT_INTERACTION_ERROR"]}}},{"type":"object","title":"Validation Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["VALIDATION_ERROR"]}}},{"type":"object","title":"Thirdweb Services Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["THIRDWEB_ERROR"]}}},{"allOf":[{"$ref":"#/components/schemas/SerialisableAwsSignerError"},{"type":"object","title":"AWS KMS Error","required":["type"],"properties":{"type":{"type":"string","enum":["AWS_KMS_SIGNER_ERROR"]}}}]},{"type":"object","title":"Engine Internal Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["INTERNAL_ERROR"]}}}]}}}],"description":"Result of a single contract encode operation\n\nEach result can either be successful (containing the encoded transaction data)\nor failed (containing detailed error information)."},"BatchResultItem_ReadResultSuccessItem_EngineError":{"oneOf":[{"type":"object","title":"BatchItemSuccess","required":["result"],"properties":{"result":{"$ref":"#/components/schemas/Value","description":"Successful result from a contract read operation"}}},{"type":"object","title":"BatchItemFailure","required":["error"],"properties":{"error":{"oneOf":[{"type":"object","title":"EVM RPC Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["RPC_ERROR"]}}},{"type":"object","title":"ERC4337 Paymster Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["PAYMASTER_ERROR"]}}},{"type":"object","title":"ERC4337 Bundler Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["BUNDLER_ERROR"]}}},{"type":"object","title":"Solana RPC Error","required":["chain_id","message","kind","type"],"properties":{"chain_id":{"type":"string","description":"Solana chain identifier"},"message":{"type":"string","description":"Human-readable error message"},"kind":{"$ref":"#/components/schemas/SolanaRpcErrorKind","description":"Structured error kind"},"type":{"type":"string","enum":["SOLANA_RPC_ERROR"]}}},{"type":"object","title":"Engine Vault KMS Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["VAULT_ERROR"]}}},{"type":"object","title":"Engine IAW Service Error","required":["error","type"],"properties":{"error":{"$ref":"#/components/schemas/IAWError"},"type":{"type":"string","enum":["IAW_ERROR"]}}},{"type":"object","title":"RPC Configuration Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["RPC_CONFIG_ERROR"]}}},{"type":"object","title":"EVM Contract Interaction Error","required":["chainId","message","kind","type"],"properties":{"contractAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"Contract address"}]},"chainId":{"type":"integer","format":"int64","description":"Chain ID","minimum":0},"message":{"type":"string","description":"Human-readable error message"},"kind":{"$ref":"#/components/schemas/ContractInteractionErrorKind","description":"Specific error kind"},"type":{"type":"string","enum":["CONTRACT_INTERACTION_ERROR"]}}},{"type":"object","title":"Validation Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["VALIDATION_ERROR"]}}},{"type":"object","title":"Thirdweb Services Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["THIRDWEB_ERROR"]}}},{"allOf":[{"$ref":"#/components/schemas/SerialisableAwsSignerError"},{"type":"object","title":"AWS KMS Error","required":["type"],"properties":{"type":{"type":"string","enum":["AWS_KMS_SIGNER_ERROR"]}}}]},{"type":"object","title":"Engine Internal Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["INTERNAL_ERROR"]}}}]}}}],"description":"Result of a single contract encode operation\n\nEach result can either be successful (containing the encoded transaction data)\nor failed (containing detailed error information)."},"BatchResultItem_SignResultData_EngineError":{"oneOf":[{"type":"object","title":"BatchItemSuccess","required":["result"],"properties":{"result":{"type":"object","description":"Data returned from successful signing","required":["signature","signedData"],"properties":{"signature":{"type":"string","description":"The resulting signature"},"signedData":{"type":"string","description":"The data that was signed (stringified typed data)"}}}}},{"type":"object","title":"BatchItemFailure","required":["error"],"properties":{"error":{"oneOf":[{"type":"object","title":"EVM RPC Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["RPC_ERROR"]}}},{"type":"object","title":"ERC4337 Paymster Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["PAYMASTER_ERROR"]}}},{"type":"object","title":"ERC4337 Bundler Error","required":["chain_id","rpc_url","message","kind","type"],"properties":{"chain_id":{"type":"integer","format":"int64","description":"Detailed RPC error information","minimum":0},"rpc_url":{"type":"string"},"message":{"type":"string"},"kind":{"$ref":"#/components/schemas/RpcErrorKind"},"type":{"type":"string","enum":["BUNDLER_ERROR"]}}},{"type":"object","title":"Solana RPC Error","required":["chain_id","message","kind","type"],"properties":{"chain_id":{"type":"string","description":"Solana chain identifier"},"message":{"type":"string","description":"Human-readable error message"},"kind":{"$ref":"#/components/schemas/SolanaRpcErrorKind","description":"Structured error kind"},"type":{"type":"string","enum":["SOLANA_RPC_ERROR"]}}},{"type":"object","title":"Engine Vault KMS Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["VAULT_ERROR"]}}},{"type":"object","title":"Engine IAW Service Error","required":["error","type"],"properties":{"error":{"$ref":"#/components/schemas/IAWError"},"type":{"type":"string","enum":["IAW_ERROR"]}}},{"type":"object","title":"RPC Configuration Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["RPC_CONFIG_ERROR"]}}},{"type":"object","title":"EVM Contract Interaction Error","required":["chainId","message","kind","type"],"properties":{"contractAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"Contract address"}]},"chainId":{"type":"integer","format":"int64","description":"Chain ID","minimum":0},"message":{"type":"string","description":"Human-readable error message"},"kind":{"$ref":"#/components/schemas/ContractInteractionErrorKind","description":"Specific error kind"},"type":{"type":"string","enum":["CONTRACT_INTERACTION_ERROR"]}}},{"type":"object","title":"Validation Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["VALIDATION_ERROR"]}}},{"type":"object","title":"Thirdweb Services Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["THIRDWEB_ERROR"]}}},{"allOf":[{"$ref":"#/components/schemas/SerialisableAwsSignerError"},{"type":"object","title":"AWS KMS Error","required":["type"],"properties":{"type":{"type":"string","enum":["AWS_KMS_SIGNER_ERROR"]}}}]},{"type":"object","title":"Engine Internal Error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["INTERNAL_ERROR"]}}}]}}}],"description":"Result of a single contract encode operation\n\nEach result can either be successful (containing the encoded transaction data)\nor failed (containing detailed error information)."},"BatchResults_EncodeResultSuccessItem":{"type":"object","description":"Collection of results from multiple contract encode operations","required":["result"],"properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/BatchResultItem_EncodeResultSuccessItem_EngineError"},"description":"Array of results, one for each input contract call"}}},"BatchResults_ReadResultSuccessItem":{"type":"object","description":"Collection of results from multiple contract encode operations","required":["result"],"properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/BatchResultItem_ReadResultSuccessItem_EngineError"},"description":"Array of results, one for each input contract call"}}},"BatchResults_SignResultData":{"type":"object","description":"Collection of results from multiple contract encode operations","required":["result"],"properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/BatchResultItem_SignResultData_EngineError"},"description":"Array of results, one for each input contract call"}}},"BytesDef":{"type":"string","title":"Bytes","description":"Used to represent \"bytes\". This is a 0x prefixed hex string."},"CancelResult":{"oneOf":[{"type":"string","enum":["CANCELLED_IMMEDIATELY"]},{"type":"string","enum":["CANCELLATION_PENDING"]},{"type":"object","required":["CANNOT_CANCEL"],"properties":{"CANNOT_CANCEL":{"type":"object","required":["reason"],"properties":{"reason":{"type":"string"}}}}},{"type":"string","enum":["NOT_FOUND"]}]},"CommitmentLevel":{"type":"string","title":"Commitment Level","enum":["confirmed","finalized"]},"ContractCall":{"type":"object","description":"Represents a contract function call with parameters\n\nThis is the base type used by all contract interaction endpoints.\nIt supports both function names and full function signatures, with\nautomatic ABI resolution when needed.","required":["contractAddress","method","params"],"properties":{"contractAddress":{"$ref":"#/components/schemas/AddressDef","description":"The address of the smart contract to call"},"method":{"type":"string","description":"The function to call - can be a name like \"transfer\" or full signature like \"transfer(address,uint256)\""},"params":{"type":"array","items":{"$ref":"#/components/schemas/Value"},"description":"Array of parameters to pass to the function"},"abi":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Value","description":"Optional ABI to use instead of fetching from contract verification services"}]}}},"ContractInteractionErrorKind":{"oneOf":[{"type":"object","description":"Unknown function referenced.","required":["functionName","type"],"properties":{"functionName":{"type":"string"},"type":{"type":"string","enum":["UNKNOWN_FUNCTION"]}}},{"type":"object","description":"Unknown function selector referenced.","required":["functionSelector","type"],"properties":{"functionSelector":{"type":"string"},"type":{"type":"string","enum":["UNKNOWN_SELECTOR"]}}},{"type":"object","description":"Called `deploy` with a transaction that is not a deployment transaction.","required":["type"],"properties":{"type":{"type":"string","enum":["NOT_A_DEPLOYMENT_TRANSACTION"]}}},{"type":"object","description":"`contractAddress` was not found in the deployment transaction's receipt.","required":["type"],"properties":{"type":{"type":"string","enum":["CONTRACT_NOT_DEPLOYED"]}}},{"type":"object","description":"The contract returned no data.","required":["function","message","type"],"properties":{"function":{"type":"string"},"message":{"type":"string"},"type":{"type":"string","enum":["ZERO_DATA"]}}},{"type":"object","description":"An error occurred ABI encoding or decoding.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["ABI_ERROR"]}}},{"type":"object","description":"An error occurred interacting with a contract over RPC.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["TRANSPORT_ERROR"]}}},{"type":"object","description":"An error occured while waiting for a pending transaction.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["PENDING_TRANSACTION_ERROR"]}}},{"type":"object","description":"Error during contract function preparation (ABI resolution, parameter encoding)","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["PREPARATION_FAILED"]}}},{"type":"object","description":"Error during multicall execution","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["MULTICALL_EXECUTION_FAILED"]}}},{"type":"object","description":"Error during result decoding","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["RESULT_DECODING_FAILED"]}}},{"type":"object","description":"Parameter validation error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["PARAMETER_VALIDATION_FAILED"]}}},{"type":"object","description":"Function resolution error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["FUNCTION_RESOLUTION_FAILED"]}}}],"description":"A serializable contract interaction error type"},"ContractWrite":{"allOf":[{"$ref":"#/components/schemas/ContractCall","description":"The contract function call details"},{"type":"object","properties":{"value":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/U256Def","description":"Amount of ETH to send with the transaction (in wei)\n\nIf omitted, no ETH will be sent (value = 0).\nUses U256 to handle large numbers precisely."}]}}}],"description":"A contract function call with optional ETH value to send"},"Eip7702ExecutionOptions":{"oneOf":[{"$ref":"#/components/schemas/Eip7702OwnerExecution","description":"Execute the transaction as the owner of the account"},{"$ref":"#/components/schemas/Eip7702SessionKeyExecution","description":"Execute a transaction on a different delegated account (`account_address`), which has granted a session key to the `session_key_address`\n`session_key_address` is the signer for this transaction"}],"title":"EIP-7702 Execution Options"},"Eip7702OwnerExecution":{"type":"object","title":"EIP-7702 Owner Execution","required":["from"],"properties":{"from":{"$ref":"#/components/schemas/AddressDef","description":"The delegated EOA address"},"fleetId":{"type":["string","null"],"description":"Optional fleet ID to route the transaction to a specific bundler fleet"}}},"Eip7702SessionKeyExecution":{"type":"object","title":"EIP-7702 Session Key Execution","required":["sessionKeyAddress","accountAddress"],"properties":{"sessionKeyAddress":{"$ref":"#/components/schemas/AddressDef","description":"The session key address is your server wallet, which has been granted a session key to the `account_address`"},"accountAddress":{"$ref":"#/components/schemas/AddressDef","description":"The account address is the address of a delegated account you want to execute the transaction on. This account has granted a session key to the `session_key_address`"},"fleetId":{"type":["string","null"],"description":"Optional fleet ID to route the transaction to a specific bundler fleet"}}},"EmptyIdempotencySetResponse":{"type":"object","required":["queueName","message"],"properties":{"queueName":{"type":"string"},"message":{"type":"string"}}},"EncodeOptions":{"type":"object","description":"Options for encoding contract function calls","required":["chainId"],"properties":{"chainId":{"type":"string","description":"The blockchain network ID to encode for\n\nThis is used to fetch the correct ABI if not provided inline"}}},"EncodeRequest":{"type":"object","description":"Request to encode contract function calls","required":["encodeOptions","params"],"properties":{"encodeOptions":{"$ref":"#/components/schemas/EncodeOptions","description":"Configuration options for encoding"},"params":{"type":"array","items":{"$ref":"#/components/schemas/ContractCall"},"description":"List of contract function calls to encode\n\nEach call will be encoded to its raw transaction data"}}},"EncodeResultSuccessItem":{"type":"object","description":"Successful result from a contract encode operation","required":["target","callData","functionSelector","functionName"],"properties":{"target":{"type":"string","description":"The contract address that would be called"},"callData":{"type":"string","description":"The encoded function call data\n\nThis includes the function selector and encoded parameters,\nready to be used in a transaction"},"functionSelector":{"type":"string","description":"The 4-byte function selector (first 4 bytes of call_data)"},"functionName":{"type":"string","description":"The name of the function being called"}}},"EntrypointAndFactoryDetailsDeserHelper":{"type":"object","properties":{"entrypointAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"### Entrypoint Contract Address\nThe address of the ERC-4337 entrypoint contract.\n\nIf omitted, defaults to the standard address for the specified/inferred version.\n\nKnown addresses:\n\n- V0.6: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789\n- V0.7: 0x0000000071727De22E5E9d8BAf0edAc6f37da032"}]},"entrypointVersion":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EntrypointVersion","description":"### Entrypoint Version\nThe version of the ERC-4337 standard to use.\n\nIf omitted, the version will be inferred from the entrypoint address,\nthen from factory address, or defaults to V0.7."}]},"factoryAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"### Account Factory Address\nThe address of the smart account factory contract.\nIf omitted, defaults to the thirweb default account factory for the specified/inferred version.\n\nKnown addresses:\n\n- V0.6: 0x85e23b94e7F5E9cC1fF78BCe78cfb15B81f0DF00\n- V0.7: 0x4bE0ddfebcA9A5A4a617dee4DeCe99E7c862dceb"}]}}},"EntrypointVersion":{"type":"string","enum":["0.6","0.7"]},"EoaExecutionOptions":{"type":"object","description":"### EOA Execution Options\nThis struct configures EOA (Externally Owned Account) direct execution.\n\nEOA execution sends transactions directly from an EOA address without\nsmart contract abstraction. This is the most basic form of transaction\nexecution and is suitable for simple transfers and contract interactions.\n\n### Use Cases\n- Direct ETH transfers\n- Simple contract interactions\n- Gas-efficient transactions\n- When smart account features are not needed\n\n### Features\n- Direct transaction execution from EOA\n- Automatic nonce management\n- Gas price optimization\n- Transaction confirmation tracking\n- Retry and recovery mechanisms\n- Support for EIP-1559, EIP-2930, and Legacy transactions\n- Support for EIP-7702 delegated transactions","required":["from"],"properties":{"from":{"$ref":"#/components/schemas/AddressDef","description":"The EOA address to send transactions from\nThis account must have sufficient balance to pay for gas and transaction value"}}},"EoaSigningOptions":{"type":"object","description":"EOA signing options","required":["from"],"properties":{"from":{"$ref":"#/components/schemas/AddressDef","description":"The EOA address to sign with"},"chainId":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/u64","description":"Optional chain ID for the signature"}]}}},"Erc4337ExecutionOptions":{"allOf":[{"$ref":"#/components/schemas/EntrypointAndFactoryDetailsDeserHelper"},{"type":"object","required":["signerAddress"],"properties":{"signerAddress":{"$ref":"#/components/schemas/AddressDef"},"accountSalt":{"type":"string"},"smartAccountAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef"}]}}}],"description":"### ERC-4337 Execution Options\nThis struct allows flexible configuration of ERC-4337 execution options,\nwith intelligent defaults and inferences based on provided values.\n\n### Field Inference\nWhen fields are omitted, the system uses the following inference rules:\n\n1. Version Inference:\n    - If `entrypointVersion` is provided, it's used directly\n    - Otherwise, tries to infer from `entrypointAddress` (if provided)\n    - If that fails, tries to infer from `factoryAddress` (if provided)\n    - Defaults to version 0.7 if no inference is possible\n\n2. Entrypoint Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default address corresponding to the inferred version:\n     - V0.6: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789\n     - V0.7: 0x0576a174D229E3cFA37253523E645A78A0C91B57\n\n3. Factory Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default factory corresponding to the inferred version:\n     - V0.6: 0x85e23b94e7F5E9cC1fF78BCe78cfb15B81f0DF00 [DEFAULT_FACTORY_ADDRESS_V0_6]\n     - V0.7: 0x4bE0ddfebcA9A5A4a617dee4DeCe99E7c862dceb [DEFAULT_FACTORY_ADDRESS_V0_7]\n\n4. Account Salt:\n   - If provided explicitly, it's used as-is\n   - Otherwise, defaults to \"0x\" (commonly used as the defauult \"null\" salt for smart accounts)\n\n5. Smart Account Address:\n   - If provided explicitly, it's used as-is\n   - Otherwise, it's read from the smart account factory\n\nAll optional fields can be omitted for a minimal configuration using version 0.7 defaults.\n\nThe most minimal usage only requires `signerAddress` + `chainId`"},"Erc4337SigningOptions":{"allOf":[{"$ref":"#/components/schemas/EntrypointAndFactoryDetailsDeserHelper"},{"type":"object","required":["signerAddress","chainId"],"properties":{"smartAccountAddress":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"The smart account address (if deployed)"}]},"signerAddress":{"$ref":"#/components/schemas/AddressDef","description":"The EOA that controls the smart account"},"accountSalt":{"type":"string","description":"Account salt for deterministic addresses"},"chainId":{"$ref":"#/components/schemas/u64","description":"Chain ID for smart account operations"}}}],"description":"### ERC4337 (Smart Account) Signing Options\nThis struct allows flexible configuration of ERC-4337 signing options,\nwith intelligent defaults and inferences based on provided values.\n\n### Field Inference\nWhen fields are omitted, the system uses the following inference rules:\n\n1. Version Inference:\n    - If `entrypointVersion` is provided, it's used directly\n    - Otherwise, tries to infer from `entrypointAddress` (if provided)\n    - If that fails, tries to infer from `factoryAddress` (if provided)\n    - Defaults to version 0.7 if no inference is possible\n\n2. Entrypoint Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default address corresponding to the inferred version:\n     - V0.6: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789\n     - V0.7: 0x0576a174D229E3cFA37253523E645A78A0C91B57\n\n3. Factory Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default factory corresponding to the inferred version:\n     - V0.6: 0x85e23b94e7F5E9cC1fF78BCe78cfb15B81f0DF00 [DEFAULT_FACTORY_ADDRESS_V0_6]\n     - V0.7: 0x4bE0ddfebcA9A5A4a617dee4DeCe99E7c862dceb [DEFAULT_FACTORY_ADDRESS_V0_7]\n\n4. Account Salt:\n   - If provided explicitly, it's used as-is\n   - Otherwise, defaults to \"0x\" (commonly used as the defauult \"null\" salt for smart accounts)\n\n5. Smart Account Address:\n   - If provided explicitly, it's used as-is\n   - Otherwise, it's read from the smart account factory\n\nAll optional fields can be omitted for a minimal configuration using version 0.7 defaults.\n\nThe most minimal usage only requires `signerAddress` + `chainId`"},"ExecutionOptions":{"allOf":[{"$ref":"#/components/schemas/BaseExecutionOptions"},{"$ref":"#/components/schemas/SpecificExecutionOptions"}],"description":"This is the exposed API for execution options\nBase and specific execution options are both flattened together"},"IAWError":{"oneOf":[{"type":"object","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["API_ERROR"]}}},{"type":"object","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["SERIALIZATION_ERROR"]}}},{"type":"object","required":["error","type"],"properties":{"error":{"$ref":"#/components/schemas/SerializableReqwestError"},"type":{"type":"string","enum":["NETWORK_ERROR"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["AUTH_ERROR"]}}},{"allOf":[{"$ref":"#/components/schemas/ThirdwebError"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["THIRDWEB_ERROR"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["UNEXPECTED_ERROR"]}}},{"allOf":[{"$ref":"#/components/schemas/UserOpError"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["USER_OP_ERROR"]}}}]}],"description":"Error types for IAW operations"},"InnerTransaction":{"allOf":[{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TransactionTypeData","description":"Transaction type-specific data for different EIP standards\n\nThis is the actual encoded inner transaction data that will be sent to the blockchain.\n\nDepending on the execution mode chosen, these might be ignored:\n\n- For ERC4337 execution, all gas fee related fields are ignored. Sending signed authorizations is also not supported."}]},{"type":"object","properties":{"to":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef"}]},"data":{"$ref":"#/components/schemas/BytesDef"},"value":{"$ref":"#/components/schemas/U256Def"},"gasLimit":{"type":["integer","null"],"format":"int64","description":"Gas limit for the transaction\nIf not provided, engine will estimate the gas limit","minimum":0}}}],"description":"### InnerTransaction\nThis is the actual encoded inner transaction data that will be sent to the blockchain."},"InstructionDataEncoding":{"type":"string","enum":["hex","base64"]},"MessageFormatDef":{"type":"string","enum":["text","hex"]},"MessageInput":{"type":"object","description":"Individual message to sign","required":["message"],"properties":{"message":{"type":"string","description":"The message to sign"},"format":{"$ref":"#/components/schemas/MessageFormatDef","description":"Message format (text or hex)"}}},"MulticallDocType":{"oneOf":[{"type":"boolean","example":true},{"$ref":"#/components/schemas/AddressDef"}]},"PubkeyDef":{"type":"string","title":"Pubkey"},"QueuedSolanaTransactionResponse":{"type":"object","description":"Response for a queued Solana transaction","required":["transactionId","chainId","signerAddress"],"properties":{"transactionId":{"type":"string","description":"The idempotency key for this transaction"},"chainId":{"$ref":"#/components/schemas/SolanaChainId","description":"The Solana chain"},"signerAddress":{"type":"string","description":"The signer address"}}},"QueuedTransaction":{"type":"object","description":"# QueuedTransaction\nResponse for any request that queues one or more transactions","required":["id","batchIndex","executionParams","transactionParams"],"properties":{"id":{"type":"string","description":"The idempotency key this transaction was queued with\nEither autogenerated UUID or provided by the user\nMultiple queued transactions can have the same idempotency key\nA \"blockchain transaction\" is uniquely identified by the idempotency key + batchIndex"},"batchIndex":{"type":"integer","format":"int64","description":"When multiple transactions are sent together via an execution mode that doesn't support atomic batching,\neach transaction will have a unique batchIndex but the same id (idempotency key)\nThis maintains the relationship between different atomically sent blockchain transactions that were queued together","minimum":0},"executionParams":{"$ref":"#/components/schemas/ExecutionOptions","description":"The fully resolved execution options for this transaction, derived from the resolution of user specific execution options\nDifference in naming is to prevent confusion when response executionParams contain different values than the request executionOptions"},"transactionParams":{"type":"array","items":{"$ref":"#/components/schemas/InnerTransaction"},"description":"This is the actual encoded inner transaction data that will be sent to the blockchain.\nFor non-atomic transactions, this will be a single transaction\nFor atomic transactions, this will be a list of transactions, because they were atomically sent together"}}},"QueuedTransactionsResponse":{"type":"object","required":["transactions"],"properties":{"transactions":{"type":"array","items":{"$ref":"#/components/schemas/QueuedTransaction"}}}},"ReadOptions":{"type":"object","description":"Options for reading from smart contracts","required":["chainId"],"properties":{"chainId":{"type":"integer","format":"int64","description":"The blockchain network ID to read from","minimum":0},"multicall":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MulticallDocType","description":"Multicall configuration\n\nCan be:\n- `null` or omitted (default): Use multicall with default Multicall3 address and fallback to direct calls if multicall fails\n- `true`: Explicitly enable multicall with default Multicall3 address (no fallback)\n- `false`: Disable multicall and make direct RPC calls\n- Address string: Use multicall with custom address (no fallback)"}]},"from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"Optional address to use as the caller for view functions\n\nThis can be useful for functions that return different values\nbased on the caller's address or permissions"}]}}},"ReadRequest":{"type":"object","description":"Request to read from multiple smart contracts","required":["readOptions","params"],"properties":{"readOptions":{"$ref":"#/components/schemas/ReadOptions","description":"Configuration options for the read operation"},"params":{"type":"array","items":{"$ref":"#/components/schemas/ContractCall"},"description":"List of contract function calls to execute\n\nAll calls will be batched together using Multicall3 for efficiency"}}},"ReadResultSuccessItem":{"$ref":"#/components/schemas/Value","description":"Successful result from a contract read operation"},"RpcErrorKind":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RpcErrorResponse","description":"Server returned an error response."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ERROR_RESP"]}}}],"description":"Server returned an error response."},{"type":"object","description":"Server returned a null response when a non-null response was expected.","required":["type"],"properties":{"type":{"type":"string","enum":["NULL_RESP"]}}},{"type":"object","description":"Rpc server returned an unsupported feature.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["UNSUPPORTED_FEATURE"]}}},{"type":"object","description":"Returned when a local pre-processing step fails. This allows custom\nerrors from local signers or request pre-processors.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["INTERNAL_ERROR"]}}},{"type":"object","description":"JSON serialization error.","required":["message","type"],"properties":{"message":{"type":"string","description":"The underlying serde_json error."},"type":{"type":"string","enum":["SER_ERROR"]}}},{"type":"object","description":"JSON deserialization error.","required":["message","text","type"],"properties":{"message":{"type":"string","description":"The underlying serde_json error."},"text":{"type":"string","description":"For deser errors, the text that failed to deserialize."},"type":{"type":"string","enum":["DESER_ERROR"]}}},{"type":"object","required":["status","body","type"],"properties":{"status":{"type":"integer","format":"int32","minimum":0},"body":{"type":"string"},"type":{"type":"string","enum":["TRANSPORT_HTTP_ERROR"]}}},{"type":"object","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["OTHER_TRANSPORT_ERROR"]}}}]},"RpcErrorResponse":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","format":"int64","description":"The error code."},"message":{"type":"string","description":"The error message (if any)."},"data":{"type":["string","null"],"description":"The error data (if any)."}}},"SendSolanaTransactionRequest":{"allOf":[{"$ref":"#/components/schemas/SolanaTransactionInput","description":"Transaction input (either instructions or serialized transaction)"},{"type":"object","required":["executionOptions"],"properties":{"idempotencyKey":{"type":"string","description":"Idempotency key for this transaction (defaults to random UUID)"},"executionOptions":{"$ref":"#/components/schemas/SolanaExecutionOptions","description":"Solana execution options"},"webhookOptions":{"type":"array","items":{"$ref":"#/components/schemas/WebhookOptions"},"description":"Webhook options for transaction status notifications"}}}],"description":"Request to send a Solana transaction"},"SendTransactionRequest":{"type":"object","description":"Incoming transaction request, parsed into InnerTransaction\nExposed API will have varying `params` but will all parse into InnerTransaction before execution","required":["executionOptions","params"],"properties":{"executionOptions":{"$ref":"#/components/schemas/ExecutionOptions"},"params":{"type":"array","items":{"$ref":"#/components/schemas/InnerTransaction"}},"webhookOptions":{"type":"array","items":{"$ref":"#/components/schemas/WebhookOptions"}}}},"SerialisableAwsSdkError":{"oneOf":[{"type":"object","description":"The request failed during construction. It was not dispatched over the network.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["CONSTRUCTION_FAILURE"]}}},{"type":"object","description":"The request failed due to a timeout. The request MAY have been sent and received.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["TIMEOUT_ERROR"]}}},{"type":"object","description":"The request failed during dispatch. An HTTP response was not received. The request MAY\nhave been sent.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["DISPATCH_FAILURE"]}}},{"type":"object","description":"A response was received but it was not parseable according the the protocol (for example\nthe server hung up without sending a complete response)","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["RESPONSE_ERROR"]}}},{"type":"object","description":"An error response was received from the service","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["SERVICE_ERROR"]}}},{"type":"object","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["OTHER"]}}}]},"SerialisableAwsSignerError":{"oneOf":[{"type":"object","description":"Thrown when the AWS KMS API returns a signing error.","required":["aws_sdk_error","type"],"properties":{"aws_sdk_error":{"$ref":"#/components/schemas/SerialisableAwsSdkError"},"type":{"type":"string","enum":["SIGN"]}}},{"type":"object","description":"Thrown when the AWS KMS API returns an error.","required":["aws_sdk_error","type"],"properties":{"aws_sdk_error":{"$ref":"#/components/schemas/SerialisableAwsSdkError"},"type":{"type":"string","enum":["GET_PUBLIC_KEY"]}}},{"type":"object","description":"[`ecdsa`] error.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["K256"]}}},{"type":"object","description":"[`spki`] error.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["SPKI"]}}},{"type":"object","description":"[`hex`](mod@hex) error.","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["HEX"]}}},{"type":"object","description":"Thrown when the AWS KMS API returns a response without a signature.","required":["type"],"properties":{"type":{"type":"string","enum":["SIGNATURE_NOT_FOUND"]}}},{"type":"object","description":"Thrown when the AWS KMS API returns a response without a public key.","required":["type"],"properties":{"type":{"type":"string","enum":["PUBLIC_KEY_NOT_FOUND"]}}},{"type":"object","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["UNKNOWN"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["SIGNATURE_RECOVERY_FAILED"]}}}]},"SerializableReqwestError":{"oneOf":[{"type":"object","required":["Builder"],"properties":{"Builder":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Request"],"properties":{"Request":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Timeout"],"properties":{"Timeout":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Connect"],"properties":{"Connect":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Redirect"],"properties":{"Redirect":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["ClientError"],"properties":{"ClientError":{"type":"object","required":["status","message"],"properties":{"status":{"type":"integer","format":"int32","minimum":0},"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["ServerError"],"properties":{"ServerError":{"type":"object","required":["status","message"],"properties":{"status":{"type":"integer","format":"int32","minimum":0},"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Body"],"properties":{"Body":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Decode"],"properties":{"Decode":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Upgrade"],"properties":{"Upgrade":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}},{"type":"object","required":["Unknown"],"properties":{"Unknown":{"type":"object","required":["message"],"properties":{"message":{"type":"string"},"url":{"type":["string","null"]}}}}}]},"SignMessageRequest":{"type":"object","description":"Request to sign messages","required":["signingOptions","params"],"properties":{"signingOptions":{"$ref":"#/components/schemas/SigningOptions","description":"Configuration options for signing"},"params":{"type":"array","items":{"$ref":"#/components/schemas/MessageInput"},"description":"List of messages to sign"}}},"SignResultData":{"type":"object","description":"Data returned from successful signing","required":["signature","signedData"],"properties":{"signature":{"type":"string","description":"The resulting signature"},"signedData":{"type":"string","description":"The data that was signed (stringified typed data)"}}},"SignSolanaTransactionRequest":{"allOf":[{"$ref":"#/components/schemas/SolanaTransactionInput","description":"Transaction input (instructions or serialized transaction)"},{"type":"object","required":["executionOptions"],"properties":{"executionOptions":{"$ref":"#/components/schemas/SolanaExecutionOptions","description":"Solana execution options"}}}],"description":"Request to sign a Solana transaction"},"SignSolanaTransactionResponse":{"type":"object","description":"Data returned from successful signing","required":["signature","signedTransaction"],"properties":{"signature":{"type":"string","description":"The signature (base58-encoded)"},"signedTransaction":{"type":"string","description":"The signed serialized transaction (base64-encoded)"}}},"SignTypedDataRequest":{"type":"object","description":"Request to sign typed data","required":["signingOptions","params"],"properties":{"signingOptions":{"$ref":"#/components/schemas/SigningOptions","description":"Configuration options for signing"},"params":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataDef"},"description":"List of typed data to sign"}}},"SignedAuthorizationSchema":{"type":"object","title":"EIP-7702 Signed Authorization","description":"EIP-7702 Signed Authorization structure for OpenAPI schema\nContains an authorization plus the cryptographic signature","required":["chainId","address","nonce","yParity","r","s"],"properties":{"chainId":{"$ref":"#/components/schemas/U256Def","description":"The chain ID of the authorization\nMust match the chain where the transaction will be executed"},"address":{"$ref":"#/components/schemas/AddressDef","description":"The smart contract address to delegate to\nThis contract will be able to execute logic on behalf of the EOA"},"nonce":{"type":"integer","format":"int64","description":"The nonce for the authorization\nMust be the current nonce of the authorizing account","example":42,"minimum":0},"yParity":{"type":"integer","format":"int32","description":"Signature parity value (0 or 1)\nUsed for ECDSA signature recovery","example":0,"minimum":0},"r":{"$ref":"#/components/schemas/U256Def","description":"Signature r value\nFirst component of the ECDSA signature"},"s":{"$ref":"#/components/schemas/U256Def","description":"Signature s value\nSecond component of the ECDSA signature"}}},"SigningOptions":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/EoaSigningOptions"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["EOA"]}}}],"title":"EOA Signing Options"},{"allOf":[{"$ref":"#/components/schemas/Erc4337SigningOptions","description":"### ERC4337 (Smart Account) Signing Options\nThis struct allows flexible configuration of ERC-4337 signing options,\nwith intelligent defaults and inferences based on provided values.\n\n### Field Inference\nWhen fields are omitted, the system uses the following inference rules:\n\n1. Version Inference:\n    - If `entrypointVersion` is provided, it's used directly\n    - Otherwise, tries to infer from `entrypointAddress` (if provided)\n    - If that fails, tries to infer from `factoryAddress` (if provided)\n    - Defaults to version 0.7 if no inference is possible\n\n2. Entrypoint Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default address corresponding to the inferred version:\n     - V0.6: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789\n     - V0.7: 0x0576a174D229E3cFA37253523E645A78A0C91B57\n\n3. Factory Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default factory corresponding to the inferred version:\n     - V0.6: 0x85e23b94e7F5E9cC1fF78BCe78cfb15B81f0DF00 [DEFAULT_FACTORY_ADDRESS_V0_6]\n     - V0.7: 0x4bE0ddfebcA9A5A4a617dee4DeCe99E7c862dceb [DEFAULT_FACTORY_ADDRESS_V0_7]\n\n4. Account Salt:\n   - If provided explicitly, it's used as-is\n   - Otherwise, defaults to \"0x\" (commonly used as the defauult \"null\" salt for smart accounts)\n\n5. Smart Account Address:\n   - If provided explicitly, it's used as-is\n   - Otherwise, it's read from the smart account factory\n\nAll optional fields can be omitted for a minimal configuration using version 0.7 defaults.\n\nThe most minimal usage only requires `signerAddress` + `chainId`"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ERC4337"]}}}],"title":"ERC4337 Signing Options","description":"### ERC4337 (Smart Account) Signing Options\nThis struct allows flexible configuration of ERC-4337 signing options,\nwith intelligent defaults and inferences based on provided values.\n\n### Field Inference\nWhen fields are omitted, the system uses the following inference rules:\n\n1. Version Inference:\n    - If `entrypointVersion` is provided, it's used directly\n    - Otherwise, tries to infer from `entrypointAddress` (if provided)\n    - If that fails, tries to infer from `factoryAddress` (if provided)\n    - Defaults to version 0.7 if no inference is possible\n\n2. Entrypoint Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default address corresponding to the inferred version:\n     - V0.6: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789\n     - V0.7: 0x0576a174D229E3cFA37253523E645A78A0C91B57\n\n3. Factory Address Inference:\n   - If provided explicitly, it's used as-is\n   - Otherwise, uses the default factory corresponding to the inferred version:\n     - V0.6: 0x85e23b94e7F5E9cC1fF78BCe78cfb15B81f0DF00 [DEFAULT_FACTORY_ADDRESS_V0_6]\n     - V0.7: 0x4bE0ddfebcA9A5A4a617dee4DeCe99E7c862dceb [DEFAULT_FACTORY_ADDRESS_V0_7]\n\n4. Account Salt:\n   - If provided explicitly, it's used as-is\n   - Otherwise, defaults to \"0x\" (commonly used as the defauult \"null\" salt for smart accounts)\n\n5. Smart Account Address:\n   - If provided explicitly, it's used as-is\n   - Otherwise, it's read from the smart account factory\n\nAll optional fields can be omitted for a minimal configuration using version 0.7 defaults.\n\nThe most minimal usage only requires `signerAddress` + `chainId`"},{"type":"object","required":["type","from","chainId"],"properties":{"type":{"type":"string","enum":["auto"]},"from":{"type":"string","description":"The address to sign from"},"chainId":{"type":"integer","description":"The chain ID for the signing operation"}},"title":"Auto Signing Options","description":"Automatic signing configuration that only requires a from address and chain ID. This will try to resolve the address from a known smart account address and populate smart account details, or fall back to EOA execution if unknown"}],"description":"Configuration options for signing operations"},"SolanaAccountMeta":{"type":"object","description":"Account metadata for Solana instructions","required":["pubkey","isSigner","isWritable"],"properties":{"pubkey":{"$ref":"#/components/schemas/PubkeyDef","description":"Public key of the account"},"isSigner":{"type":"boolean","description":"Whether the account should sign the transaction"},"isWritable":{"type":"boolean","description":"Whether the account is writable"}}},"SolanaChainId":{"type":"string","description":"Solana chain identifier","enum":["solana:mainnet","solana:devnet","solana:local"]},"SolanaExecutionOptions":{"type":"object","description":"### Solana Execution Options\nThis struct configures Solana transaction execution.\n\nSolana execution sends transactions directly to Solana RPC nodes with\nsupport for priority fees, compute budgets, and commitment levels.\n\n### Use Cases\n- SOL transfers\n- SPL token operations\n- Program interactions (NFTs, DeFi, etc.)\n- Arbitrary instruction composition\n\n### Features\n- Versioned transactions with address lookup tables\n- Priority fee configuration for faster inclusion\n- Compute budget optimization\n- Configurable commitment levels\n- Blockhash retry mechanism","required":["signerAddress","chainId"],"properties":{"signerAddress":{"$ref":"#/components/schemas/PubkeyDef","description":"The Solana address (public key) to send transactions from\nThis account must have sufficient SOL to pay for transaction fees"},"chainId":{"$ref":"#/components/schemas/SolanaChainId","description":"Solana chain to use"},"maxBlockhashRetries":{"type":"integer","format":"int32","description":"Maximum number of times to retry fetching a new blockhash if transaction fails\nDefault: 0 (fail fast)\nMax: 1000","minimum":0},"commitment":{"$ref":"#/components/schemas/CommitmentLevel","description":"Commitment level for transaction confirmation\nOptions: \"processed\", \"confirmed\", \"finalized\"\nDefault: \"finalized\""},"priorityFee":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SolanaPriorityFee","description":"Priority fee for the transaction. If omitted, no priority fee will be used. If provided, engine will add the compute budget instruction to the transaction."}]},"computeUnitLimit":{"type":["integer","null"],"format":"int32","description":"Compute unit limit for the transaction. If omitted, the transaction will use the default compute unit limit. If provided, engine will add the compute budget instruction to the transaction.","minimum":0}}},"SolanaInstructionData":{"type":"object","description":"Solana instruction data provided by the user\nThis is a simplified representation that will be converted to a proper Instruction","required":["programId","accounts","data","encoding"],"properties":{"programId":{"$ref":"#/components/schemas/PubkeyDef","description":"Program ID to invoke"},"accounts":{"type":"array","items":{"$ref":"#/components/schemas/SolanaAccountMeta"},"description":"Account keys that will be passed to the program"},"data":{"type":"string","description":"Instruction data (hex-encoded or base64)"},"encoding":{"$ref":"#/components/schemas/InstructionDataEncoding"}}},"SolanaPriorityFee":{"oneOf":[{"type":"object","description":"Auto-select the priority fee based on the current network conditions","required":["type"],"properties":{"type":{"type":"string","enum":["auto"]}}},{"type":"object","description":"Manually set the priority fee","required":["microLamportsPerUnit","type"],"properties":{"microLamportsPerUnit":{"type":"integer","format":"int64","minimum":0},"type":{"type":"string","enum":["manual"]}}},{"type":"object","description":"Select the priority fee based on the current network conditions","required":["percentile","type"],"properties":{"percentile":{"type":"integer","format":"int32","minimum":0},"type":{"type":"string","enum":["percentile"]}}}],"title":"Solana Priority Fee"},"SolanaRpcErrorKind":{"oneOf":[{"type":"object","description":"IO error (network issues, connection problems)","required":["message","type"],"properties":{"message":{"type":"string"},"kind":{"type":["string","null"]},"type":{"type":"string","enum":["IO"]}}},{"type":"object","description":"Reqwest HTTP error","required":["message","type"],"properties":{"message":{"type":"string"},"status":{"type":["integer","null"],"format":"int32","minimum":0},"type":{"type":"string","enum":["REQWEST"]}}},{"type":"object","description":"RPC protocol error (JSON-RPC error response)","required":["code","message","data","type"],"properties":{"code":{"type":"integer","format":"int64"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SolanaRpcResponseErrorData","description":"Structured error data from Solana RPC"},"type":{"type":"string","enum":["RPC_ERROR"]}}},{"type":"object","description":"JSON serialization/deserialization error","required":["message","type"],"properties":{"message":{"type":"string"},"line":{"type":["integer","null"],"minimum":0},"column":{"type":["integer","null"],"minimum":0},"type":{"type":"string","enum":["SERDE_JSON"]}}},{"type":"object","description":"Transaction error from Solana (e.g., insufficient funds, invalid signature)","required":["error_type","message","type"],"properties":{"error_type":{"type":"string"},"message":{"type":"string"},"type":{"type":"string","enum":["TRANSACTION_ERROR"]}}},{"type":"object","description":"Signing error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["SIGNING_ERROR"]}}},{"type":"object","description":"Custom error from middleware or validators","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["CUSTOM"]}}},{"type":"object","description":"Unknown/other error","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["UNKNOWN"]}}}],"description":"Solana-specific RPC error types"},"SolanaRpcResponseErrorData":{"oneOf":[{"type":"object","description":"Empty error data","required":["type"],"properties":{"type":{"type":"string","enum":["EMPTY"]}}},{"type":"object","description":"Transaction simulation/preflight failed","required":["type"],"properties":{"err":{"type":["string","null"],"description":"Error message from simulation"},"logs":{"type":["array","null"],"items":{"type":"string"},"description":"Logs from simulation"},"accounts":{"description":"Accounts used in simulation"},"units_consumed":{"type":["integer","null"],"format":"int64","description":"Units consumed during simulation","minimum":0},"return_data":{"description":"Return data from the transaction"},"type":{"type":"string","enum":["SEND_TRANSACTION_PREFLIGHT_FAILURE"]}}},{"type":"object","description":"Node is unhealthy","required":["type"],"properties":{"num_slots_behind":{"type":["integer","null"],"format":"int64","minimum":0},"type":{"type":"string","enum":["NODE_UNHEALTHY"]}}}],"description":"Serializable version of Solana's RpcResponseErrorData"},"SolanaTransactionInput":{"oneOf":[{"$ref":"#/components/schemas/SolanaTransactionInputInstructions","description":"Build transaction from instructions"},{"$ref":"#/components/schemas/SolanaTransactionInputSerialized","description":"Use pre-built serialized VersionedTransaction (base64)"}],"description":"Input for Solana transaction - either build from instructions or use pre-built"},"SolanaTransactionInputInstructions":{"type":"object","required":["instructions"],"properties":{"instructions":{"type":"array","items":{"$ref":"#/components/schemas/SolanaInstructionData"}}}},"SolanaTransactionInputSerialized":{"type":"object","required":["transaction"],"properties":{"transaction":{"type":"string"}}},"SpecificExecutionOptions":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/AutoExecutionOptions"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["auto"]}}}],"title":"Auto Determine Execution"},{"allOf":[{"$ref":"#/components/schemas/Erc4337ExecutionOptions"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ERC4337"]}}}],"title":"ERC-4337 Execution Options"},{"allOf":[{"$ref":"#/components/schemas/EoaExecutionOptions"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["EOA"]}}}],"title":"EOA Execution Options"},{"allOf":[{"$ref":"#/components/schemas/Eip7702ExecutionOptions"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["EIP7702"]}}}],"title":"EIP-7702 Execution Options"}],"title":"Execution Option Variants","description":"All supported specific execution options are contained here"},"SuccessResponse_EmptyIdempotencySetResponse":{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["queueName","message"],"properties":{"queueName":{"type":"string"},"message":{"type":"string"}}}}},"SuccessResponse_QueuedSolanaTransactionResponse":{"type":"object","required":["result"],"properties":{"result":{"type":"object","description":"Response for a queued Solana transaction","required":["transactionId","chainId","signerAddress"],"properties":{"transactionId":{"type":"string","description":"The idempotency key for this transaction"},"chainId":{"$ref":"#/components/schemas/SolanaChainId","description":"The Solana chain"},"signerAddress":{"type":"string","description":"The signer address"}}}}},"SuccessResponse_QueuedTransactionsResponse":{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["transactions"],"properties":{"transactions":{"type":"array","items":{"$ref":"#/components/schemas/QueuedTransaction"}}}}}},"SuccessResponse_SignSolanaTransactionResponse":{"type":"object","required":["result"],"properties":{"result":{"type":"object","description":"Data returned from successful signing","required":["signature","signedTransaction"],"properties":{"signature":{"type":"string","description":"The signature (base58-encoded)"},"signedTransaction":{"type":"string","description":"The signed serialized transaction (base64-encoded)"}}}}},"ThirdwebError":{"oneOf":[{"type":"object","required":["error","type"],"properties":{"error":{"$ref":"#/components/schemas/ThirdwebSerializationError"},"type":{"type":"string","enum":["SERIALIZATION_ERROR"]}}},{"type":"object","required":["value","message","type"],"properties":{"value":{"type":"string"},"message":{"type":"string"},"type":{"type":"string","enum":["URL_PARSE_ERROR"]}}},{"type":"object","required":["message","type"],"properties":{"message":{"type":"string"},"type":{"type":"string","enum":["HTTP_CLIENT_BACKEND_ERROR"]}}},{"type":"object","required":["error","type"],"properties":{"error":{"$ref":"#/components/schemas/SerializableReqwestError"},"type":{"type":"string","enum":["HTTP_ERROR"]}}}]},"ThirdwebSerializationError":{"oneOf":[{"type":"object","required":["HeaderValue"],"properties":{"HeaderValue":{"type":"object","required":["value"],"properties":{"value":{"type":"string"}}}}}]},"Transaction1559Data":{"type":"object","title":"EIP-1559 Specific Transaction Data","description":"EIP-1559 transaction configuration\nUses base fee + priority fee model for more predictable gas pricing","properties":{"maxFeePerGas":{"type":["integer","null"],"description":"Maximum fee per gas willing to pay (in wei)\nThis is the total fee cap including base fee and priority fee","minimum":0},"maxPriorityFeePerGas":{"type":["integer","null"],"description":"Maximum priority fee per gas willing to pay (in wei)\nThis is the tip paid to validators for transaction inclusion","minimum":0}}},"Transaction7702Data":{"type":"object","title":"EIP-7702 Specific Transaction Data","description":"EIP-7702 transaction configuration\nAllows delegation of EOA to smart contract logic temporarily","properties":{"authorizationList":{"type":["array","null"],"items":{"$ref":"#/components/schemas/SignedAuthorizationSchema"},"description":"List of signed authorizations for contract delegation\nEach authorization allows the EOA to temporarily delegate to a smart contract"},"maxFeePerGas":{"type":["integer","null"],"description":"Maximum fee per gas willing to pay (in wei)\nThis is the total fee cap including base fee and priority fee","minimum":0},"maxPriorityFeePerGas":{"type":["integer","null"],"description":"Maximum priority fee per gas willing to pay (in wei)\nThis is the tip paid to validators for transaction inclusion","minimum":0}}},"TransactionCancelResponse":{"type":"object","required":["transactionId","result"],"properties":{"transactionId":{"type":"string"},"result":{"$ref":"#/components/schemas/CancelResult"}}},"TransactionLegacyData":{"type":"object","title":"Legacy Specific Transaction Data","description":"Legacy transaction configuration\nUses simple gas price model (pre-EIP-1559)","properties":{"gasPrice":{"type":["integer","null"],"description":"Gas price willing to pay (in wei)\nThis is the total price per unit of gas for legacy transactions","minimum":0}}},"TransactionTypeData":{"oneOf":[{"$ref":"#/components/schemas/Transaction7702Data","description":"EIP-7702 transaction with authorization list and EIP-1559 gas pricing"},{"$ref":"#/components/schemas/Transaction1559Data","description":"EIP-1559 transaction with priority fee and max fee per gas"},{"$ref":"#/components/schemas/TransactionLegacyData","description":"Legacy transaction with simple gas price"}],"title":"Transaction Type Specific Data"},"TypedDataDef":{"type":"object","required":["domain","types","primaryType","message"],"properties":{"domain":{"$ref":"#/components/schemas/TypedDataDomainDef","description":"Signing domain metadata. The signing domain is the intended context for\nthe signature (e.g. the dapp, protocol, etc. that it's intended for).\nThis data is used to construct the domain separator of the message."},"types":{"description":"The custom types used by this message."},"primaryType":{"type":"string","description":"The type of the message."},"message":{"description":"The message to be signed."}}},"TypedDataDomainDef":{"type":"object","properties":{"name":{"type":["string","null"]},"version":{"type":["string","null"],"description":"The current major version of the signing domain. Signatures from\ndifferent versions are not compatible."},"chainId":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/U256Def","description":"The EIP-155 chain ID. The user-agent should refuse signing if it does\nnot match the currently active chain."}]},"verifyingContract":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AddressDef","description":"The address of the contract that will verify the signature."}]},"salt":{"type":["string","null"],"description":"A disambiguating salt for the protocol. This can be used as a domain\nseparator of last resort."}}},"U256Def":{"type":"string","title":"U256","description":"Used to represent a 256-bit unsigned integer. Engine can parse these from any valid encoding of the Ethereum \"quantity\" format."},"UserOpError":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["UNEXPECTED_ERROR"]}}}],"description":"Error type for UserOp operations"},"Value":{},"WebhookOptions":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"secret":{"type":["string","null"]},"userMetadata":{"type":["string","null"],"description":"Custom metadata provided by the user to be included in webhook notifications.\nLimited to 4KB (4096 bytes) to prevent abuse."}}},"WriteContractRequest":{"type":"object","description":"Request to execute write transactions to smart contracts","required":["executionOptions","params"],"properties":{"executionOptions":{"$ref":"#/components/schemas/ExecutionOptions","description":"Execution configuration including chain, account, and transaction options"},"params":{"type":"array","items":{"$ref":"#/components/schemas/ContractWrite"},"description":"List of contract function calls to execute\n\nAll calls will be executed in a single transaction if possible,\nor as separate transactions if atomic batching is not supported"},"webhookOptions":{"type":"array","items":{"$ref":"#/components/schemas/WebhookOptions"}}}},"u64":{"type":"integer","format":"int64","minimum":0}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-secret-key","in":"header","description":"API secret key for authentication"}}},"security":[{"ApiKeyAuth":[]}]}