Skip to main content
POST
/
api
/
v1
/
wallet
/
import-vtxo
Import a VTXO
curl --request POST \
  --url https://api.example.com/api/v1/wallet/import-vtxo \
  --header 'Content-Type: application/json' \
  --data '
{
  "vtxos": [
    "<string>"
  ]
}
'
[
  {
    "amount_sat": 1,
    "chain_anchor": "<string>",
    "exit_delta": 1,
    "exit_depth": 1,
    "expiry_height": 1,
    "id": "<string>",
    "policy_type": "<string>",
    "server_pubkey": "<string>",
    "user_pubkey": "<string>",
    "state": {
      "type": "spendable"
    }
  }
]

Body

application/json
vtxos
string[]
required

Hex-encoded VTXOs to import

Response

VTXO imported successfully

amount_sat
integer<int64>
required

The value of this VTXO in sats.

Required range: x >= 0
chain_anchor
string
required

The on-chain outpoint that roots this VTXO, formatted as txid:vout. Typically an output of a round transaction or a board transaction.

exit_delta
integer<int32>
required

The relative timelock, in blocks, that must elapse before the final on-chain claim in an emergency exit.

Required range: x >= 0
exit_depth
integer<int32>
required

The number of off-chain transactions in this VTXO. Each must be broadcast and confirmed on-chain in sequence during an emergency exit.

Required range: x >= 0
expiry_height
integer<int32>
required

The block height at which this VTXO expires. After expiry, the server can reclaim the sats. Refresh before expiry to receive new VTXOs, or exit to move them on-chain.

Required range: x >= 0
id
string
required

Unique identifier for this VTXO, formatted as txid:vout.

policy_type
string
required

The spending policy that governs this VTXO.

server_pubkey
string
required

The Ark server's public key used to co-sign transactions involving this VTXO.

user_pubkey
string
required

The owner's public key. Only the holder of the corresponding private key can spend this VTXO.

state
object
required

The current state of this VTXO in the wallet.