---
title: "POST /api/v1/drafts"
method: POST
path: "/api/v1/drafts"
tags: ["Drafts"]
---

# POST /api/v1/drafts

`POST /api/v1/drafts`

## Request

- Base URL: `https://send21.io`
- URL: `https://send21.io/api/v1/drafts`
- Auth: HTTP bearer

## Request body

- CreateDraftRequest
  - `receiverAddress` string, nullable
  - `network` 'Mainnet' | 'Testnet4' | 'Signet' | 'Regtest' | 'Solana' | 'SolanaDevnet' | 'Ethereum' | 'EthereumSepolia' | 'Base' | 'BaseSepolia' | 'Arbitrum' | 'ArbitrumSepolia' | 'Polygon' | 'PolygonAmoy'
  - `paymentMethod` 'MultiOutput' | 'Lightning'
  - `amountSats` integer, nullable
  - `fiatCurrency` string, nullable
  - `fiatAmount` number, double, nullable
  - `senderAddress` string, nullable
  - `bolt11` string, nullable
  - `memo` string, nullable
  - `expiryHours` integer, nullable
  - `requiredConfirmations` integer, nullable
  - `currency` 'Btc' | 'Usdc' | 'Usdt' | 'Eurc' | 'Sol' | 'Eth'
  - `singleOutput` boolean, nullable
  - `shortfallPolicy` ShortfallPolicyDto
    - `absorbUpToPercent` number, double
    - `absorbedBy` string, nullable

## Response `200`

OK

- DraftResponse
  - `id` string, uuid
  - `receiverAddress` string, nullable
  - `senderAddress` string, nullable
  - `network` 'Mainnet' | 'Testnet4' | 'Signet' | 'Regtest' | 'Solana' | 'SolanaDevnet' | 'Ethereum' | 'EthereumSepolia' | 'Base' | 'BaseSepolia' | 'Arbitrum' | 'ArbitrumSepolia' | 'Polygon' | 'PolygonAmoy'
  - `amountSats` integer
  - `amountBtc` string, nullable
  - `fiatCurrency` string, nullable
  - `fiatAmount` number, double, nullable
  - `quote` QuoteInfo
    - `source` string, nullable
    - `rate` number, double
    - `lockedAt` string, date-time
    - `expiresAt` string, date-time
    - `schema` string, nullable
    - `id` string, uuid
    - `draftId` string, uuid
    - `network` 'Mainnet' | 'Testnet4' | 'Signet' | 'Regtest' | 'Solana' | 'SolanaDevnet' | 'Ethereum' | 'EthereumSepolia' | 'Base' | 'BaseSepolia' | 'Arbitrum' | 'ArbitrumSepolia' | 'Polygon' | 'PolygonAmoy'
    - `currency` 'Btc' | 'Usdc' | 'Usdt' | 'Eurc' | 'Sol' | 'Eth'
    - `tokenAddress` string, nullable
    - `cryptoAmountBaseUnits` integer
    - `platformFeeBaseUnits` integer
    - `fiatAmount` number, double
    - `fiatCurrency` string, nullable
    - `rateSource` string, nullable
    - `bolt11` string, nullable
    - `lockedUntil` string, date-time
    - `sha256` string, nullable
  - `platformFeeSats` integer
  - `platformFeeAddress` string, nullable
  - `platformFee` PlatformFeeInfo
    - `percent` number, double, nullable
    - `usd` number, double, nullable
    - `sats` integer
    - `waived` boolean
    - `usdPerBtc` number, double, nullable
    - `rateSource` string, nullable
  - `paymentMethod` 'MultiOutput' | 'Lightning'
  - `bolt11` string, nullable
  - `memo` string, nullable
  - `status` 'AwaitingPayment' | 'Seen' | 'Confirmed' | 'Expired' | 'Cancelled'
  - `paidTxId` string, nullable
  - `requiredConfirmations` integer
  - `expiresAt` string, date-time
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `sek` SekValueInfo
    - `ratePerBtc` number, double
    - `rateSource` string, nullable
    - `amount` number, double, nullable
    - `platformFee` number, double, nullable
    - `vatRatePercent` number, double, nullable
    - `platformFeeVat` number, double, nullable
  - `feeOutputs` FeeOutputInfo[], nullable
    - `recipient` string, nullable
    - `address` string, nullable
    - `sats` integer
    - `sharePercent` number, double
  - `currency` 'Btc' | 'Usdc' | 'Usdt' | 'Eurc' | 'Sol' | 'Eth'
  - `tokenAddress` string, nullable
  - `feeAccrued` boolean
  - `isFeeSettlement` boolean
  - `paymentUri` string, nullable
  - `amountMismatch` AmountMismatchInfo
    - `txId` string, nullable
    - `expectedBaseUnits` integer
    - `receivedBaseUnits` integer
    - `differenceBaseUnits` integer
    - `receivedFormatted` string, nullable
    - `differenceFormatted` string, nullable
    - `confirmations` integer
    - `detectedAt` string, date-time
    - `acceptedAt` string, date-time, nullable
    - `acceptReason` string, nullable
    - `acceptedBy` string, nullable
    - `reviewState` string, nullable
    - `rejectedAt` string, date-time, nullable
    - `rejectReason` string, nullable
    - `rejectedBy` string, nullable
    - `reviewReason` string, nullable
  - `lightningAddress` string, nullable
  - `lightningConfirmable` boolean
  - `paymentRequestId` string, uuid, nullable
  - `amountBaseUnits` integer
  - `core` object, nullable
  - `coreSha256` string, nullable
  - `changeSignals` string[], nullable
  - `changeNotes` string[], nullable
  - `shortfallPolicy` ShortfallPolicyDto
    - `absorbUpToPercent` number, double
    - `absorbedBy` string, nullable

## Other responses

- `201`: Created

---

[API](https://skmtc.dev/send21/apis/send21-api.md) · [All operations](https://skmtc.dev/send21/apis/send21-api/llms.txt) · [OpenAPI document](https://skmtc.dev/send21/apis/send21-api/revisions/d61e1fc21a3e?raw)
