Create a stake request
Permissions required: Initiate Staking and Unstaking
Identify the sending asset
To initiate a staking operation, you must identify which asset you’d like to stake funds from. Provide a source and assetType.
Permissions
The provided API key must be associated with a permission group that has Initiate Staking and Unstaking permission for the sending vault.
Additional Metadata
You may provide a description with each staking operation, that will be visible within your organization in the Anchorage Digital iOS Application.
Successful Staking
If the stake request is valid, the request will initiate a stake transaction from the sending wallet. It will still require a quorum of approvals on the Anchorage Digital iOS app and will undergo manual Anchorage Digital Risk Review. Like other transactions, these will be visible on the Anchorage Digital iOS Application, the Web Dashboard, and in the list transactions API endpoint.
Unsuccessful Stakes
A stake request may fail for any of the following reasons:
- An ongoing stake already exists
- The specified asset does not exist
- The specified amount exceeds the available funds for this asset (insufficient funds)
- The provided API key does not have permissions to initiate staking from this vault
If the initiated stake is approved by the quorum, the transaction may fail for any of the following reasons:
- There are insufficient funds to pay the blockchain network fee at the time of this transaction
- There is a failure on the blockchain
Feature under development
Currently, specific assets parameters are under development and will not be considered in any staking request. These include:
- Solana staking;
- ETH Pectra staking.
Authorizations
An API key associated with a security role
Headers
A hex-encoded Ed25519 signature of timestamp_epoch_seconds + uppercase(http_method) + request_path + request_body.
Construction example:
toHex( ed25519Sign( signing_key, '{}{}{}{}'.format(timestamp_epoch_seconds, toUpper(httpMethod), httpRequestPath, httpBody) ) )
^[0-9A-Fa-f]{128,160}$Current timestamp, represented as unix epoch seconds
Body
An amount of a crypto-asset to transfer, without units. The unit is derived from the asset type.
"32"
A string representing a type of crypto-asset, which usually corresponds to the crypto asset's ticker symbol.
Use /asset-types to list all of the supported asset types for your organization.
"ETH"
A client-provided unique ID for idempotent requests
128"12838927347"
An object representing a resource capable of sending funds.
Construction example:
{ "id":"1c920f4241b78a1d483a29f3c24b6c4c", "type":"WALLET" }
An optional string providing more context to this transaction. It will be visible on the Anchorage Digital iOS app and will not be published to the blockchain.
"Internal ID: #12838927347"
UNDER DEVELOPMENT: Solana specific staking parameters
- SOLStakingParameters
- SOLStakingParameters
- ETHStakingParameters
Response
Successfully initiated a stake transaction
{
"transactionId": "8696144cca28a634c05858d00e51191408498a7808a837fc4645b4b6997dde09"
}
