Method Name
private/transfer_position_debug
private/transfer_position_debugReturns useful data for debugging a private/transfer_position call
Required minimum session key permission level is read_only
Parameters
| walletstringrequired Public key (wallet) of the account |
| maker_paramsobjectrequired Maker order parameters and signature. Maximum transfer amount is limited by the size of the maker position. Transfers that increase the maker's position size are not allowed. |
| maker_params.amountstringrequired Order amount in units of the base |
| maker_params.directionstringrequired Order direction enum buysell |
| maker_params.instrument_namestringrequired Instrument name |
| maker_params.limit_pricestringrequired Limit price in quote currency. This field is still required for market orders because it is a component of the signature. However, market orders will not leave a resting order in the book in case of a partial fill. |
| maker_params.max_feestringrequired Max fee PER contract, denominated in USDC. For resting orders (maker orders), max_fee must be > 2 x max(taker_fee, maker_fee) x spot_price + extra_fee / amount.For crossing orders (taker order), max_fee must be > maker max_fee + base_fee / fill_amount. Note, in this calculation, regardless of the custom account taker / maker fees, the standard taker / maker fees are used. The max(limit_price, index_price) is used to calculate the notional volume. |
| maker_params.nonceintegerrequired Unique nonce defined as (UTC_timestamp in ms)(random_number_up_to_3_digits) (e.g. 1695836058725001, where 001 is the random number). Note, using a random number beyond 3 digits will cause JSON serialization to fail. |
| maker_params.signaturestringrequired Ethereum signature of the order |
| maker_params.signature_expiry_secintegerrequired Unix timestamp in seconds. Order signature becomes invalid after this time, and the system will cancel the order. Expiry MUST be at least 5 min from now. |
| maker_params.signerstringrequired Owner wallet address or registered session key that signed order |
| maker_params.subaccount_idintegerrequired Subaccount ID |
| taker_paramsobjectrequired Taker order parameters and signature |
| taker_params.amountstringrequired Order amount in units of the base |
| taker_params.directionstringrequired Order direction enum buysell |
| taker_params.instrument_namestringrequired Instrument name |
| taker_params.limit_pricestringrequired Limit price in quote currency. This field is still required for market orders because it is a component of the signature. However, market orders will not leave a resting order in the book in case of a partial fill. |
| taker_params.max_feestringrequired Max fee PER contract, denominated in USDC. For resting orders (maker orders), max_fee must be > 2 x max(taker_fee, maker_fee) x spot_price + extra_fee / amount.For crossing orders (taker order), max_fee must be > maker max_fee + base_fee / fill_amount. Note, in this calculation, regardless of the custom account taker / maker fees, the standard taker / maker fees are used. The max(limit_price, index_price) is used to calculate the notional volume. |
| taker_params.nonceintegerrequired Unique nonce defined as (UTC_timestamp in ms)(random_number_up_to_3_digits) (e.g. 1695836058725001, where 001 is the random number). Note, using a random number beyond 3 digits will cause JSON serialization to fail. |
| taker_params.signaturestringrequired Ethereum signature of the order |
| taker_params.signature_expiry_secintegerrequired Unix timestamp in seconds. Order signature becomes invalid after this time, and the system will cancel the order. Expiry MUST be at least 5 min from now. |
| taker_params.signerstringrequired Owner wallet address or registered session key that signed order |
| taker_params.subaccount_idintegerrequired Subaccount ID |
Response
| idstring or integerrequired |
| resultobjectrequired |
| result.maker_resultobjectrequired |
| result.maker_result.action_hashstringrequired Keccak hashed action data |
| result.maker_result.encoded_datastringrequired ABI encoded order data |
| result.maker_result.encoded_data_hashedstringrequired Keccak hashed encoded_data |
| result.maker_result.typed_data_hashstringrequired EIP 712 typed data hash |
| result.maker_result.raw_dataobjectrequired Raw order data |
| result.maker_result.raw_data.expiryintegerrequired |
| result.maker_result.raw_data.is_atomic_signingbooleanrequired |
| result.maker_result.raw_data.modulestringrequired |
| result.maker_result.raw_data.nonceintegerrequired |
| result.maker_result.raw_data.ownerstringrequired |
| result.maker_result.raw_data.signaturestringrequired |
| result.maker_result.raw_data.signerstringrequired |
| result.maker_result.raw_data.subaccount_idintegerrequired |
| result.maker_result.raw_data.dataobjectrequired |
| result.maker_result.raw_data.data.assetstringrequired |
| result.maker_result.raw_data.data.desired_amountstringrequired |
| result.maker_result.raw_data.data.is_bidbooleanrequired |
| result.maker_result.raw_data.data.limit_pricestringrequired |
| result.maker_result.raw_data.data.recipient_idintegerrequired |
| result.maker_result.raw_data.data.sub_idintegerrequired |
| result.maker_result.raw_data.data.trade_idstringrequired |
| result.maker_result.raw_data.data.worst_feestringrequired |
| result.taker_resultobjectrequired |
| result.taker_result.action_hashstringrequired Keccak hashed action data |
| result.taker_result.encoded_datastringrequired ABI encoded order data |
| result.taker_result.encoded_data_hashedstringrequired Keccak hashed encoded_data |
| result.taker_result.typed_data_hashstringrequired EIP 712 typed data hash |
| result.taker_result.raw_dataobjectrequired Raw order data |
| result.taker_result.raw_data.expiryintegerrequired |
| result.taker_result.raw_data.is_atomic_signingbooleanrequired |
| result.taker_result.raw_data.modulestringrequired |
| result.taker_result.raw_data.nonceintegerrequired |
| result.taker_result.raw_data.ownerstringrequired |
| result.taker_result.raw_data.signaturestringrequired |
| result.taker_result.raw_data.signerstringrequired |
| result.taker_result.raw_data.subaccount_idintegerrequired |
| result.taker_result.raw_data.dataobjectrequired |
| result.taker_result.raw_data.data.assetstringrequired |
| result.taker_result.raw_data.data.desired_amountstringrequired |
| result.taker_result.raw_data.data.is_bidbooleanrequired |
| result.taker_result.raw_data.data.limit_pricestringrequired |
| result.taker_result.raw_data.data.recipient_idintegerrequired |
| result.taker_result.raw_data.data.sub_idintegerrequired |
| result.taker_result.raw_data.data.trade_idstringrequired |
| result.taker_result.raw_data.data.worst_feestringrequired |
Example
{request_example_shell}{request_example_javascript}{request_example_python}The above command returns JSON structured like this:
{response_example_json}