How to Enable Account Overdrafts in Transactions

Last updated: July 4, 2025

There are two ways to enable overdrafts (allowing accounts to have negative balances) in transactions:

Using the force Parameter (Simple Method)

For basic transactions, you can use the force query parameter when creating a transaction. This will allow all accounts involved in the transaction to go into overdraft.

This parameter is also available in _bulk and revert endpoint.

📄 How to Force Revert a Transaction with Negative Balance

The force parameter:

  • Applies to all postings in the transaction

  • Works with both single transactions and bulk transactions (as of v2.3.0-beta.15)

  • Cannot be applied selectively to specific postings

Using Numscript (Advanced Method)

For more granular control, especially when you need to allow overdraft on specific accounts only, use Numscript. This method allows you to specify exactly which accounts can go into overdraft.

Example of using Numscript in your API call:

{
  "script": {
    "vars": {
      "source_account": "bank:main",
      "destination": "user:123"
    },
    "plain": "send [USD/2 10000] (
      source = $source_account allowing unbounded overdraft
      destination = $destination
    )"
  }
}

The allowing unbounded overdraft modifier can be applied to specific accounts in your Numscript, giving you precise control over which accounts can go negative.

When using SDKs, you'll need to use the script property and inject Numscript if you need selective overdraft control. Direct overdraft controls are not currently available through the standard posting APIs.

Additional Resources