Skip to Content
DocumentationgRPC APISigning requestsCreate request

Create signing request

Creates a signing request for a message or transaction, which can be signed via the MPCVault mobile app or the API Client Signer.

POST CreateSigningRequest

Request mpcvault.platform.v1.CreateSigningRequestRequest
notes
google.protobuf.StringValue
notes is the transaction notes for the signing request.
vault_uuid
google.protobuf.StringValue
vault_uuid is the UUID of the vault that the signing request will be created in.
callback_client_signer_public_key
google.protobuf.StringValue
callback_client_signer_public_key is the public key of the api client signer for callback It is used to identify the where we should send the callback to. If empty, we will show the signing request in the MPCVault mobile app for manual signing. Note that if the signing request is created by an api wallet, this field must be set as api wallets can only be signed by the api client signer at the moment.
Response mpcvault.platform.v1.CreateSigningRequestResponse
signing_request
signing_request is the signing request that was created.
error
mpcvault.platform.v1.Error

msg mpcvault.platform.v1.EVMSendNative

chain_id
uint64
chain_id is the chain id of the network.
from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
value
string
value is the amount of the native token to send, denominated in wei.
when chain_id is a custom chain, this field is required.
nonce
google.protobuf.Int64Value
nonce is the nonce of the transaction. If this field is not set, we will use the next nonce of the sender. when chain_id is a custom chain, this field is required.

msg mpcvault.platform.v1.EVMGas

max_fee
google.protobuf.StringValue
max_fee is the maximum fee that the user is willing to pay, denominated in wei.
max_priority_fee
google.protobuf.StringValue
max_priority_fee is the maximum priority fee that the user is willing to pay for EIP-1559 transactions, denominated in wei. leave this field empty if you do not want to use EIP-1559.
gas_limit
google.protobuf.StringValue
gas_limit is the maximum amount of gas that the tx is allowed to consume.

msg mpcvault.platform.v1.EVMSendERC20

chain_id
uint64
chain_id is the chain id of the network.
from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
token_contract_address
string
token_contract_address is the address of the ERC20 token contract.
amount
string
amount is the amount of tokens to send. You should use whole integer representation. [amount * 10^decimals] We will use the contract's decimals to convert the amount.
when chain_id is a custom chain, this field is required.
nonce
google.protobuf.Int64Value
nonce is the nonce of the transaction. If this field is not set, we will use the next nonce of the sender. when chain_id is a custom chain, this field is required.

msg mpcvault.platform.v1.EVMSendCustom

chain_id
uint64
chain_id is the chain id of the network.
from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
value
string
value is the amount of the native token to send, denominated in wei.
input
bytes
when chain_id is a custom chain, this field is required.
nonce
google.protobuf.Int64Value
nonce is the nonce of the transaction. If this field is not set, we will use the next nonce of the sender. when chain_id is a custom chain, this field is required.

msg mpcvault.platform.v1.BTCSendNative

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
amount
string
amount is the amount of the native token to send, denominated in satoshi.
network_fee
uint64
network_fee is the network fee that the user is willing to pay, denominated in sat/b.

msg mpcvault.platform.v1.TronSendNative

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
value
string
value is the amount of the native token to send, denominated in sun.

msg mpcvault.platform.v1.TronSendTRC10

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
asset_name
string
asset_name identifies the token to be sent.
amount
string
amount is the amount of tokens to send. You should use whole integer representation. [amount * 10^decimals]

msg mpcvault.platform.v1.TronSendTRC20

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
contract_address
string
contract_address is the address of the token.
amount
string
amount is the amount of tokens to send. You should use whole integer representation. [amount * 10^decimals]
fee_limit
google.protobuf.StringValue
(optional) fee_limit is the maximum fee that the user is willing to pay, denominated in sun.

msg mpcvault.platform.v1.AptosSendNative

chain_id
uint64
please use 1 for mainnet. MPCVault does not support Aptos testnet at the moment.
from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
value
string
value is the amount of the native token to send, denominated in octa.
(optional) specify the gas fee for the transaction.

msg mpcvault.platform.v1.AptosGas

max_gas_amount
google.protobuf.StringValue
(optional) max_gas_amount is the maximum gas units that the transaction can use https://aptos.dev/concepts/gas-txn-fee/#unit-of-gas
gas_unit_price
google.protobuf.StringValue
(optional) gas_unit_price is the price that the user is willing to pay, denominated in octa.

msg mpcvault.platform.v1.AptosSendCoin

chain_id
uint64
please use 1 for mainnet. MPCVault does not support Aptos testnet at the moment.
from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
coin_tag
string
coin_tag identifies the coin to be sent.
amount
string
amount is the amount of tokens to send. You should use whole integer representation. [amount * 10^decimals]
(optional) specify the gas fee for the transaction.

msg mpcvault.platform.v1.AptosSendCustom

chain_id
uint64
please use 1 for mainnet. MPCVault does not support Aptos testnet at the moment.
from
string
from is the sender wallet address. It has to be in this vault.
payload
bytes
payload can be JSON or the bcs-serialized bytes of the transaction.
(optional) specify the gas fee for the transaction.

msg mpcvault.platform.v1.SuiSendNative

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
value
string
value is the amount of the native token to send, denominated in mist.
(optional) specify the gas fee for the transaction.

msg mpcvault.platform.v1.SuiGas

budget
google.protobuf.StringValue
(optional) budget is the maximum fee that the user is willing to pay, denominated in mist.
price
google.protobuf.StringValue
(optional) price is the price that the user is willing to pay, denominated in mist.

msg mpcvault.platform.v1.SuiSendCoin

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
coin_tag
string
coin_tag identifies the coin to be sent.
amount
string
amount is the amount of coins to send. You should use whole integer representation. [amount * 10^decimals]
(optional) specify the gas fee for the transaction.

msg mpcvault.platform.v1.SuiSendCustom

from
string
from is the sender wallet address. It has to be in this vault.
payload
bytes
payload can be JSON or the bcs-serialized bytes of the transaction.

msg mpcvault.platform.v1.SolanaSendNative

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the account address of the recipient.
value
string
value is the amount of the native token to send, denominated in lamports.

msg mpcvault.platform.v1.SolanaSendSPLToken

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the account address of the recipient.
mint_address
string
mint_address is the address of the token.
amount
string
amount is the amount of tokens to send. You should use whole integer representation. [amount * 10^decimals]

msg mpcvault.platform.v1.EVMMessage

chain_id
uint64
from
string
from is the address of the sender. It has to be in this vault.
content
bytes

enum mpcvault.platform.v1.EVMMessage.Type

0
TYPE_UNSPECIFIED
1
TYPE_PERSONAL_SIGN
2
TYPE_SIGN_TYPED_DATA

msg mpcvault.platform.v1.AptosMessage

from
string
from is the sender wallet address. It has to be in this vault.

enum mpcvault.platform.v1.AptosMessage.Type

0
TYPE_UNSPECIFIED
1
TYPE_DEFAULT

msg mpcvault.platform.v1.SolanaMessage

from
string
from is the sender wallet address. It has to be in this vault.
content
bytes

enum mpcvault.platform.v1.SolanaMessage.Type

0
TYPE_UNSPECIFIED
1
TYPE_DEFAULT

msg mpcvault.platform.v1.RawMessage

from
string
from is the wallet address of the key pair that we uses to sign the message. The wallet has to be in this vault. We will use the key's algorithm to sign the message.
content
bytes
content is the raw message content in bytes.
ecdsa_hash_function is the hash function to use for signing the message. Required if the key is ECDSA. This field will be ignored if the key is not ECDSA.

enum mpcvault.platform.v1.ECDSAHashFunction

0
ECDSA_HASH_FUNCTION_UNSPECIFIED
1
ECDSA_HASH_FUNCTION_USE_MESSAGE_DIRECTLY
2
ECDSA_HASH_FUNCTION_SHA256

msg mpcvault.platform.v1.SuiMessage

from
string
from is the sender wallet address. It has to be in this vault.
content
bytes

enum mpcvault.platform.v1.SuiMessage.Type

0
TYPE_UNSPECIFIED
1
TYPE_DEFAULT

msg mpcvault.platform.v1.TonSendNative

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
value
string
value is the amount of the native token to send, denominated in nanos.
comment
string
(optional) max len is 50.

msg mpcvault.platform.v1.TonSendToken

from
string
from is the sender wallet address. It has to be in this vault.
to
string
to is the address of the recipient.
mint_address
string
mint_address is the address of the token.
amount
string
amount is the amount of tokens to send. You should use whole integer representation. [amount * 10^decimals]
comment
string
(optional) max len is 50.

msg mpcvault.platform.v1.TonSendCustom

from
string
from is the sender wallet address. It has to be in this vault.
payload
bytes
payload can be JSON of the transaction. Same as ton-connect.

msg mpcvault.platform.v1.TonMessage

from
string
from is the sender wallet address. It has to be in this vault.
content
bytes

enum mpcvault.platform.v1.TonMessage.Type

0
TYPE_UNSPECIFIED
1
TYPE_DEFAULT

msg mpcvault.platform.v1.SolanaSendCustom

from
string
from is the sender wallet address. It has to be in this vault.
tx_base64
[]string
max length is 5.
Last updated on