Payment

Create stablecoin payment

Changed on

Initiates a stablecoin payout from a financial account to a registered blockchain recipient.

The recipient must have been registered with Create blockchain recipient and have completed address screening — only a recipient in the ENABLED verification state can receive a payout. The destination address and chain come from the recipient, so they are not supplied here.

Only payouts are initiated through this endpoint. Stablecoin pay-ins are credited from on-chain deposits to a financial account's deposit address and are not created through the API. Funds are placed on hold when the payout is initiated, and a payout that fails on chain reverses that hold. A payout cannot be cancelled once it has been submitted on chain.

This endpoint is only available to stablecoin-enabled programs. Contact your customer success manager to learn more.

post/v1/payments/stablecoin

Request

  • Base URL
    https://sandbox.lithic.com
  • URL
    https://sandbox.lithic.com/v1/payments/stablecoin
  • Auth
    API key in header Authorization

Request body

amountinteger required

Payout amount in cents

blockchain_recipient_tokenstring uuid required

Token of the blockchain recipient to send the payout to. The recipient must be in the ENABLED verification state

financial_account_tokenstring uuid required

Token of the financial account the payout is funded from

memostring

Memo recorded on the payout. Defaults to Stablecoin payout on <chain> when omitted

tokenstring uuid

Customer-provided token that will serve as an idempotency token. This token will become the transaction token

type'PAYMENT' required

Direction of the payment. Stablecoin supports payouts only

Response

Accepted

tokenstring uuid required

Unique identifier for the transaction

createdstring date-time required

ISO 8601 timestamp of when the transaction was created

updatedstring date-time required

ISO 8601 timestamp of when the transaction was last updated

status'PENDING' | 'SETTLED' | 'DECLINED' | 'REVERSED' | 'CANCELED' | 'RETURNED' required
family'PAYMENT' required

PAYMENT - Payment Transaction

category'ACH' | 'WIRE' | 'STABLECOIN' | 'INTRA_BANK' | 'BALANCE_OR_FUNDING' | 'FEE' | 'REWARD' | 'ADJUSTMENT' | 'DERECOGNITION' | 'DISPUTE' | 'CARD' | 'EXTERNAL_ACH' | 'EXTERNAL_CHECK' | 'EXTERNAL_FEDNOW' | 'EXTERNAL_RTP' | 'EXTERNAL_STABLECOIN' | 'EXTERNAL_TRANSFER' | 'EXTERNAL_WIRE' | 'MANAGEMENT_ADJUSTMENT' | 'MANAGEMENT_DISPUTE' | 'MANAGEMENT_FEE' | 'MANAGEMENT_REWARD' | 'MANAGEMENT_DISBURSEMENT' | 'HOLD' | 'PROGRAM_FUNDING' | 'PROGRAM_TRANSFER' required

Note: Inbound wire transfers are coming soon (availability varies by partner bank). The WIRE category is a preview. To learn more, contact your customer success manager.

currencystring

Currency of the transaction in ISO 4217 format

result'APPROVED' | 'DECLINED' required
financial_account_tokenstring uuid required

Financial account token

external_bank_account_tokenstring uuid nullable

External bank account token

blockchain_recipient_tokenstring uuid nullable

Token of the blockchain recipient the payout is sent to

direction'CREDIT' | 'DEBIT' required

Transfer direction

source'LITHIC' | 'EXTERNAL' | 'CUSTOMER' required

Transaction source

method'ACH_NEXT_DAY' | 'ACH_SAME_DAY' | 'WIRE' | 'STABLECOIN' required

Transfer method

settled_amountinteger required

Settled amount in cents

pending_amountinteger required

Pending amount in cents

descriptorstring required

Transaction descriptor

user_defined_idstring nullable

User-defined identifier

expected_release_datestring date nullable

Expected release date for the transaction

type'ORIGINATION_CREDIT' | 'ORIGINATION_DEBIT' | 'RECEIPT_CREDIT' | 'RECEIPT_DEBIT' | 'WIRE_INBOUND_PAYMENT' | 'WIRE_INBOUND_ADMIN' | 'WIRE_OUTBOUND_PAYMENT' | 'WIRE_OUTBOUND_ADMIN' | 'WIRE_INBOUND_DRAWDOWN_REQUEST' | 'STABLECOIN_INBOUND' | 'STABLECOIN_OUTBOUND'
tagsTags

Key-value pairs for tagging resources. Tags allow you to associate arbitrary metadata with a resource for your own purposes. A resource can have at most 50 tags, with keys up to 40 characters and values up to 500 characters

Example response

{
  "family": "PAYMENT",
  "status": "PENDING",
  "token": "bd4efddb-771b-49e3-9af9-49b077ab5eb8",
  "created": "2025-10-27T20:12:22Z",
  "updated": "2025-10-27T20:12:25Z",
  "category": "ACH",
  "result": "APPROVED",
  "method_attributes": {
    "sec_code": "CCD",
    "return_reason_code": null,
    "ach_hold_period": 1,
    "retries": 0,
    "company_id": "1111111111",
    "receipt_routing_number": null,
    "recipient_name": null,
    "trace_numbers": [],
    "addenda": null
  },
  "financial_account_token": "35b0c466-a3e3-519a-9549-ead6a6a2277d",
  "external_bank_account_token": "feb4fee1-2414-4c38-a5f6-9deac293c8f4",
  "direction": "CREDIT",
  "source": "LITHIC",
  "method": "ACH_NEXT_DAY",
  "settled_amount": 0,
  "pending_amount": -1588,
  "currency": "USD",
  "events": [
    {
      "amount": -1588,
      "type": "ACH_ORIGINATION_INITIATED",
      "result": "APPROVED",
      "created": "2025-10-27T20:12:22Z",
      "token": "327dccc3-fe42-54d2-962c-7f8135805464",
      "detailed_results": [
        "APPROVED"
      ]
    },
    {
      "amount": -1588,
      "type": "ACH_ORIGINATION_REVIEWED",
      "result": "APPROVED",
      "created": "2025-10-27T20:12:25Z",
      "token": "f9165477-7cfc-53c6-98f1-84e9ec856a60",
      "detailed_results": [
        "APPROVED"
      ]
    }
  ],
  "descriptor": "ach_origination_credit",
  "user_defined_id": null,
  "expected_release_date": null,
  "related_account_tokens": null,
  "type": "ORIGINATION_CREDIT"
}

Changes

    • breaking

      the / response's property type changed from object to no type for status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • warning

      added the new INTRA_BANK enum value to the // response property for the response status

    • info

      added subschema #2 to the / response property allOf list for the response status

    • info

      added 'propertyNames' constraint to the // response property for the status

    • info

      endpoint added