Propose a settlement
Permissions required: Propose and Accept settlements
Propose a settlement with a counterparty for a list of assets coming from and/or arriving into wallets owned by your participant.
Positive amounts indicate funds to be received and negative amounts indicate funds to be sent.
[
{
"walletId": "d4578f401daadff65615236c5ad1e12c",
"quantity": "-1.1",
"assetType": "BTC"
},
{
"walletId": "43a9aeac02c851f4868f9d89aabde494",
"quantity": "20.62",
"assetType": "ETH"
}
]
For example, the above wallet amounts indicate you will send 1.1 BTC from your wallet d4578f401daadff65615236c5ad1e12c and receive 20.62 ETH into your wallet 43a9aeac02c851f4868f9d89aabde494.
The steps to create a settlement are:
- The proposer participant proposes it, selecting an acceptor, assets, amounts and wallets.
- The proposer authorizes it, either through the API or mobile app signing.
- The acceptor participant accepts it, selecting wallets to use.
- (optional) The acceptor authorizes it, either through the API or mobile app signing.
- The settlement is funded in the sending wallets.
- The assets are transferred on-chain, as directed by the settlement.
Steps 2 or 3 can happen out of order.
Step 4 is skipped if the acceptor is not sending any assets.
The settlement stays in the ActionNeeded state until it reaches step 6. Then it enters the Executing state and, after that, it enters one of the final states.
idempotentId into the body before computing the signature.
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
Settlement proposal
128The vault ID of the proposer. It needs to match the vault that the wallets are in.
In a proposal, each asset type can appear only once in the wallet amount list.
Conditional. This parameter is only applicable for clients utilizing Atlas settlements integrated with "Anchorage Vesting". When set to true, it enables the automatic creation of post-settlement vesting schedules. Note: Enabling this will place indefinite holds on the acceptor's destination wallets immediately following a successful settlement
An ID, set by the proposer, visible to both sides, to uniquely identify the purpose of the settlement so that both sides can account for it correctly.
Option to request to use Gas Station to cover fees for proposer.
Response
settlementId

