2021-03-11 13:34:52 +01:00
{
"paths" : {
"/api/v1/stores/{storeId}/payment-methods/OnChain/{cryptoCode}/wallet" : {
"get" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
"summary" : "Get store on-chain wallet overview" ,
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the payment method to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
}
] ,
"description" : "View information about the specified wallet" ,
"operationId" : "StoreOnChainWallets_ShowOnChainWalletOverview" ,
"responses" : {
"200" : {
"description" : "specified wallet" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OnChainWalletOverviewData"
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
2021-04-07 08:16:17 +02:00
"/api/v1/stores/{storeId}/payment-methods/OnChain/{cryptoCode}/wallet/feeRate" : {
"get" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
2021-08-05 09:28:19 +02:00
"summary" : "Get store on-chain wallet fee rate" ,
2021-04-07 08:16:17 +02:00
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the payment method to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-04-07 08:16:17 +02:00
} ,
{
"name" : "blockTarget" ,
"in" : "query" ,
"required" : false ,
"description" : "The number of blocks away you are willing to target for confirmation. Defaults to the wallet's configured `RecommendedFeeBlockTarget`" ,
"schema" : {
"type" : "number" ,
"minimum" : 1
}
}
] ,
"description" : "Get wallet onchain fee rate" ,
"operationId" : "StoreOnChainWallets_GetOnChainFeeRate" ,
"responses" : {
"200" : {
"description" : "fee rate" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OnChainWalletFeeRateData"
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-12-20 11:16:23 +01:00
"btcpay.store.canviewstoresettings"
2021-04-07 08:16:17 +02:00
] ,
"Basic" : [ ]
}
]
}
} ,
2021-03-11 13:34:52 +01:00
"/api/v1/stores/{storeId}/payment-methods/OnChain/{cryptoCode}/wallet/address" : {
"get" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
"summary" : "Get store on-chain wallet address" ,
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the payment method to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
} ,
{
"name" : "forceGenerate" ,
"in" : "query" ,
"required" : false ,
"description" : "Whether to generate a new address for this request even if the previous one was not used" ,
"schema" : {
2021-12-04 09:20:23 +01:00
"type" : "boolean" ,
"default" : false
2021-03-11 13:34:52 +01:00
}
}
] ,
"description" : "Get or generate address for wallet" ,
"operationId" : "StoreOnChainWallets_GetOnChainWalletReceiveAddress" ,
"responses" : {
"200" : {
"description" : "reserved address" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OnChainWalletAddressData"
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
} ,
"delete" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
"summary" : "UnReserve last store on-chain wallet address" ,
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the payment method to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
}
] ,
"description" : "UnReserve address" ,
"operationId" : "StoreOnChainWallets_UnReserveOnChainWalletReceiveAddress" ,
"responses" : {
"200" : {
"description" : "address unreserved"
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet or there was no address reserved"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/stores/{storeId}/payment-methods/OnChain/{cryptoCode}/wallet/transactions" : {
"get" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
"summary" : "Get store on-chain wallet transactions" ,
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the wallet to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
} ,
{
"name" : "statusFilter" ,
"in" : "query" ,
"required" : false ,
2021-07-09 21:04:01 -07:00
"description" : "Statuses to filter the transactions with" ,
2021-03-11 13:34:52 +01:00
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/TransactionStatus"
}
}
2021-07-09 21:04:01 -07:00
} ,
{
"name" : "skip" ,
"in" : "query" ,
"required" : false ,
"description" : "Number of transactions to skip from the start" ,
"schema" : {
"type" : "integer"
}
} ,
{
"name" : "limit" ,
"in" : "query" ,
"required" : false ,
"description" : "Maximum number of transactions to return" ,
"schema" : {
"type" : "integer"
}
2021-03-11 13:34:52 +01:00
}
] ,
"description" : "Get store on-chain wallet transactions" ,
"operationId" : "StoreOnChainWallets_ShowOnChainWalletTransactions" ,
"responses" : {
"200" : {
"description" : "transactions list" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/OnChainWalletTransactionData"
}
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
2022-01-10 11:59:13 +09:00
} ,
"503" : {
"description" : "You need to allow non-admins to use hotwallets for their stores (in /server/policies)"
2021-03-11 13:34:52 +01:00
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
} ,
"post" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
"summary" : "Create store on-chain wallet transaction" ,
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the wallet" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/CreateOnChainTransactionRequest"
}
}
}
} ,
"description" : "Create store on-chain wallet transaction" ,
"operationId" : "StoreOnChainWallets_CreateOnChainTransaction" ,
"responses" : {
"200" : {
"description" : "the tx" ,
"content" : {
"application/json" : {
"schema" : {
"oneOf" : [
{
"description" : "The unbroadcasted transaction in hex format" ,
"type" : "string"
} ,
{
"$ref" : "#/components/schemas/OnChainWalletTransactionData"
}
]
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/stores/{storeId}/payment-methods/OnChain/{cryptoCode}/wallet/transactions/{transactionId}" : {
"get" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
2021-07-06 10:19:18 +02:00
"summary" : "Get store on-chain wallet transaction" ,
2021-03-11 13:34:52 +01:00
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the wallet to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
} ,
{
"name" : "transactionId" ,
"in" : "path" ,
"required" : true ,
"description" : "The transaction id to fetch" ,
"schema" : {
"type" : "string"
}
}
] ,
"description" : "Get store on-chain wallet transaction" ,
"operationId" : "StoreOnChainWallets_GetOnChainWalletTransaction" ,
"responses" : {
"200" : {
"description" : "transaction" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/OnChainWalletTransactionData"
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
} ,
"/api/v1/stores/{storeId}/payment-methods/OnChain/{cryptoCode}/wallet/utxos" : {
"get" : {
"tags" : [
"Store Wallet (On Chain)"
] ,
"summary" : "Get store on-chain wallet UTXOS" ,
"parameters" : [
{
"name" : "storeId" ,
"in" : "path" ,
"required" : true ,
"description" : "The store to fetch" ,
"schema" : {
"type" : "string"
}
} ,
{
"name" : "cryptoCode" ,
"in" : "path" ,
"required" : true ,
"description" : "The crypto code of the wallet to fetch" ,
"schema" : {
"type" : "string"
2021-12-22 11:39:43 +09:00
} ,
"example" : "BTC"
2021-03-11 13:34:52 +01:00
}
] ,
"description" : "Get store on-chain wallet utxos" ,
"operationId" : "StoreOnChainWallets_GetOnChainWalletUTXOs" ,
"responses" : {
"200" : {
"description" : "utxo list" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/OnChainWalletUTXOData"
}
}
}
}
} ,
"403" : {
"description" : "If you are authenticated but forbidden to view the specified store"
} ,
"404" : {
"description" : "The key is not found for this store/wallet"
}
} ,
"security" : [
{
2022-02-02 03:12:48 -08:00
"API_Key" : [
2021-03-11 13:34:52 +01:00
"btcpay.store.canmodifystoresettings"
] ,
"Basic" : [ ]
}
]
}
}
} ,
"components" : {
"schemas" : {
"OnChainWalletOverviewData" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"balance" : {
"type" : "string" ,
"format" : "decimal" ,
2021-04-08 05:43:51 +02:00
"description" : "The total current balance of the wallet"
} ,
"unconfirmedBalance" : {
"type" : "string" ,
"format" : "decimal" ,
"description" : "The current unconfirmed balance of the wallet"
} ,
"confirmedBalance" : {
"type" : "string" ,
"format" : "decimal" ,
"description" : "The current confirmed balance of the wallet"
2021-03-11 13:34:52 +01:00
}
}
} ,
2021-04-07 08:16:17 +02:00
"OnChainWalletFeeRateData" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"feeRate" : {
"type" : "number" ,
"format" : "decimal" ,
"description" : "The fee rate (sats per byte) based on the wallet's configured recommended block confirmation target"
}
}
} ,
2021-03-11 13:34:52 +01:00
"OnChainWalletAddressData" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"address" : {
"type" : "string" ,
"description" : "The bitcoin address"
} ,
"keyPath" : {
"type" : "string" ,
"format" : "keypath" ,
"description" : "the derivation path in relation to the HD account"
2021-04-13 05:26:36 +02:00
} ,
"paymentLink" : {
"type" : "string" ,
"format" : "BIP21" ,
"description" : "a bip21 payment link"
2021-03-11 13:34:52 +01:00
}
}
} ,
"OnChainPaymentMethodPreviewResultAddressItem" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"keyPath" : {
"type" : "string" ,
"description" : "The key path relative to the account key path."
} ,
"address" : {
"type" : "string" ,
"description" : "The address generated at the key path"
}
}
} ,
"TransactionStatus" : {
"type" : "string" ,
"description" : "" ,
"x-enumNames" : [
"Unconfirmed" ,
"Confirmed" ,
"Replaced"
] ,
"enum" : [
"Unconfirmed" ,
"Confirmed" ,
"Replaced"
]
} ,
"LabelData" : {
"type" : "object" ,
"additionalProperties" : true ,
"properties" : {
"type" : {
"type" : "string" ,
"description" : "The type of label"
} ,
"text" : {
"type" : "string" ,
"description" : "Information about this label"
}
}
} ,
"OnChainWalletTransactionData" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"transactionHash" : {
"type" : "string" ,
"nullable" : true ,
"description" : "The transaction id"
} ,
"comment" : {
"type" : "string" ,
"description" : "A comment linked to the transaction"
} ,
"amount" : {
"type" : "string" ,
"format" : "decimal" ,
"description" : "The amount the wallet balance changed with this transaction"
} ,
"blockHash" : {
"type" : "string" ,
"nullable" : true ,
"description" : "The hash of the block that confirmed this transaction. Null if still unconfirmed."
} ,
"blockHeight" : {
"type" : "string" ,
"nullable" : true ,
"description" : "The height of the block that confirmed this transaction. Null if still unconfirmed."
} ,
"confirmations" : {
"type" : "string" ,
"nullable" : true ,
"description" : "The number of confirmations for this transaction"
} ,
"timestamp" : {
2021-03-30 04:18:00 +02:00
"description" : "The time of the transaction" ,
"allOf" : [ { "$ref" : "#/components/schemas/UnixTimestamp" } ]
2021-03-11 13:34:52 +01:00
} ,
"status" : {
"$ref" : "#/components/schemas/TransactionStatus" ,
"description" : "The status for this transaction"
} ,
"labels" : {
"description" : "Labels linked to this transaction" ,
"type" : "object" ,
"additionalProperties" : {
"$ref" : "#/components/schemas/LabelData"
}
}
}
} ,
"OnChainWalletUTXOData" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"comment" : {
"type" : "string" ,
"description" : "A comment linked to this utxo"
} ,
"amount" : {
"type" : "string" ,
"description" : "the value of this utxo"
} ,
"link" : {
"type" : "string" ,
"format" : "url" ,
"description" : "a link to the configured blockchain explorer to view the utxo"
} ,
"outpoint" : {
"type" : "string" ,
"format" : "{txid}:{outputIndex}" ,
"description" : "outpoint of this utxo"
2021-04-08 05:43:51 +02:00
} ,
"timestamp" : {
"description" : "The time of the utxo" ,
"allOf" : [ { "$ref" : "#/components/schemas/UnixTimestamp" } ]
} ,
"keyPath" : {
"type" : "string" ,
"format" : "keypath" ,
"description" : "the derivation path in relation to the HD account"
} ,
"address" : {
"type" : "string" ,
"description" : "The wallet address of this utxo"
} ,
2021-04-20 04:02:06 +02:00
"confirmations" : {
"type" : "number" ,
"description" : "The number of confirmations of this utxo"
} ,
2021-04-08 05:43:51 +02:00
"labels" : {
"description" : "Labels linked to this transaction" ,
"type" : "object" ,
"additionalProperties" : {
"$ref" : "#/components/schemas/LabelData"
}
2021-03-11 13:34:52 +01:00
}
}
} ,
"CreateOnChainTransactionRequestDestination" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"destination" : {
"type" : "string" ,
"description" : "A wallet address or a BIP21 payment link"
} ,
"amount" : {
"type" : "string" ,
"format" : "decimal" ,
"nullable" : true ,
"description" : "The amount to send. If `destination` is a BIP21 link, the amount must be the same or null."
} ,
"subtractFromAmount" : {
"type" : "boolean" ,
2021-12-04 09:20:23 +01:00
"description" : "Whether to subtract the transaction fee from the provided amount. This makes the receiver receive less, or in other words: he or she pays the transaction fee. Also useful if you want to clear out your wallet. Must be false if `destination` is a BIP21 link"
2021-03-11 13:34:52 +01:00
}
}
} ,
"CreateOnChainTransactionRequest" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"destinations" : {
"nullable" : false ,
"description" : "What and where to send money" ,
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/CreateOnChainTransactionRequestDestination"
}
} ,
"feeRate" : {
2021-04-01 13:48:06 +02:00
"type" : "number" ,
2021-03-11 13:34:52 +01:00
"format" : "decimal or long (sats/byte)" ,
2021-12-04 09:20:23 +01:00
"description" : "Transaction fee."
2021-03-11 13:34:52 +01:00
} ,
"proceedWithPayjoin" : {
"type" : "boolean" ,
"default" : true ,
"nullable" : true ,
"description" : "Whether to attempt to do a BIP78 payjoin if one of the destinations is a BIP21 with payjoin enabled"
} ,
"proceedWithBroadcast" : {
"type" : "boolean" ,
"default" : true ,
"nullable" : true ,
"description" : "Whether to broadcast the transaction after creating it or to simply return the transaction in hex format."
} ,
"noChange" : {
"type" : "boolean" ,
"default" : false ,
"nullable" : true ,
"description" : "Whether to send all the spent coins to the destinations (THIS CAN COST YOU SIGNIFICANT AMOUNTS OF MONEY, LEAVE FALSE UNLESS YOU KNOW WHAT YOU ARE DOING)."
} ,
"rbf" : {
"type" : "boolean" ,
"nullable" : true ,
"description" : "Whether to enable RBF for the transaction. Leave blank to have it random (beneficial to privacy)"
} ,
"selectedInputs" : {
"nullable" : true ,
"description" : "Restrict the creation of the transactions from the outpoints provided ONLY (coin selection)" ,
"type" : "array" ,
"items" : {
"type" : "string"
}
}
}
}
}
} ,
"tags" : [
{
"name" : "Store Wallet (On Chain)"
}
]
}