Skip to main content
POST
/
orders
Create Order
curl --request POST \
  --url https://api.copper.co/platform/orders \
  --header 'Content-Type: application/json' \
  --data '{
  "amount": "0.1",
  "baseCurrency": "BTC",
  "description": "Withdrawal to my wallet",
  "externalOrderId": "<string>",
  "mainCurrency": "<string>",
  "orderType": "withdraw",
  "portfolioId": "<string>",
  "toPortfolioId": "<string>"
}'
{
  "amount": "<string>",
  "baseCurrency": "<string>",
  "createdAt": "<string>",
  "createdBy": "<string>",
  "externalOrderId": "<string>",
  "extra": {
    "availableCoSigners": [
      "<string>"
    ],
    "availableSnapshot": "<string>",
    "balanceSnapshot": "<string>",
    "blockchainTransactionType": "send",
    "clearLoop": true,
    "clearLoopExtra": {
      "clearLoopExternalNetted": true,
      "clearLoopSettlementId": "<string>"
    },
    "clientAccountId": "<string>",
    "coSigners": [
      "<string>"
    ],
    "coSignersNumber": "<string>",
    "confirmations": "<string>",
    "counterpartyPortfolioId": "<string>",
    "deliveryType": "free-of-payment",
    "depositOrderId": "<string>",
    "depositTargetId": "<string>",
    "description": "<string>",
    "estimatedFees": {
      "baseFeePerGas": "<string>",
      "estimatedTime": "<string>",
      "fee": "<string>",
      "feeCurrency": "<string>",
      "feePerByte": {},
      "gasLimit": {},
      "gasPriceGwei": "<string>",
      "maxFeePerGas": "<string>",
      "maxPriorityFeePerGas": "<string>",
      "reportingCurrencyRate": "<string>",
      "transactionBytes": "<string>"
    },
    "externalBroadcast": true,
    "feeLevel": "low",
    "fromAddresses": [
      "<string>"
    ],
    "fromCounterpartyId": "<string>",
    "fromCryptoAddress": {
      "_embedded": {
        "currencyConfigurations": [
          {
            "createdAt": "<string>",
            "createdBy": "<string>",
            "cryptoAddressId": "<string>",
            "currency": "<string>",
            "currencyConfigurationId": "<string>",
            "extra": {},
            "isWhitelist": true,
            "lastUsedAt": "<string>",
            "portfolioIds": [
              "<string>"
            ],
            "updatedAt": "<string>",
            "updatedBy": "<string>"
          }
        ]
      },
      "acceptTokens": true,
      "address": "<string>",
      "addressTags": [
        null
      ],
      "addressType": "externally-owned-account",
      "category": "smart-contract",
      "createdAt": "<string>",
      "createdBy": "<string>",
      "cryptoAddressId": "<string>",
      "currency": "<string>",
      "extra": {},
      "isWhitelist": true,
      "lastUsedAt": "<string>",
      "mainCurrency": "<string>",
      "memo": "<string>",
      "name": "<string>",
      "organizationId": "<string>",
      "portfolioIds": [
        "<string>"
      ],
      "updatedAt": "<string>",
      "updatedBy": "<string>"
    },
    "fromCryptoAddressId": "<string>",
    "fromPortfolioId": "<string>",
    "includeFeeInWithdraw": true,
    "invoiceId": "<string>",
    "marketPrice": "<string>",
    "memo": "<string>",
    "nextTransferTo": [
      {
        "cryptoAddressId": "<string>",
        "portfolioId": "<string>",
        "targetType": "external"
      }
    ],
    "originalDepositAmount": "<string>",
    "partSigned": {},
    "payload": "<string>",
    "payloads": [
      "<string>"
    ],
    "reportingCurrencyRate": "<string>",
    "reportingQuoteCurrencyRate": "<string>",
    "signed": {},
    "spenderAddress": "<string>",
    "terminatedReportingCurrencyRate": "<string>",
    "toAddress": "<string>",
    "toCounterpartyId": "<string>",
    "toCryptoAddressId": "<string>",
    "toInvoiceId": "<string>",
    "toLendingInvoiceId": "<string>",
    "toPortfolioId": "<string>",
    "totalQuoteAmount": "<string>",
    "transactionId": "<string>",
    "transactionRequest": {},
    "transferAmount": "<string>",
    "transferChainId": "<string>",
    "transferDepositTargetId": "<string>",
    "transferFees": "<string>",
    "transferFeesCurrency": "<string>",
    "transferTransactionId": "<string>",
    "withdrawFee": "<string>",
    "withdrawOrderId": "<string>"
  },
  "limitType": "otc",
  "mainCurrency": "<string>",
  "orderId": "<string>",
  "orderType": "sell",
  "organizationId": "<string>",
  "portfolioId": "<string>",
  "portfolioType": "custody",
  "quoteCurrency": "<string>",
  "quoteMainCurrency": "<string>",
  "status": "new",
  "terminatedAt": "<string>",
  "updatedAt": "<string>"
}
Delegate funds to a ClearLoop exchange using the Copper user interface or API. When funds are delegated, they are locked in the client’s Copper Trading Account and credited to the exchange account. Two orders are created as a result:
  • Withdrawal order in the Trading portfolio, containing isClearLoopDelegation under order extra.
  • Deposit order in the ClearLoop portfolio.
Both orders are linked under order extra by withdrawOrderId and depositOrderId. Note that the terms “account” and “transaction” in the user interface correspond to the terms “portfolio” and “order” in the API and codebase. To delegate funds to a ClearLoop exchange, create an order with the following parameters:

Body

application/json
amount
string
required
Examples:
baseCurrency
string
required
Examples:
externalOrderId
string
required
orderType
enum<string>
required
Available options:
withdraw
portfolioId
string
required
toPortfolioId
string
required
description
string
Examples:
mainCurrency
string

Response

amount
string
required
baseCurrency
string
required
createdAt
string
required
externalOrderId
string
required
orderId
string
required
orderType
enum<string>
required
Available options:
sell,
buy,
deposit,
withdraw,
multi-withdraw,
wallet-message,
retrieved-deposit,
earn-reward,
earn-shared-reward,
claim-shared-reward,
cross-chain-deposit,
cross-chain-withdraw
portfolioId
string
required
portfolioType
enum<string>
required
Available options:
custody,
trading-vault,
trading,
external,
clearloop
status
enum<string>
required
Available options:
new,
waiting-funds,
reserving,
reserved,
queued,
validating-funds,
working,
waiting-approve,
co-sign-require,
approved,
processing,
executed,
canceled,
rejecting,
rejected,
declining,
declined,
suspending,
suspended,
blocked,
action-required,
require-initializer-approve,
waiting-counterparty-approve,
require-counterparty-approve,
ready-for-settlement,
settled,
part-signed-tx-added,
full-signed-tx-added,
rejected-part-signed-tx-added,
rejected-full-signed-tx-added,
awaiting-settlement,
master-password-required,
manual-resolving,
error,
pending-atomic-settlement-confirmation,
atomic-settlement-reservation-completed,
require-finalize,
waiting-accept-deposit,
waiting-reject-deposit
createdBy
string
extra
object
limitType
enum<string>
Available options:
otc,
rfq
mainCurrency
string
organizationId
string
quoteCurrency
string
quoteMainCurrency
string
terminatedAt
string
updatedAt
string