Anzeigemodus
Trade API

Firm order#

OKX DEX will request relevant data using the parameters below.

Request Parameters#

ParameterTypeRequiredDescription
chainIndexStringYesUnique identifier for the chain.
e.g., 1: Ethereum.
See more here.
takerAssetArrayYesAddress of takerToken
makerAssetStringYesAddress of makerToken
takerAmountStringYesTrade quantity of takerToken
takerAddressStringYesAddress of Taker
rfqIdLongYesA unique identifier assigned to each quote request.
expiryDurationIntegerYesThis parameter sets the validity duration of a quote or request, indicating the time interval from when the quote/request is generated until it expires.
callDataStringNoThe transaction needs to be signed, this requirement applies to Solana only.

Response Parameters#

ParameterTypeRequiredDescription
chainIndexStringYesUnique identifier for the chain.
e.g., 1: Ethereum.
See more here.
makerAmountArrayYesTrade quantity of makerToken
makerAddressStringYesAddress of order signer
takerAssetStringYesAddress of takerToken
makerAssetStringYesAddress of makerToken
takerAmountStringYesTrade quantity of takerToken
takerAddressStringYesAddress of Taker
rfqIdStringYesA unique identifier assigned to each quote request.
expiryTimestampYesExpiration time.
signatureStringYesThe signature of market maker.
callDataStringNoThe signed transaction and the modified calldata.(required for solana)
signatureSchemeStringNoEIP-712 or EIP-1271(required for EVM)
usePermit2BooleanNoUse Permit2 to approve, default is false.(required for EVM)

Request Example#

shell
`firm-order` Solana Example

{
    "chainIndex" : "501",
    "takerAsset": "11111111111111111111111111111111",  // Address of takerToken
    "makerAsset": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",  // Address of makerToken
    "takerAmount": "6000000000000000", // Quantity of takerToken
    "takerAddress": "taker address", // Address of order taker
    "rfqId": "12345678", // uniqueId for the rfq
    "expiryDuration": 60,
    "callData": "d1KVBN6xw6sF1YzS5gDGGEp64jSmoB54umQyZeuHU8Mgctmok5vVvekq8DNUoPHDnb7Ydr42CyiQHAgkr8TnGFjk1AVr7yYF5MadmGPuLLRrn7KgMd7VHXccReChopuK8iJ2Co7CNmKULx75VtcZj7UMN2qeSQAPeMeAS2deNny3qiKnHXDYKFZRDyeZWnQrRPeSiithSiqc2fLb3XsN7S82Ho2M2D2Y5VbZnGZrJ7XVuPmTQrA5VXwGZpEYZg9QsqR6biy811YFHhvHTMTzMVbUhG988xyJSdxmVRkXBwbvLM2WCfr1Dppewg9pej9sqTG3zKx4NYSW27H9n5fV6SjgLReZCsX1RosN6Wk9ZpkUUHoWDfiGBCQWNdfaMD1mk8eFYXcgReCG2JDwQw8VRoVMhpUAf31Xyt7Ec2e9ug2X6XpXCctk4Adh9UMEJRqs7agEEzZwx638Cm99WfnDh7scDLBMYp4UaAkSmDVvnT8UpQoehrSxJefdzawFXhxVifkfPxi1VNKc4uinyHc4UWdhn9FFp37qJq2WsiACbRwEBmV8SQrZ77AL7MwcUPD8RqyR57Pxezk8KpH9PgEj7g6yRQjUzowDmesP5U9uVPSywUtgKDbtWVJXq4SgQUuSXY5YGWwxkQ6HYkPe6ga7ntziGfBQFbb7t9z1MDw6KAZcP7YPwGC9biEjgQxMyEaCBWzXDHWSvpYdrcLX4HRRLp8cWA3QBPcTZ6JFLFnRHLtn9fBwhz9G8v2544VzdNoVCj3pMsS9UZapDSnzbTFi2xKcyNQtDnRnnumUdz7pS4XtGz8V4tnfNozWCRC4TRg77vcCk81r8dPGrXKZQa2vusp7EvjtUyinmEuEhJvbwuvmRc1YsbrqibrRD2r6XEWFKLFE5adWz8gSZWwTj6ZWZDZtBw2QqVd1cSkuR1tEEaDs91nNGcgRitXeTJTuRNpGJWhcgNotEmK3NWTSmJZCiL7qaZeoatnYcVd6X3axxnyr2Dz4SwQePnVi5wVwJPtNiaWZ1V9kqpNwjTfuuk1aRyaWT55LGL71wSBWBgVuNxUYu9jTQ6cpyXxQiHYMHdhEcpdxYPzwe4gEx2EbPVSgL5mazUJHJoTwwhj9CFSsaXeiMaH2QsBw1TZVvLJboMw7Sa7eeAF6S9Q4CYyh4YSyjL6oLMmutz1a3X4xw3HkJHeEn3M2syP7GVP1xHreS9sso92MWHo3v7PyNgUwm3HyzgMNjXd"
}


`firm-order` EVM Example


{
    "chainIndex" : "1",
    "takerAsset": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",  // Address of takerToken
    "makerAsset": "0xdac17f958d2ee523a2206206994597c13d831ec7",  // Address of makerToken
    "takerAmount": "6000000000000000", // Quantity of takerToken
    "takerAddress": "taker address", // Address of order taker
    "rfqId": "12345678", // uniqueId for the rfq
    "expiryDuration": 60
}

Response Example#

200
`firm-order` Solana Example 
{
    "code": "0",       
    "msg": """data": {
        "chainIndex" : "501",
        "rfqId" : "12345678",
        "expiry": 172120120102,
        "makerAsset": "11111111111111111111111111111111", //Address of makerToken
        "takerAsset": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", //Address of takerToken
        "makerAddress": "DmTcmrZ7Dz8asHuuvk2G419JMzqdx58brUBidAegaevp", //Address of order signer
        "takerAddress": "3owrzVrYU5bpWH6LpTRiG5BQ8F4szDtFXavrBWXRohgW", //Address of trading user
        "makerAmount": 100000000,    //Trade quantity of makerToken. TakerAmount * takerTokenRate
        "takerAmount": "6000000000000000",    //Trade quantity of takerToken
        "signature": "c64bf62b7619edda019fe491da256b9fbe892fbfeac91f9d1fce168478ad53053dde038584f063fe21e267fcb4e758bcf420036cd2838fe5cbd993ec6d3dde561b",
        "callData": "d1KVBN6xw6sF1YzS5gDGGEp64jSmoB54umQyZeuHU8Mgctmok5vVvekq8DNUoPHDnb7Ydr42CyiQHAgkr8TnGFjk1AVr7yYF5MadmGPuLLRrn7KgMd7VHXccReChopuK8iJ2Co7CNmKULx75VtcZj7UMN2qeSQAPeMeAS2deNny3qiKnHXDYKFZRDyeZWnQrRPeSiithSiqc2fLb3XsN7S82Ho2M2D2Y5VbZnGZrJ7XVuPmTQrA5VXwGZpEYZg9QsqR6biy811YFHhvHTMTzMVbUhG988xyJSdxmVRkXBwbvLM2WCfr1Dppewg9pej9sqTG3zKx4NYSW27H9n5fV6SjgLReZCsX1RosN6Wk9ZpkUUHoWDfiGBCQWNdfaMD1mk8eFYXcgReCG2JDwQw8VRoVMhpUAf31Xyt7Ec2e9ug2X6XpXCctk4Adh9UMEJRqs7agEEzZwx638Cm99WfnDh7scDLBMYp4UaAkSmDVvnT8UpQoehrSxJefdzawFXhxVifkfPxi1VNKc4uinyHc4UWdhn9FFp37qJq2WsiACbRwEBmV8SQrZ77AL7MwcUPD8RqyR57Pxezk8KpH9PgEj7g6yRQjUzowDmesP5U9uVPSywUtgKDbtWVJXq4SgQUuSXY5YGWwxkQ6HYkPe6ga7ntziGfBQFbb7t9z1MDw6KAZcP7YPwGC9biEjgQxMyEaCBWzXDHWSvpYdrcLX4HRRLp8cWA3QBPcTZ6JFLFnRHLtn9fBwhz9G8v2544VzdNoVCj3pMsS9UZapDSnzbTFi2xKcyNQtDnRnnumUdz7pS4XtGz8V4tnfNozWCRC4TRg77vcCk81r8dPGrXKZQa2vusp7EvjtUyinmEuEhJvbwuvmRc1YsbrqibrRD2r6XEWFKLFE5adWz8gSZWwTj6ZWZDZtBw2QqVd1cSkuR1tEEaDs91nNGcgRitXeTJTuRNpGJWhcgNotEmK3NWTSmJZCiL7qaZeoatnYcVd6X3axxnyr2Dz4SwQePnVi5wVwJPtNiaWZ1V9kqpNwjTfuuk1aRyaWT55LGL71wSBWBgVuNxUYu9jTQ6cpyXxQiHYMHdhEcpdxYPzwe4gEx2EbPVSgL5mazUJHJoTwwhj9CFSsaXeiMaH2QsBw1TZVvLJboMw7Sa7eeAF6S9Q4CYyh4YSyjL6oLMmutz1a3X4xw3HkJHeEn3M2syP7GVP1xHreS9sso92MWHo3v7PyNgUwm3HyzgMNjXd"
    }
}



`firm-order` EVM Example 

{
    "chainIndex" : "1",
    "takerAsset": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",  // Address of takerToken
    "makerAsset": "0xdac17f958d2ee523a2206206994597c13d831ec7",  // Address of makerToken
    "takerAmount": "6000000000000000", // Quantity of takerToken
    "takerAddress": "taker address", // Address of order taker
    "rfqId": "12345678", // uniqueId for the rfq
    "expiryDuration": 60
}