Increase Liquidity

Increase Liquidity PSBT

post

Generates a PSBT for increasing liquidity in an existing position by sending funds to the pool.

Authorizations
Body
poolIdstring · min: 64 · max: 66Required

The pool's identifier.

Pattern: ^[0-9a-fA-F]+$
amount0stringRequired

The amount of the first token to deposit.

Pattern: ^[1-9][0-9]*$
amount1stringRequired

The amount of the second token to deposit.

Pattern: ^[1-9][0-9]*$
initializeAccountUtxobooleanRequired

A boolean indicating whether to initialize the account UTXO. If you're creating a new position, you should set this to true.

feeRateinteger · min: 1Required

The fee rate for the transaction (in sats per byte).

runePubkeystring · min: 64 · max: 66Required

The public key of the rune address of the user initiating the request.

Pattern: ^[0-9a-fA-F]+$
paymentPubkeystring · min: 64 · max: 66Optional

The public key of the bitcoin address of the user initiating the request. If the user doesn't have a bitcoin address, the runePubkey will be used

Pattern: ^[0-9a-fA-F]+$
runeAddressstringRequired

The rune address of the user. It must be a taproot address. (P2TR). If no bitcoin address is provided, the rune address will be used for bitcoin too.

paymentAddressstringOptional

The bitcoin address of the user.

Responses
201
An object containing the PSBT (in base64 format), the fee, and the list of UTXOs to sign.
application/json
post
POST /v0/pool/increase-liquidity/psbt HTTP/1.1
Host: api-dev.saturnbtc.io
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 180

{
  "poolId": "text",
  "amount0": "text",
  "amount1": "text",
  "initializeAccountUtxo": true,
  "feeRate": 1,
  "runePubkey": "text",
  "paymentPubkey": "text",
  "runeAddress": "text",
  "paymentAddress": "text"
}
{
  "mergeUtxoPsbt": {
    "psbt": "text",
    "fee": 1,
    "utxosToSign": [
      {
        "address": "text",
        "signingIndexes": [
          1
        ],
        "sigHash": 1,
        "utxo": "text"
      }
    ]
  },
  "psbt": "text",
  "fee": 1,
  "utxosToSign": [
    {
      "address": "text",
      "signingIndexes": [
        1
      ],
      "sigHash": 1,
      "utxo": "text"
    }
  ]
}

Increase Liquidity Message

post

Generates a message hash for increasing liquidity in an existing position, which the user should sign.

Authorizations
Body
positionPubKeystring · min: 64 · max: 66Required

The pubkey of the position.

Pattern: ^[0-9a-fA-F]+$
poolIdstring · min: 64 · max: 66Required

The pubkey of the pool.

Pattern: ^[0-9a-fA-F]+$
feeRateinteger · min: 1Required

The fee rate for the transaction (in sats per byte).

signedPsbtstringRequired

The signed PSBT in base64 format.

Pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}={2})$
runePubkeystring · min: 64 · max: 66Required

The public key of the rune address of the user initiating the request.

Pattern: ^[0-9a-fA-F]+$
paymentPubkeystring · min: 64 · max: 66Optional

The public key of the bitcoin address of the user initiating the request. If the user doesn't have a bitcoin address, the runePubkey will be used

Pattern: ^[0-9a-fA-F]+$
mergeUtxoPsbtstringOptional

The merge UTXO PSBT in base64 format.

Pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}={2})$
amount0stringRequired

The amount of the first token to deposit.

Pattern: ^[1-9][0-9]*$
amount1stringRequired

The amount of the second token to deposit.

Pattern: ^[1-9][0-9]*$
runeAddressstringRequired

The rune address of the user. It must be a taproot address. (P2TR). If no bitcoin address is provided, the rune address will be used for bitcoin too.

paymentAddressstringOptional

The bitcoin address of the user.

Responses
201
A hexadecimal string representing the hash of the message to be signed by the user.
application/json
Responsestring
post
POST /v0/pool/increase-liquidity/message HTTP/1.1
Host: api-dev.saturnbtc.io
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 218

{
  "positionPubKey": "text",
  "poolId": "text",
  "feeRate": 1,
  "signedPsbt": "text",
  "runePubkey": "text",
  "paymentPubkey": "text",
  "mergeUtxoPsbt": "text",
  "amount0": "text",
  "amount1": "text",
  "runeAddress": "text",
  "paymentAddress": "text"
}
text

Increase Liquidity

post

Finalizes the increase of liquidity in an existing position by submitting the signed message and executing the transaction on the network.

Authorizations
Body
signaturestringRequired

The user's signature of the increase liquidity message.

Pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}={2})$
positionPubKeystring · min: 64 · max: 66Required

The pubkey of the position.

Pattern: ^[0-9a-fA-F]+$
poolIdstring · min: 64 · max: 66Required

The pubkey of the pool.

Pattern: ^[0-9a-fA-F]+$
feeRateinteger · min: 1Required

The fee rate for the transaction (in sats per byte).

signedPsbtstringRequired

The signed PSBT in base64 format.

Pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}={2})$
runePubkeystring · min: 64 · max: 66Required

The public key of the rune address of the user initiating the request.

Pattern: ^[0-9a-fA-F]+$
paymentPubkeystring · min: 64 · max: 66Optional

The public key of the bitcoin address of the user initiating the request. If the user doesn't have a bitcoin address, the runePubkey will be used

Pattern: ^[0-9a-fA-F]+$
mergeUtxoPsbtstringOptional

The merge UTXO PSBT in base64 format.

Pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}={2})$
amount0stringRequired

The amount of the first token to deposit.

Pattern: ^[1-9][0-9]*$
amount1stringRequired

The amount of the second token to deposit.

Pattern: ^[1-9][0-9]*$
runeAddressstringRequired

The rune address of the user. It must be a taproot address. (P2TR). If no bitcoin address is provided, the rune address will be used for bitcoin too.

paymentAddressstringOptional

The bitcoin address of the user.

Responses
201
The Arch Network transaction ID of the liquidity increase.
application/json
post
POST /v0/pool/increase-liquidity HTTP/1.1
Host: api-dev.saturnbtc.io
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 237

{
  "signature": "text",
  "positionPubKey": "text",
  "poolId": "text",
  "feeRate": 1,
  "signedPsbt": "text",
  "runePubkey": "text",
  "paymentPubkey": "text",
  "mergeUtxoPsbt": "text",
  "amount0": "text",
  "amount1": "text",
  "runeAddress": "text",
  "paymentAddress": "text"
}
{
  "archTxId": "text",
  "bitcoinTxIds": [
    "text"
  ]
}

Last updated