OTC Endpoints

The endpoints below allow you to interact with OTC.

Contract Name

  • OTCTrade

Mainnet Addresses

Network

Contract Address

Arbitrum

0x597e3CbEA8f34102E0fC59775Ea62EA1dD1f56f8

Base

0xb4F6544fF7A4a586B47F48d06C70bB2e16B5da6f

Bitlayer

0xECB64314e2B7d2e1F997915E1cE4Ce89f3A9e9aa

Ethereum

0x7D75D2A1Fd7F57f3d9b2a47fB3C8A41523d0ba15

Polygon

0x7D75D2A1Fd7F57f3d9b2a47fB3C8A41523d0ba15

BSC

0x7D75D2A1Fd7F57f3d9b2a47fB3C8A41523d0ba15

Berachain Bartio

0xAD387C624bf043F33c913d9403a96b857b133381


Smart Contract Interface

1. Get the Nonce of the User's Order

Retrieve the nonce of a user's order, required for creating an order.

  • Function: nonces(address maker) returns (uint256)

Request Parameter

Parameter Name

Required

Type

Description

maker

Yes

address

Creator Address

Response Parameter

Parameter Name

Type

Description

nonce

uint256

User order nonce


2. Calculate the Hash of the Order

Calculate the hash of an order, necessary when creating it.

  • Function: hashOrder(Order memory order) returns (bytes32)

Request Parameter

Parameter Name

Required

Type

Description

order

Yes

Order

Created order

Response Parameter

Parameter Name

Type

Description

orderHash

bytes32

User order hash


3. Perform Multi-for-Multi Asset Swap

Use the signed order information to conduct a multi-asset swap.

  • Function: swap(Order memory order_)

Request Parameter

Parameter Name

Required

Type

Description

order_

Yes

Order

Order information from centralized interface

value

Yes

uint256

Platform currency to pay as handling fee

Order Structure

Parameter Name

Required

Type

Description

maker

Yes

address

Address of the asset's owner (order signer)

taker

Yes

address

Address of the person specifying the transaction

asset

Yes

Asset[]

Array of swapped assets

currency

Yes

Asset[]

Array of assets being swapped in

deadline

Yes

uint256

Deadline for the order validity period

themselves

Yes

bytes

Signed transaction data


Asset Structure in Order

Parameter Name

Required

Type

Description

collection

Yes

address

Token address

assetClass

Yes

address

Token type (e.g., ERC20, ERC721)

amountOrID

Yes

uint256

ERC20 quantity or ERC721 ID


4. Cancel Order

Allows the order creator to cancel an order.

  • Function: cancelOrder(Order memory order)

Request Parameter

Parameter Name

Required

Type

Description

order

Yes

Order

Order information from centralized interface


5. Cancel Multiple Orders

Allows the order creator to cancel multiple orders in one call.

  • Function: cancelMultipleOrders(Order[] memory orders)

Request Parameter

Parameter Name

Required

Type

Description

orders

Yes

Order[]

List of order information from centralized interface


6. Cancel All Orders

Allows the creator to cancel all of their orders.

  • Function: cancelAllOrders()

Request Parameters

This function does not take any parameters.


7. Obtain the Minimum Native Currency Fee

Returns the minimum platform fee charged in native currency.

  • Function: feeMinAmount() returns (uint256)

Response Parameter

Parameter Name

Type

Description

feeMinAmount

uint256

Minimum native currency platform fee

Last updated