> For the complete documentation index, see [llms.txt](https://developers.tix.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.tix.xyz/api/transactions.md).

# Transactions

## Sign a user transaction

> Creates a signed transaction without submitting it. Each batch must identify distinct event and ticket pairs. Reuse the idempotency key when retrying the same request.

```json
{"openapi":"3.1.0","info":{"title":"TIX Developer Platform API","version":"0.3.0"},"tags":[{"name":"Transactions"}],"servers":[{"url":"https://api.tix.xyz","description":"Live / Production — real money"},{"url":"https://api.sandbox.tix.xyz","description":"Sandbox / Test money"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"sign-user-transaction-response":{"type":"object","properties":{"custodialTransactionId":{"type":"string","format":"sha256_hex","pattern":"^[0-9a-fA-F]{64}$"},"signerAddress":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"feePayerAddress":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"signedTransaction":{"type":"string","minLength":1,"format":"base64","contentEncoding":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"Base64-encoded serialized transaction."},"message":{"type":"string","minLength":1},"signature":{"type":"string","description":"Solana signature ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `signature()`)."},"feePayerSignature":{"type":"string","description":"Solana signature ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `signature()`)."},"requiredSigners":{"type":"array","items":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"recentBlockhash":{"type":"string","description":"Solana blockhash ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `blockhash()`)."}},"required":["custodialTransactionId","signerAddress","feePayerAddress","signedTransaction","message","signature","feePayerSignature","requiredSigners","recentBlockhash"],"additionalProperties":false},"sign-user-transaction-request":{"type":"object","properties":{"tixInstructions":{"oneOf":[{"type":"object","properties":{"instruction":{"type":"string","const":"accept_offer_v2"},"params":{"minItems":1,"type":"array","items":{"type":"object","properties":{"event_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ticket_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"permit_version":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"buyer":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"integrator_authority":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"seller_payout":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"royalty_destinations":{"type":"array","items":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"ticket_type_config":{"anyOf":[{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},{"type":"null"}]},"integrator_identity":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"usdc_mint":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"required":["event_id","ticket_id","permit_version","buyer","integrator_authority","seller_payout","royalty_destinations","integrator_identity","usdc_mint"]}}},"required":["instruction","params"]},{"type":"object","properties":{"instruction":{"type":"string","const":"cancel_listing_v1"},"params":{"minItems":1,"type":"array","items":{"type":"object","properties":{"event_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ticket_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"canceller":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"required":["event_id","ticket_id","canceller"]}}},"required":["instruction","params"]},{"type":"object","properties":{"instruction":{"type":"string","const":"list_ticket_v2"},"params":{"minItems":1,"type":"array","items":{"type":"object","properties":{"seller":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"storage_fee_payer":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"listing_integrator_identity":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"listing_integrator_authority":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"usdc_mint":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"event_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ticket_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ask_price_minor":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"buyer_allow":{"anyOf":[{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},{"type":"null"}]},"payout_ata":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"expires_at":{"anyOf":[{"type":"string","pattern":"^-?[0-9]+$","description":"Decimal integer from -9223372036854775808 to 9223372036854775807."},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}],"description":"Decimal integer from -9223372036854775808 to 9223372036854775807. Prefer decimal strings to avoid JSON number precision loss."},"ticket_type_config":{"anyOf":[{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},{"type":"null"}]}},"required":["seller","storage_fee_payer","listing_integrator_identity","listing_integrator_authority","usdc_mint","event_id","ticket_id","ask_price_minor","payout_ata","expires_at"]}}},"required":["instruction","params"]}]}},"required":["tixInstructions"]}}},"paths":{"/wallets/users/{subject}/signatures":{"post":{"operationId":"sign-user-transaction","summary":"Sign a user transaction","tags":["Transactions"],"description":"Creates a signed transaction without submitting it. Each batch must identify distinct event and ticket pairs. Reuse the idempotency key when retrying the same request.","parameters":[{"name":"subject","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"idempotency-key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":255},"description":"The key identifying this operation; reuse it for retries and purchase-status lookups."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sign-user-transaction-response"}}}},"default":{"description":"Unsuccessful request. Error responses may be plain text, JSON, or empty; no common error-body contract is guaranteed."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sign-user-transaction-request"}}}}}}}}
```

## Sign an integrator transaction

> Creates a signed transaction without submitting it. Each batch must identify distinct event and ticket pairs. Reuse the idempotency key when retrying the same request.

```json
{"openapi":"3.1.0","info":{"title":"TIX Developer Platform API","version":"0.3.0"},"tags":[{"name":"Transactions"}],"servers":[{"url":"https://api.tix.xyz","description":"Live / Production — real money"},{"url":"https://api.sandbox.tix.xyz","description":"Sandbox / Test money"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"sign-integrator-transaction-response":{"type":"object","properties":{"custodialTransactionId":{"type":"string","format":"sha256_hex","pattern":"^[0-9a-fA-F]{64}$"},"signerAddress":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"feePayerAddress":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"signedTransaction":{"type":"string","minLength":1,"format":"base64","contentEncoding":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"Base64-encoded serialized transaction."},"message":{"type":"string","minLength":1},"signature":{"type":"string","description":"Solana signature ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `signature()`)."},"feePayerSignature":{"type":"string","description":"Solana signature ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `signature()`)."},"requiredSigners":{"type":"array","items":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"recentBlockhash":{"type":"string","description":"Solana blockhash ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `blockhash()`)."}},"required":["custodialTransactionId","signerAddress","feePayerAddress","signedTransaction","message","signature","feePayerSignature","requiredSigners","recentBlockhash"],"additionalProperties":false},"sign-integrator-transaction-request":{"type":"object","properties":{"tixInstructions":{"oneOf":[{"type":"object","properties":{"instruction":{"type":"string","const":"accept_offer_v2"},"params":{"minItems":1,"type":"array","items":{"type":"object","properties":{"event_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ticket_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"permit_version":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"buyer":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"integrator_authority":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"seller_payout":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"royalty_destinations":{"type":"array","items":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"ticket_type_config":{"anyOf":[{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},{"type":"null"}]},"integrator_identity":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"usdc_mint":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"required":["event_id","ticket_id","permit_version","buyer","integrator_authority","seller_payout","royalty_destinations","integrator_identity","usdc_mint"]}}},"required":["instruction","params"]},{"type":"object","properties":{"instruction":{"type":"string","const":"cancel_listing_v1"},"params":{"minItems":1,"type":"array","items":{"type":"object","properties":{"event_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ticket_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"canceller":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."}},"required":["event_id","ticket_id","canceller"]}}},"required":["instruction","params"]},{"type":"object","properties":{"instruction":{"type":"string","const":"list_ticket_v2"},"params":{"minItems":1,"type":"array","items":{"type":"object","properties":{"seller":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"storage_fee_payer":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"listing_integrator_identity":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"listing_integrator_authority":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"usdc_mint":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"event_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ticket_id":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"ask_price_minor":{"anyOf":[{"type":"string","pattern":"^[0-9]+$","description":"Decimal integer from 0 to 18446744073709551615."},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Decimal integer from 0 to 18446744073709551615. Prefer decimal strings to avoid JSON number precision loss."},"buyer_allow":{"anyOf":[{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},{"type":"null"}]},"payout_ata":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"expires_at":{"anyOf":[{"type":"string","pattern":"^-?[0-9]+$","description":"Decimal integer from -9223372036854775808 to 9223372036854775807."},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}],"description":"Decimal integer from -9223372036854775808 to 9223372036854775807. Prefer decimal strings to avoid JSON number precision loss."},"ticket_type_config":{"anyOf":[{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},{"type":"null"}]}},"required":["seller","storage_fee_payer","listing_integrator_identity","listing_integrator_authority","usdc_mint","event_id","ticket_id","ask_price_minor","payout_ata","expires_at"]}}},"required":["instruction","params"]}]}},"required":["tixInstructions"]}}},"paths":{"/wallets/integrators/{subject}/signatures":{"post":{"operationId":"sign-integrator-transaction","summary":"Sign an integrator transaction","tags":["Transactions"],"description":"Creates a signed transaction without submitting it. Each batch must identify distinct event and ticket pairs. Reuse the idempotency key when retrying the same request.","parameters":[{"name":"subject","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"idempotency-key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":255},"description":"The key identifying this operation; reuse it for retries and purchase-status lookups."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sign-integrator-transaction-response"}}}},"default":{"description":"Unsuccessful request. Error responses may be plain text, JSON, or empty; no common error-body contract is guaranteed."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sign-integrator-transaction-request"}}}}}}}}
```

## Submit a signed transaction

> Submits the signed transaction. A timeout or request failure does not prove that the transaction failed.

```json
{"openapi":"3.1.0","info":{"title":"TIX Developer Platform API","version":"0.3.0"},"tags":[{"name":"Transactions"}],"servers":[{"url":"https://api.tix.xyz","description":"Live / Production — real money"},{"url":"https://api.sandbox.tix.xyz","description":"Sandbox / Test money"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"submit-tenant-transaction-response":{"type":"object","properties":{"custodialTransactionId":{"type":"string","format":"sha256_hex","pattern":"^[0-9a-fA-F]{64}$"},"transactionSignature":{"type":"string","description":"Solana signature ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `signature()`)."},"status":{"anyOf":[{"type":"string","enum":["processing","confirmed","landed_with_error","expired"]},{"type":"null"}]},"failureReason":{"type":"string","minLength":1}},"required":["custodialTransactionId","transactionSignature","status"],"additionalProperties":false},"submit-tenant-transaction-request":{"type":"object","properties":{"signedTransaction":{"type":"string","minLength":1,"format":"base64","contentEncoding":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"Base64-encoded serialized transaction."},"additionalSignatures":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Solana address ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `address()`)."},"signature":{"type":"string","description":"Solana signature ([`@solana/kit`](https://www.npmjs.com/package/@solana/kit), `signature()`)."}},"required":["address","signature"]},"default":[]}},"required":["signedTransaction"]}}},"paths":{"/transactions/submissions":{"post":{"operationId":"submit-tenant-transaction","summary":"Submit a signed transaction","tags":["Transactions"],"description":"Submits the signed transaction. A timeout or request failure does not prove that the transaction failed.","parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/submit-tenant-transaction-response"}}}},"default":{"description":"Unsuccessful request. Error responses may be plain text, JSON, or empty; no common error-body contract is guaranteed."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/submit-tenant-transaction-request"}}}}}}}}
```
