# Transaction Accelerator

## Creating a CPFP PSBT

{% hint style="warning" %}
This service is highly experimental.&#x20;

Make sure to **carefully review any transactions you are signing** in order to avoid unexpected consequences. Most wallets show the inputs & outputs of a PSBT before you sign them.

Parameters and fees are subject to change.

Currently limited to taproot outputs only.

This service is ideal to bump fee of a [reveal transaction](https://docs.ordinals.com/inscriptions.html#inscriptions).
{% endhint %}

Use this endpoint to create a trustless CPFP (Child pays for parent) transaction to speed up your stuck output.

## Create CPFP PSBT

<mark style="color:green;">`POST`</mark> `https://api.ordinalsbot.com/cpfp`

Create a child transaction that pays extra fees for a stuck ancestor.

#### Request Body

| Name                                                    | Type   | Description                                                                                                                                                                                   |
| ------------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| utxos<mark style="color:red;">\*</mark>                 | Array  | <p>Array of transaction outputs to be accelerated in the following format</p><p><code>\[ "430901147831e41111aced3895ee4b9742cf72ac3cffa132624bd38c551ef379:0"</code></p><p><code>]</code></p> |
| buyerPaymentAddress<mark style="color:red;">\*</mark>   | String | Bitcoin payment address where extra fees will be paid from.                                                                                                                                   |
| buyerPaymentPublicKey<mark style="color:red;">\*</mark> | String | Bitcoin payment public key where extra fees will be paid from.                                                                                                                                |
| buyerOrdinalAddress<mark style="color:red;">\*</mark>   | String | Ordinals address where stuck inscription is destined for and will be sent to.                                                                                                                 |
| buyerOrdinalPublicKey<mark style="color:red;">\*</mark> | String | Ordinals public key where stuck inscription is destined for and will be sent to.                                                                                                              |
| feeRate<mark style="color:red;">\*</mark>               | Number | Target Fee rate that stuck transaction should be bumped to in sats/vB                                                                                                                         |

{% tabs %}
{% tab title="200: OK Normal Response" %}

```json
{
    // PSBT to be signed and published by user's wallet
    "psbt": "cHNi...AAAAA",
    // same PSBT in hex format (for leather wallet)
    "hex": "70736274ff01...47dc200000000",
    // input indices user will need to sign to create the transaction
    "buyerInputIndices": [
        0, 
        1
    ]
}
```

{% endtab %}

{% tab title="200: OK Error Response with Cause" %}

```
{
    status: 'error', 
    error: 'error reason'
}
```

{% endtab %}

{% tab title="500: Internal Server Error Server side error" %}

```
{
    status: 'error',
    reason: 'unable to check data'
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Get in touch for any feedback regarding this service in **#developers** channel on our discord: [https://discord.ordinalsbot.com](https://discord.ordinalsbot.com/)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ordinalsbot.com/api/transaction-accelerator.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
