chordDocs

Trading

The allowance

What approving the settlement account lets it do, and how much to approve.

Orders on Chord are free signatures because of one thing you set up first: an SPL token allowance from your token account to Chord’s settlement account. The settlement account is a program address with no private key; only the Chord program can use it, and only inside a fill.

#What the allowance permits

The allowance lets the settlement program move up to the approved amount out of that one token account. The program will only do so inside settle_fill, and only when all of these hold:

  • the fill carries an order you signed, verified on chain in the same transaction;
  • the order belongs to the batch being settled, and that batch is committed at a fixed price;
  • you receive at least the minimum you signed, in the same instruction;
  • the order’s nonce hasn’t been used or cancelled.

The allowance doesn’t let anyone move your tokens to an arbitrary address, and it doesn’t apply to any other token account you own.

#How much the app approves

The app approves exactly what you need: the order you’re placing plus your other open orders from the same account. Every fill draws down the same allowance, so this keeps all of them fillable. If your current allowance already covers that, the app skips the transaction and goes straight to signing.

The app never asks for an unlimited allowance.

SituationWhat the app does
No allowance yetOne approval transaction for this order’s amount
Allowance covers this order and your open onesNothing; you only sign
Allowance too smallOne approval transaction that replaces it with the new total
Destination token account missingCreates it in the same transaction

#Why there’s a short wait

The collector reads only finalized chain state, so it can’t see a new allowance until it’s final. After you approve, the app waits for finality, usually about 13 seconds, before asking you to sign the order.

#Revoking

Revoke from Your orders: each token shows its current allowance and a Revoke button. Revoking is a standard SPL revoke transaction and takes effect immediately.

#A note on SPL delegation

An SPL token account has one delegate at a time. If you approve another program from the same token account later, that replaces Chord’s allowance and your open Chord orders will be dropped. Approving Chord again restores it for new orders.