> For the complete documentation index, see [llms.txt](https://docs.zetrix.com/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zetrix.com/en/developer-resources/blockchain-as-a-services-baas/zetrix-service/paymaster.md).

# Paymaster

Gas-free transaction and contract invocation operations where the **Paymaster service sponsors the gas fee** on behalf of the user. Ideal for onboarding new users who don't hold ZTX tokens. Flow: generate paymaster blob → sign blob → submit paymaster.

## Generate paymaster transaction blob

> Generates a gas-free transaction blob using the Zetrix Paymaster service. The Paymaster allocates a nonce from its pool and sponsors the gas fee when the transaction is submitted.\
> \
> \*\*Flow:\*\*\
> 1\. Call this endpoint with \`userAddress\` and \`operations\`\
> 2\. Receive \`blob\`, \`blobId\`, and reservation expiry (\`expiresAt\`)\
> 3\. Sign the blob using \`/tx/sign-blob\`\
> 4\. Submit via \`/tx/paymaster/submit\` within \`timeoutMinutes\`\
> \
> \*\*Pool Selection:\*\*\
> Auto-selected unless \`paymasterPoolId\` or \`poolType\` (\`NORMAL\`, \`PREMIUM\`, \`CORPORATE\`) is specified.

```json
{"openapi":"3.1.0","info":{"title":"Zetrix Microservice API","version":"1.0.0"},"tags":[{"name":"Paymaster","description":"Gas-free transaction and contract invocation operations where the **Paymaster service sponsors the gas fee** on behalf of the user. Ideal for onboarding new users who don't hold ZTX tokens. Flow: generate paymaster blob → sign blob → submit paymaster."}],"servers":[{"url":"https://api-sandbox.zetrix.com","description":"Sandbox Environment – Use this for development and testing."}],"security":[{"Authorization":[]}],"components":{"securitySchemes":{"Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer access token. Include in all requests as: `Authorization: Bearer <your_access_token>`"}},"parameters":{"X-API-Key":{"name":"X-API-Key","in":"header","required":true,"description":"API key for authentication. Include in all requests.","schema":{"type":"string"}}},"schemas":{"PaymasterGenerateBlobReqDto":{"type":"object","description":"Request to generate a paymaster-sponsored transaction blob (gas-free for users).","required":["operations","userAddress"],"properties":{"userAddress":{"type":"string","description":"Zetrix address of the user initiating the transaction. Gas covered by the Paymaster."},"operations":{"type":"array","description":"List of operations to execute.","items":{"$ref":"#/components/schemas/OperationsEntity"}},"chainCode":{"type":"string","description":"Chain code identifier. Defaults to `\"0\"`.","default":"0"},"paymasterPoolId":{"type":"integer","format":"int64","description":"Specific paymaster pool ID. Auto-selected if not provided."},"operationType":{"type":"string","description":"Operation type label for tracking."},"targetAddress":{"type":"string","description":"Target address for tracking purposes."},"amount":{"type":"string","description":"Transaction amount for tracking (optional)."},"metadata":{"type":"object","additionalProperties":{},"description":"Additional metadata for tracking."},"timeoutMinutes":{"type":"integer","format":"int32","description":"Minutes the nonce reservation is valid. Defaults to 10.","default":10},"minPoolBalance":{"type":"integer","format":"int64","description":"Minimum required pool balance in drops (optional)."},"poolType":{"type":"string","description":"Preferred paymaster pool type.","enum":["NORMAL","PREMIUM","CORPORATE"]}}},"OperationsEntity":{"type":"object","description":"A single operation to execute in a transaction. The fields used depend on the operation `type`.","properties":{"type":{"type":"string","description":"Operation type as a numeric string. `1` = Create Account, `2` = Built-in points transfer, `3` = Call contract, `4` = Create contract, `5` = Set up account metadata, `6` = Set account privilege, `7` = Upgrade contract content, `8` = Upgrade contract owner.","enum":["1","2","3","4","5","6","7","8"]},"toAddress":{"type":"string","description":"Destination Zetrix address for transfer-type operations."},"fromAddress":{"type":"string","description":"Source address override (defaults to `txInitiator` if omitted)."},"amount":{"type":"string","description":"Amount in drops (1 ZETRIX = 10^6 drops)."},"inputStr":{"type":"string","description":"JSON-encoded input for contract invocation operations."},"payload":{"type":"string","description":"Contract payload or bytecode (used in contract deployment)."},"precision":{"type":"string","description":"Asset precision (used in asset issuance)."},"metadata":{"type":"string","description":"Optional arbitrary metadata string attached to the operation."}}},"ResponseWrapperPaymasterGenerateBlobRespDto":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/PaymasterGenerateBlobRespDto"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ResponseMessage"}},"success":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"traceId":{"type":"string"}}},"PaymasterGenerateBlobRespDto":{"type":"object","description":"Response for paymaster transaction blob generation.","required":["blob","blobId","expiresAt","hash","paymasterAddress","paymasterNonce","paymasterPoolId","timeoutMinutes"],"properties":{"blob":{"type":"string","description":"Hex-encoded transaction blob. Sign and submit via `/tx/paymaster/submit`."},"hash":{"type":"string","description":"Transaction hash. Required when calling `/tx/sign-blob`."},"blobId":{"type":"string","description":"Unique ID for this paymaster reservation. Required in `/tx/paymaster/submit`."},"paymasterAddress":{"type":"string","description":"Paymaster address that will sponsor the gas fee."},"paymasterNonce":{"type":"integer","format":"int64","description":"Nonce allocated from the paymaster pool."},"paymasterPoolId":{"type":"integer","format":"int64","description":"ID of the paymaster pool used."},"actualFee":{"type":"integer","format":"int64","description":"Estimated fee in gas units (1 ZETRIX = 10^6 units)."},"expiresAt":{"type":"string","format":"date-time","description":"Nonce reservation expiry. Submit before this time."},"timeoutMinutes":{"type":"integer","format":"int32","description":"Duration in minutes the reservation is valid."},"platformSignData":{"$ref":"#/components/schemas/PlatformSignDataEntity"}}},"PlatformSignDataEntity":{"type":"object","description":"Optional platform co-signature data, present when the platform pre-signs the blob.","properties":{"publicKey":{"type":"string","description":"Platform's public key."},"signBlob":{"type":"string","description":"Platform's signature of the blob."}}},"ResponseMessage":{"type":"object","description":"A response message indicating informational, warning, or error details.","properties":{"type":{"type":"string","description":"Severity: `INFO`, `WARNING`, or `ERROR`.","enum":["INFO","ERROR","WARNING"]},"errorCode":{"type":"integer","format":"int32","description":"Numeric error code (0 = no error)."},"message":{"type":"string","description":"Human-readable description."}}}}},"paths":{"/ztx/tx/paymaster/generate-blob":{"post":{"tags":["Paymaster"],"summary":"Generate paymaster transaction blob","operationId":"generatePaymasterBlob","parameters":[{"$ref":"#/components/parameters/X-API-Key"}],"description":"Generates a gas-free transaction blob using the Zetrix Paymaster service. The Paymaster allocates a nonce from its pool and sponsors the gas fee when the transaction is submitted.\n\n**Flow:**\n1. Call this endpoint with `userAddress` and `operations`\n2. Receive `blob`, `blobId`, and reservation expiry (`expiresAt`)\n3. Sign the blob using `/tx/sign-blob`\n4. Submit via `/tx/paymaster/submit` within `timeoutMinutes`\n\n**Pool Selection:**\nAuto-selected unless `paymasterPoolId` or `poolType` (`NORMAL`, `PREMIUM`, `CORPORATE`) is specified.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymasterGenerateBlobReqDto"}}}},"responses":{"200":{"description":"Paymaster blob generated. Sign and submit via `/tx/paymaster/submit` before `expiresAt`.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseWrapperPaymasterGenerateBlobRespDto"}}}}}}}}}
```

## Submit paymaster transaction

> Submits a signed paymaster transaction blob for asynchronous processing. Returns immediately with \`QUEUED\` status.\
> \
> \*\*Pre-conditions:\*\*\
> \- \`blobId\` from a valid, non-expired \`/tx/paymaster/generate-blob\` call\
> \- \`blob\` signed by the user's private key\
> \- Submitted before \`expiresAt\`\
> \
> \*\*Async Processing:\*\*\
> The Paymaster adds its gas-sponsoring signature and broadcasts the transaction. Poll \`/tx/query\` with \`txHash\` to check final status.\
> \
> \*\*Response Fields:\*\*\
> \- \`status\` — Initially \`QUEUED\`\
> \- \`txHash\` — Use this to query the final result

```json
{"openapi":"3.1.0","info":{"title":"Zetrix Microservice API","version":"1.0.0"},"tags":[{"name":"Paymaster","description":"Gas-free transaction and contract invocation operations where the **Paymaster service sponsors the gas fee** on behalf of the user. Ideal for onboarding new users who don't hold ZTX tokens. Flow: generate paymaster blob → sign blob → submit paymaster."}],"servers":[{"url":"https://api-sandbox.zetrix.com","description":"Sandbox Environment – Use this for development and testing."}],"security":[{"Authorization":[]}],"components":{"securitySchemes":{"Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer access token. Include in all requests as: `Authorization: Bearer <your_access_token>`"}},"parameters":{"X-API-Key":{"name":"X-API-Key","in":"header","required":true,"description":"API key for authentication. Include in all requests.","schema":{"type":"string"}}},"schemas":{"PaymasterSubmitReqDto":{"type":"object","description":"Request body for submitting a paymaster-sponsored transaction or contract invocation.","required":["blob","blobId","listSigner"],"properties":{"blobId":{"type":"string","description":"Unique ID of the paymaster blob reservation from generate-blob."},"blob":{"type":"string","description":"The hex-encoded transaction blob returned during blob generation."},"listSigner":{"type":"array","description":"User's signature(s) on the blob.","items":{"$ref":"#/components/schemas/SignerEntity"}}}},"SignerEntity":{"type":"object","description":"A signer object containing a signature and public key pair. Used in transaction/contract submission requests.","properties":{"signBlob":{"type":"string","description":"Hex-encoded Ed25519 signature of the transaction blob."},"publicKey":{"type":"string","description":"Hex-encoded Ed25519 public key of the signer. Must be exactly 76 characters.","minLength":76,"maxLength":76}}},"ResponseWrapperPaymasterSubmitRespDto":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/PaymasterSubmitRespDto"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ResponseMessage"}},"success":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"traceId":{"type":"string"}}},"PaymasterSubmitRespDto":{"type":"object","description":"Response after queuing a paymaster-sponsored transaction.","properties":{"txHash":{"type":"string","description":"Transaction hash. Poll `/tx/query` with this for final status."},"blobId":{"type":"string","description":"Paymaster blob reservation ID."},"nonce":{"type":"integer","format":"int64","description":"Nonce used from the paymaster pool."},"paymasterAddress":{"type":"string","description":"Paymaster address sponsoring the gas fee."},"status":{"type":"string","description":"Processing status. Initially `QUEUED`; becomes `SUCCESS` or `FAILED` after processing."},"submittedAt":{"type":"string","format":"date-time","description":"Timestamp when queued."},"blockNumber":{"type":"integer","format":"int64","description":"Block number confirmed in (populated post-confirmation)."},"gasUsed":{"type":"integer","format":"int64","description":"Actual gas units consumed."},"gasFeePaid":{"type":"integer","format":"int64","description":"Total gas fee paid by paymaster in drops."}}},"ResponseMessage":{"type":"object","description":"A response message indicating informational, warning, or error details.","properties":{"type":{"type":"string","description":"Severity: `INFO`, `WARNING`, or `ERROR`.","enum":["INFO","ERROR","WARNING"]},"errorCode":{"type":"integer","format":"int32","description":"Numeric error code (0 = no error)."},"message":{"type":"string","description":"Human-readable description."}}}}},"paths":{"/ztx/tx/paymaster/submit":{"post":{"tags":["Paymaster"],"summary":"Submit paymaster transaction","operationId":"submitPaymasterTransaction","parameters":[{"$ref":"#/components/parameters/X-API-Key"}],"description":"Submits a signed paymaster transaction blob for asynchronous processing. Returns immediately with `QUEUED` status.\n\n**Pre-conditions:**\n- `blobId` from a valid, non-expired `/tx/paymaster/generate-blob` call\n- `blob` signed by the user's private key\n- Submitted before `expiresAt`\n\n**Async Processing:**\nThe Paymaster adds its gas-sponsoring signature and broadcasts the transaction. Poll `/tx/query` with `txHash` to check final status.\n\n**Response Fields:**\n- `status` — Initially `QUEUED`\n- `txHash` — Use this to query the final result","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymasterSubmitReqDto"}}}},"responses":{"200":{"description":"Transaction queued for paymaster processing. Poll `/tx/query` using `txHash` for final status.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseWrapperPaymasterSubmitRespDto"}}}}}}}}}
```

## Generate paymaster contract invocation blob

> Generates a gas-free contract invocation blob using the Paymaster service. Either \`contractKey\` or \`contractAddress\` must be provided. If both are given, \`contractAddress\` takes precedence.\
> \
> \*\*Flow:\*\*\
> 1\. Call this endpoint with the user's address, contract identifier, method, and input parameters\
> 2\. Receive \`blob\`, \`blobId\`, and expiry info\
> 3\. Sign the blob using \`/tx/sign-blob\`\
> 4\. Submit via \`/contract/paymaster/submit\` before \`expiresAt\`\
> \
> \*\*Pool Selection:\*\*\
> Auto-selected unless \`paymasterPoolId\` or \`poolType\` (\`NORMAL\`, \`PREMIUM\`, \`CORPORATE\`) is specified.

```json
{"openapi":"3.1.0","info":{"title":"Zetrix Microservice API","version":"1.0.0"},"tags":[{"name":"Paymaster","description":"Gas-free transaction and contract invocation operations where the **Paymaster service sponsors the gas fee** on behalf of the user. Ideal for onboarding new users who don't hold ZTX tokens. Flow: generate paymaster blob → sign blob → submit paymaster."}],"servers":[{"url":"https://api-sandbox.zetrix.com","description":"Sandbox Environment – Use this for development and testing."}],"security":[{"Authorization":[]}],"components":{"securitySchemes":{"Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer access token. Include in all requests as: `Authorization: Bearer <your_access_token>`"}},"parameters":{"X-API-Key":{"name":"X-API-Key","in":"header","required":true,"description":"API key for authentication. Include in all requests.","schema":{"type":"string"}}},"schemas":{"ContractPaymasterGenerateBlobReqDto":{"type":"object","description":"Request to generate a paymaster-sponsored contract invocation blob.","required":["method","userAddress"],"properties":{"contractKey":{"type":"string","description":"Registered contract alias. Either this or `contractAddress` must be provided."},"contractAddress":{"type":"string","description":"On-chain contract address. Takes precedence over `contractKey` if both are given."},"method":{"type":"string","description":"Contract method to invoke."},"inputParameters":{"type":"object","additionalProperties":{},"description":"Method input parameters as key-value map."},"userAddress":{"type":"string","description":"User's Zetrix address (initiator). Gas covered by the Paymaster.","minLength":37,"maxLength":37},"value":{"type":"integer","format":"int64","description":"ZTX value in drops. Use `0` for non-payable methods."},"chainCode":{"type":"string","description":"Chain code identifier. Defaults to `\"0\"`.","default":"0"},"paymasterPoolId":{"type":"integer","format":"int64","description":"Specific paymaster pool ID. Auto-selected if not provided."},"timeoutMinutes":{"type":"integer","format":"int32","description":"Nonce reservation timeout in minutes. Defaults to 10.","default":10},"minPoolBalance":{"type":"integer","format":"int64","description":"Minimum required paymaster pool balance in drops."},"poolType":{"type":"string","description":"Preferred paymaster pool type.","enum":["NORMAL","PREMIUM","CORPORATE"]},"metadata":{"type":"object","additionalProperties":{},"description":"Additional metadata for tracking."}}},"ResponseWrapperContractPaymasterGenerateBlobRespDto":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ContractPaymasterGenerateBlobRespDto"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ResponseMessage"}},"success":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"traceId":{"type":"string"}}},"ContractPaymasterGenerateBlobRespDto":{"type":"object","description":"Response for paymaster-sponsored contract invocation blob generation.","required":["blob","blobId","expiresAt","hash","paymasterAddress","paymasterNonce","paymasterPoolId","timeoutMinutes"],"properties":{"blob":{"type":"string","description":"Hex-encoded blob. Sign and submit via `/contract/paymaster/submit`."},"hash":{"type":"string","description":"Transaction hash."},"blobId":{"type":"string","description":"Paymaster reservation ID. Required in `/contract/paymaster/submit`."},"paymasterAddress":{"type":"string","description":"Paymaster address sponsoring gas."},"paymasterNonce":{"type":"integer","format":"int64","description":"Reserved nonce."},"paymasterPoolId":{"type":"integer","format":"int64","description":"Paymaster pool ID."},"contractAddress":{"type":"string","description":"Resolved on-chain contract address."},"method":{"type":"string","description":"Contract method being invoked."},"actualFee":{"type":"integer","format":"int64","description":"Estimated fee in gas units."},"expiresAt":{"type":"string","format":"date-time","description":"Nonce reservation expiry. Submit before this time."},"timeoutMinutes":{"type":"integer","format":"int32","description":"Timeout duration in minutes."},"platformSignData":{"$ref":"#/components/schemas/PlatformSignDataEntity"}}},"PlatformSignDataEntity":{"type":"object","description":"Optional platform co-signature data, present when the platform pre-signs the blob.","properties":{"publicKey":{"type":"string","description":"Platform's public key."},"signBlob":{"type":"string","description":"Platform's signature of the blob."}}},"ResponseMessage":{"type":"object","description":"A response message indicating informational, warning, or error details.","properties":{"type":{"type":"string","description":"Severity: `INFO`, `WARNING`, or `ERROR`.","enum":["INFO","ERROR","WARNING"]},"errorCode":{"type":"integer","format":"int32","description":"Numeric error code (0 = no error)."},"message":{"type":"string","description":"Human-readable description."}}}}},"paths":{"/ztx/contract/paymaster/generate-blob":{"post":{"tags":["Paymaster"],"summary":"Generate paymaster contract invocation blob","operationId":"generatePaymasterBlob_1","parameters":[{"$ref":"#/components/parameters/X-API-Key"}],"description":"Generates a gas-free contract invocation blob using the Paymaster service. Either `contractKey` or `contractAddress` must be provided. If both are given, `contractAddress` takes precedence.\n\n**Flow:**\n1. Call this endpoint with the user's address, contract identifier, method, and input parameters\n2. Receive `blob`, `blobId`, and expiry info\n3. Sign the blob using `/tx/sign-blob`\n4. Submit via `/contract/paymaster/submit` before `expiresAt`\n\n**Pool Selection:**\nAuto-selected unless `paymasterPoolId` or `poolType` (`NORMAL`, `PREMIUM`, `CORPORATE`) is specified.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractPaymasterGenerateBlobReqDto"}}}},"responses":{"200":{"description":"Paymaster contract blob generated. Sign and submit via `/contract/paymaster/submit` before expiry.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseWrapperContractPaymasterGenerateBlobRespDto"}}}}}}}}}
```

## Submit paymaster contract invocation

> Queues a signed contract invocation blob for asynchronous Paymaster processing. Returns immediately with \`QUEUED\` status. The Paymaster adds its gas-sponsoring signature and broadcasts the transaction.\
> \
> \*\*Required fields:\*\*\
> \- \`blobId\` — from \`/contract/paymaster/generate-blob\`\
> \- \`blob\` — signed by the user\
> \- \`listSigner\` — user's signature(s)\
> \
> \*\*Tracking:\*\*\
> Poll \`/tx/query\` with \`txHash\` to check final on-chain status.

```json
{"openapi":"3.1.0","info":{"title":"Zetrix Microservice API","version":"1.0.0"},"tags":[{"name":"Paymaster","description":"Gas-free transaction and contract invocation operations where the **Paymaster service sponsors the gas fee** on behalf of the user. Ideal for onboarding new users who don't hold ZTX tokens. Flow: generate paymaster blob → sign blob → submit paymaster."}],"servers":[{"url":"https://api-sandbox.zetrix.com","description":"Sandbox Environment – Use this for development and testing."}],"security":[{"Authorization":[]}],"components":{"securitySchemes":{"Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer access token. Include in all requests as: `Authorization: Bearer <your_access_token>`"}},"parameters":{"X-API-Key":{"name":"X-API-Key","in":"header","required":true,"description":"API key for authentication. Include in all requests.","schema":{"type":"string"}}},"schemas":{"PaymasterSubmitReqDto":{"type":"object","description":"Request body for submitting a paymaster-sponsored transaction or contract invocation.","required":["blob","blobId","listSigner"],"properties":{"blobId":{"type":"string","description":"Unique ID of the paymaster blob reservation from generate-blob."},"blob":{"type":"string","description":"The hex-encoded transaction blob returned during blob generation."},"listSigner":{"type":"array","description":"User's signature(s) on the blob.","items":{"$ref":"#/components/schemas/SignerEntity"}}}},"SignerEntity":{"type":"object","description":"A signer object containing a signature and public key pair. Used in transaction/contract submission requests.","properties":{"signBlob":{"type":"string","description":"Hex-encoded Ed25519 signature of the transaction blob."},"publicKey":{"type":"string","description":"Hex-encoded Ed25519 public key of the signer. Must be exactly 76 characters.","minLength":76,"maxLength":76}}},"ResponseWrapperPaymasterSubmitRespDto":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/PaymasterSubmitRespDto"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ResponseMessage"}},"success":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"traceId":{"type":"string"}}},"PaymasterSubmitRespDto":{"type":"object","description":"Response after queuing a paymaster-sponsored transaction.","properties":{"txHash":{"type":"string","description":"Transaction hash. Poll `/tx/query` with this for final status."},"blobId":{"type":"string","description":"Paymaster blob reservation ID."},"nonce":{"type":"integer","format":"int64","description":"Nonce used from the paymaster pool."},"paymasterAddress":{"type":"string","description":"Paymaster address sponsoring the gas fee."},"status":{"type":"string","description":"Processing status. Initially `QUEUED`; becomes `SUCCESS` or `FAILED` after processing."},"submittedAt":{"type":"string","format":"date-time","description":"Timestamp when queued."},"blockNumber":{"type":"integer","format":"int64","description":"Block number confirmed in (populated post-confirmation)."},"gasUsed":{"type":"integer","format":"int64","description":"Actual gas units consumed."},"gasFeePaid":{"type":"integer","format":"int64","description":"Total gas fee paid by paymaster in drops."}}},"ResponseMessage":{"type":"object","description":"A response message indicating informational, warning, or error details.","properties":{"type":{"type":"string","description":"Severity: `INFO`, `WARNING`, or `ERROR`.","enum":["INFO","ERROR","WARNING"]},"errorCode":{"type":"integer","format":"int32","description":"Numeric error code (0 = no error)."},"message":{"type":"string","description":"Human-readable description."}}}}},"paths":{"/ztx/contract/paymaster/submit":{"post":{"tags":["Paymaster"],"summary":"Submit paymaster contract invocation","operationId":"submitPaymasterTransaction_1","parameters":[{"$ref":"#/components/parameters/X-API-Key"}],"description":"Queues a signed contract invocation blob for asynchronous Paymaster processing. Returns immediately with `QUEUED` status. The Paymaster adds its gas-sponsoring signature and broadcasts the transaction.\n\n**Required fields:**\n- `blobId` — from `/contract/paymaster/generate-blob`\n- `blob` — signed by the user\n- `listSigner` — user's signature(s)\n\n**Tracking:**\nPoll `/tx/query` with `txHash` to check final on-chain status.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymasterSubmitReqDto"}}}},"responses":{"200":{"description":"Contract invocation queued for paymaster processing.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseWrapperPaymasterSubmitRespDto"}}}}}}}}}
```
