GalaChain DEX v3 Contract API

The GalaChain asset-channel concentrated-liquidity DEX contract (dexv3), exposed over REST by the GalaChain Gateway. Covers pool data, positions, liquidity estimation, tick and bitmap data, swap allowances and protocol fee configuration.

OpenAPI Specification

gala-games-galachain-asset-dexv3-contract-openapi.json Raw ↑
{"info":{"description":"An entry point to the GalaChain network.\n\n\u003ca href=\"/docs\"\u003edocs\u003c/a\u003e / `asset/dexv3-contract`","title":"GalaChain Gateway","version":"3.0.2"},"openapi":"3.0.0","paths":{"/api/asset/dexv3-contract/BatchSubmit":{"post":{"description":"Submit a batch of transactions Transaction updates the chain (submit). Allowed roles: SUBMIT.","operationId":"asset_dexv3-contract_BatchSubmit","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"noPartialSuccess":{"description":"If true, the batch will fail if any of the operations fail. If false, the batch will continue even if some of the operations fail. Default: false."},"operations":{"items":{"properties":{"dto":{"minLength":1,"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"type":"object"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"method":{"minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["method","dto"],"type":"object"},"maxItems":1000,"minItems":1,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"},"writesLimit":{"description":"Soft limit of keys written to chain in a batch, excluding deletes. If the limit is exceeded, all subsequent operations in batch fail. Typically it is safe to repeat failed operations in the next batch. Default: 10000. Max: 100000.","maximum":100000,"minimum":1,"type":"number"}},"required":["operations"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"Data":{"type":"object"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of submitted transaction on the chain"}}}},"tags":["Methods"]}},"/api/asset/dexv3-contract/CollectProtocolFees":{"post":{"description":" Transaction updates the chain (submit). Allowed roles: SUBMIT. Allowed orgs: CuratorOrg.","operationId":"asset_dexv3-contract_CollectProtocolFees","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"fee":{"description":"10000 - FEE_1_PERCENT, 3000 - FEE_0_3_PERCENT, 500 - FEE_0_05_PERCENT","enum":[10000,3000,500],"type":"number"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"recepient":{"description":"Allowed value is a user alias ('client|\u003cuser-id\u003e', or 'eth|\u003cchecksumed-eth-addr\u003e', or valid system-level username), or valid Ethereum address.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"token0":{"description":"Object representing the chain identifier of token class.","minLength":1,"properties":{"additionalKey":{"not":{"type":"null"}},"category":{"minLength":1,"type":"string"},"collection":{"minLength":1,"type":"string"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"type":{"minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["collection","category","type","additionalKey"],"type":"object"},"token1":{"description":"Object representing the chain identifier of token class.","minLength":1,"properties":{"additionalKey":{"not":{"type":"null"}},"category":{"minLength":1,"type":"string"},"collection":{"minLength":1,"type":"string"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"type":{"minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["collection","category","type","additionalKey"],"type":"object"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["token0","token1","fee","recepient"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"Data":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"protocolFeesToken0":{"description":"Number provided as a string.","type":"string"},"protocolFeesToken1":{"description":"Number provided as a string.","type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["protocolFeesToken0","protocolFeesToken1"],"type":"object"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of submitted transaction on the chain"}}}},"tags":["Methods"]}},"/api/asset/dexv3-contract/ConfigureDexFeeAddress":{"post":{"description":" Transaction updates the chain (submit). Allowed roles: SUBMIT. Allowed orgs: CuratorOrg.","operationId":"asset_dexv3-contract_ConfigureDexFeeAddress","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"newAuthorities":{"items":{"description":"Allowed value is string following the format of 'client|\u003cuser-id\u003e', or 'eth|\u003cchecksumed-eth-addr\u003e', or valid system-level username.","type":"string"},"minItems":1,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["newAuthorities"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"Data":{"properties":{"authorities":{"items":{"description":"Allowed value is string following the format of 'client|\u003cuser-id\u003e', or 'eth|\u003cchecksumed-eth-addr\u003e', or valid system-level username.","type":"string"},"minItems":1,"type":"array"},"protocolFee":{"maximum":1,"minimum":0,"type":"number"}},"required":["authorities","protocolFee"],"type":"object"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of submitted transaction on the chain"}}}},"tags":["Methods"]}},"/api/asset/dexv3-contract/DeleteSwapAllowances":{"post":{"description":" Transaction updates the chain (submit). Allowed roles: SUBMIT.","operationId":"asset_dexv3-contract_DeleteSwapAllowances","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"description":"Contains parameters for deleting swap allowances for a calling user.","properties":{"additionalKey":{"description":"Token additionalKey. Optional, but required if instance is provided.","minLength":1,"type":"string"},"category":{"description":"Token category. Optional, but required if type is provided.","minLength":1,"type":"string"},"collection":{"description":"Token collection. Optional, but required if category is provided.","minLength":1,"type":"string"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"grantedBy":{"description":"User who granted allowances.","type":"string"},"grantedTo":{"description":"A user who can use an allowance.","type":"string"},"instance":{"description":"Token instance. Optional.","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"type":{"description":"Token type. Optional, but required if additionalKey is provided.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["grantedTo"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"Data":{"type":"null"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of submitted transaction on the chain"}}}},"tags":["Methods"]}},"/api/asset/dexv3-contract/DryRun":{"post":{"description":" Transaction is read only (evaluate). Allowed roles: EVALUATE.","operationId":"asset_dexv3-contract_DryRun","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"callerPublicKey":{"minLength":1,"type":"string"},"dto":{"minLength":1,"type":"string"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"method":{"minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["method"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"Data":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"type":"object"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of evaluated transaction on the chain"}}}},"tags":["Methods"]}},"/api/asset/dexv3-contract/FetchSwapAllowances":{"post":{"description":" Transaction is read only (evaluate). Allowed roles: EVALUATE.","operationId":"asset_dexv3-contract_FetchSwapAllowances","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"description":"Contains parameters for fetching swap allowances with pagination.","properties":{"additionalKey":{"description":"Token additionalKey. Optional, but required if instance is provided.","minLength":1,"type":"string"},"bookmark":{"description":"Page bookmark. If it is undefined, then the first page is returned.","minLength":1,"type":"string"},"category":{"description":"Token category. Optional, but required if type is provided.","minLength":1,"type":"string"},"collection":{"description":"Token collection. Optional, but required if category is provided.","minLength":1,"type":"string"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is

# --- truncated at 32 KB (181 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gala-games/refs/heads/main/openapi/gala-games-galachain-asset-dexv3-contract-openapi.json