# chainquery createpsbt — Bitcoin Core Create Unsigned PSBT

> chainquery createpsbt — Bitcoin Core Create Unsigned PSBT is a paid API for AI agents from x402.chainquery.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Creates an unsigned Partially Signed Bitcoin Transaction (PSBT) from specified inputs and outputs via Bitcoin Core's createpsbt RPC

## Facts

- Endpoint: GET https://x402.chainquery.com/v1/rpc/createpsbt
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/chainquery-createpsbt-bitcoin-core-create-unsigned-psbt-dd0d18ad
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OfSxbdKLmI6WjXftH8aQ2

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability chainquery-createpsbt-bitcoin-core-create-unsigned-psbt-dd0d18ad
```

Example prompt: Create an unsigned PSBT using input UTXO txid abc123...def0 at vout 0 and send 0.005 BTC to bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh — I need the raw base64 PSBT back for offline signing.

## When to prefer this

Use this endpoint when you need to construct an unsigned PSBT from explicit inputs and outputs via Bitcoin Core without managing your own node or API key — especially useful for multi-party signing workflows, hardware wallet coordination, or offline signing scenarios where pay-per-call economics are preferred over a subscription.

## Known failure modes

- Invalid or malformed input UTXO references return an RPC error
- Invalid Bitcoin address in outputs causes parse failure
- Malformed JSON in params query parameter returns 400 or RPC error
- Duplicate input UTXOs cause RPC rejection
- Payment not included or insufficient causes x402 payment-required response

## How this service works

chainquery Bitcoin RPC: pay-per-call Bitcoin Core over x402, no API key. Create an unsigned PSBT from inputs and outputs. Bitcoin Core createpsbt.

## Output

Returns a base64-encoded unsigned PSBT string (the result field) ready for distribution to signers or further processing with finalizepsbt/walletprocesspsbt.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "params": "[[{\"txid\":\"0000000000000000000000000000000000000000000000000000000000000000\",\"vout\":0}],[{\"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4\":0.001}]]"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "params": {
       "type": "string",
       "description": "optional: JSON-encoded array of positional RPC params"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "result": {
       "description": "createpsbt result"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/chainquery-createpsbt-bitcoin-core-create-unsigned-psbt-dd0d18ad/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.chainquery.com](https://www.zero.xyz/host/x402.chainquery.com/llms.txt)
