Manage settlement instructions

Create and manage the bank accounts and crypto wallets you settle funds to. Once saved, reference an instruction by its ID, for example as the destination of an OTC order.

Create a settlement instruction

Use the Create settlement instruction endpoint. These fields apply to every instruction:

FieldTypeDescription
instruction_typestringbank_account or crypto_wallet
account_namestringa label for the destination
currencystringthe settlement currency
is_defaultbooleanoptional; make this the default for its currency

Bank account

Send the bank fields that match the corridor (routing_number for US accounts, swift_code for international, iban where applicable):

curl --request POST \
     --url https://api.gravv.xyz/v1/settlement-instructions \
     --header 'Api-Key: <Api Key>' \
     --header 'content-type: application/json' \
     --data '
{
  "instruction_type": "bank_account",
  "account_name": "Operating account",
  "currency": "USD",
  "is_default": true,
  "account_number": "0123456789",
  "bank_name": "Example Bank",
  "routing_number": "123456789",
  "country": "US",
  "address": {
    "address_line1": "201 Allen St",
    "city": "New York",
    "state": "New York",
    "postal_code": "10002",
    "country_code": "US"
  }
}
'

The response returns the saved instruction with its id and status:

{
  "data": {
    "id": "a14ec356-f33d-4384-ba68-4d9bfa19765b",
    "instruction_type": "bank_account",
    "account_name": "Operating account",
    "currency": "USD",
    "is_default": true,
    "status": "active",
    "account_number": "0123456789",
    "bank_name": "Example Bank",
    "routing_number": "123456789",
    "country": "US",
    "date_created": "2026-06-20T10:29:16.000Z"
  },
  "error": null
}

Crypto wallet

For a crypto destination, send the wallet fields. Include memo when the network requires one:

curl --request POST \
     --url https://api.gravv.xyz/v1/settlement-instructions \
     --header 'Api-Key: <Api Key>' \
     --header 'content-type: application/json' \
     --data '
{
  "instruction_type": "crypto_wallet",
  "account_name": "USDC treasury",
  "currency": "USDC",
  "wallet_address": "0x445906a6766927c5da8b2fca0e0db5d7b5565ef8",
  "network": "polygon"
}
'

Retrieve settlement instructions

List them with Get settlement instructions. Filter with currency and instruction_type, and page with page and items_per_page (default 20, max 100):

curl --request GET \
     --url 'https://api.gravv.xyz/v1/settlement-instructions?currency=USD&instruction_type=bank_account' \
     --header 'Api-Key: <Api Key>'

Get a single instruction with Get settlement instruction by its ID:

curl --request GET \
     --url https://api.gravv.xyz/v1/settlement-instructions/a14ec356-f33d-4384-ba68-4d9bfa19765b \
     --header 'Api-Key: <Api Key>'

Update a settlement instruction

Use Update settlement instruction to change the label, the saved details, or which instruction is the default for its currency. Send only the fields you want to change:

curl --request PATCH \
     --url https://api.gravv.xyz/v1/settlement-instructions/a14ec356-f33d-4384-ba68-4d9bfa19765b \
     --header 'Api-Key: <Api Key>' \
     --header 'content-type: application/json' \
     --data '
{
  "account_name": "Primary operating account",
  "is_default": true
}
'

Delete a settlement instruction

Remove one with Delete settlement instruction:

curl --request DELETE \
     --url https://api.gravv.xyz/v1/settlement-instructions/a14ec356-f33d-4384-ba68-4d9bfa19765b \
     --header 'Api-Key: <Api Key>'

Did this page help you?