Link

Order models

Here you can get information about each field in our Orders API

CreateOrder

field type additional info
externalOrderId String unique order identifier from client (should be unique to portfolio)
orderType OrderType order type
portfolioId String unique portfolio identifier for which the order will be created
amount BigDecimal order execution amount
baseCurrency Currency currency for the amount
quoteCurrency Optional<Currency> trading quote currency
mainCurrency Optional<Currency> for deposits and withdrawals. Currency of main blockchain (e.g. For USDT, it could be either ETH or BTC currency)
limitType Optional<LimitType> limit type
priceLimit Optional<BigDecimal> limit value for order with limitType
toAddress Optional<String> withdraw address
toCryptoAddressId Optional<String> withdraw crypto address identifier
toBankAccountId Optional<String> withdraw bank account identifier
toPortfolioId Optional<String> move to portfolioId identifier
destinationTag Optional<Long> withdraw destination tag
memo Optional<String> withdraw memo
counterpartyPortfolioId Optional<String> OTC counter party portfolioId
daysToSettle Optional<Int> OTC days to settle
masterPassword Optional<String> withdraw master password for External portfolio

Order

field type additional info
orderId String unique order identifier
externalOrderId String unique order identifier from client (should be unique for portfolio)
status OrderStatus one of possible order status
orderType OrderType order type
portfolioId String unique portfolio identifier for which the order was created
portfolioType PortfolioType portfolio type
accountId String unique account identifier
amount BigDecimal order execution amount
baseCurrency Currency currency for the amount
mainCurrency Optional<Currency> for deposits and withdrawal. Currency of main blockchain (e.g. may be BTC or ETH for USDT currency)
quoteCurrency Optional<Currency> trading quote currency
limitType Optional<LimitType> limit type
priceLimit Optional<BigDecimal> limit value for order with limitType
statusDescription Optional<String> additional description for current status
extra Optional<OrderExtra> additional order data
createdBy String order creator user ID
organizationId String unique organization identifier
createdAt Long time of order creation
updatedAt Optional<Long> time of latest order update
terminatedAt Optional<Long> user that made last account update

OrderStatus

Enum with possible values (may be changed in future):

status description
new order created
reserved only for withdraw and buy/sell orders: required amount reserved on your balance
working order processing (waiting for something)
waiting-approve awaiting admin approval for deposit and withdrawal orders
co-sign-require order still needs to be co-signed by an authorised organisation member
approved deposit or withdraw order has been approved by Copper’s admin, and will be processed shortly
processing waiting for the minimum required number of network confirmations from the blockchain for withdraw orders
executed completed order
canceled canceled order
rejected request has been rejected by Copper’s admin, now waiting for rejection transaction signature
error something went wrong (with errorDescription attached)
waiting-counterparty-approve awaiting counterparty to approve OTC order
require-counterparty-approve new OTC order requires counterparty approval
part-signed-tx-added part-signed tx was added for Vault order
full-signed-tx-added fully-signed tx was added for Vault order
rejected-part-signed-tx-added rejected part-signed tx was added for Vault order
rejected-full-signed-tx-added rejected fully-signed tx was added for Vault order

OrderType

Enum with possible values (may be changed in future):

  • deposit
  • withdraw
  • sell
  • buy

LimitType

Enum with possible values (may be changed in future):

  • otc

OrderExtra

field type additional info
fromPortfolioId Optional<String> for deposits. If deposit was created as move from other portfolio
toPortfolioId Optional<String> for withdrawal. If deposit was created as move to other portfolio
transactionRequest Optional<Object> data for Vault withdrawal
toAddress Optional<String> withdraw address
destinationTag Optional<Long> withdraw destination tag
memo Optional<String> withdraw memo
price Optional<BigDecimal>  
reportingCurrencyRate Optional<BigDecimal> organization reporting currency rate for baseCurrency on order creation
terminatedReportingCurrencyRate Optional<BigDecimal> organization reporting currency rate for baseCurrency on order termination
totalQuoteAmount Optional<BigDecimal>  
counterpartyPortfolioId Optional<String> OTC counter party portfolioId
counterpartyOrderId Optional<String> OTC counter party orderId
daysToSettle Optional<Int> OTC days to settle
initializerPortfolioId Optional<String> OTC initializer portfolioId
initializerOrderId Optional<String> OTC initializer orderId
toBankAccountId Optional<String> withdraw bank account identifier
toBankAccount Optional<BankAccount> for fiat withdrawal. Detailed info for given toBankAccountId
toCryptoAddressId Optional<String> withdraw crypto address identifier
toCryptoAddress Optional<CryptoAddress> for crypto withdrawal. Detailed info for given toCryptoAddressId
coSignersNumber Optional<Int> required amount of co-signers to process withdraw
coSigners Optional<List<String>> list of user ID that already co-sign this order
confirmations Optional<Long> for crypto deposits. Confirmations that were counted when order was in working status
feesPercent Optional<BigDecimal>  
transactionId Optional<String> for deposits/withdrawal. Blockchain transaction ID (hash) that initialize/complete this order
transaction Optional<Transaction> for deposits/withdrawal. Detailed info for given transactionId
rejectTransactionRequest Optional<Object> data for Vault deposit rejection
rejectTransactionId Optional<String> blockchain transaction ID (hash) for rejection
rejectTransaction Optional<Transaction> detailed info for given rejectTransactionId
rejectPartSigned Optional<Object> data for Vault deposit rejection
rejectSigned Optional<Object> data for Vault deposit rejection
partSigned Optional<Object> data for Vault withdrawal
signed Optional<Object> data for Vault withdrawal
fromBankAccount Optional<BankAccount> for fiat deposits. Information about the bank account from which the deposit came
invoiceId Optional<String>  
balanceSnapshot Optional<BigDecimal> balance of baseCurrency snapshot after success order execution

Transaction

field type additional info
inputs List<Input> transaction inputs
outputs List<Output> transaction outputs
txId String blockchain transaction ID (hash)
txLt Optional<Long> for Telegram Open Network. Transaction Lt
transactionType Optional<TransactionType>  
blockHeight Long blockchain block number that includes this transaction
isSuccess Boolean was transaction complete success or not
currency Currency transaction currency (may be token currency)
mainCurrency Optional<Currency> Currency of main blockchain (e.g. may be BTC or ETH for USDT currency)
memo Optional<String> transaction memo
timestamp Optional<Long> creation time of blockHeight
fee Optional<BigInteger> fees paid for this transaction

Input

field type additional info
address Optional<String>  
source Optional<String>  
destination Optional<String>  
hash Optional<String>  
value BigInteger  
sourceTag Optional<Long>  
message Optional<String>  
forwardFee Optional<BigInteger>  
ihrFee Optional<BigInteger>  

Output

field type additional info
address Optional<String>  
source Optional<String>  
destination Optional<String>  
hash Optional<String>  
value BigInteger  
txIndex Optional<Long>  
destinationTag Optional<Long>  
message Optional<String>  
forwardFee Optional<BigInteger>  
ihrFee Optional<BigInteger>  

TransactionType

Enum with possible values (may be changed in future):

  • deposit
  • withdraw
  • unknown