Sign
curl --request POST \
  --url https://testnet.walletkit.com/transactions/sign \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "network": "Ethereum",
  "signer_wallet_address": "<string>",
  "unsigned_transaction": {
    "to": "<string>",
    "value": "<string>",
    "input": "<string>",
    "gasLimit": "<string>",
    "maxPriorityFeePerGas": "<string>",
    "maxFeePerGas": "<string>",
    "nonce": "<string>"
  },
  "developer_secret": "<string>",
  "user_pin": "<string>"
}'
"<string>"

Headers

X-WalletKit-Project-ID
string
required
Your WalletKit Project ID can be found on the API Keys page in the WalletKit Dashboard.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
network
enum<string>
required
Available options:
Ethereum,
Polygon,
Base,
Avalanche,
Polkadot,
Vara
signer_wallet_address
string
required

address can only be the ones created in the project.

unsigned_transaction
object
required

input of a transaction to be signed.

developer_secret
string | null

On testnet, the developer_secret is always "testnet-secret". On mainnet, the developer_secret is set by the developer during account activation.

user_pin
string | null

A 6-digit numeric pin that is only known to the user, set during wallet creation. This pin is required to sign transactions from this wallet.

Response

signed transaction. This is the raw transaction that can be sent to the rpc node. e.g. input to eth_sendrawtransaction

The response is of type string.