---
updatedAt: 2026-05-08T07:23:58.000Z
agentTools:
  projectIndex: https://docs.cfx.to/llms.txt
---

# Create US Bank ACH Deposit Request

Creates a request to mint MOVEUSD by debiting a US bank account via ACH.

Source bank accounts need to be registered as Payment Instruments which are associated with an Identity or Organization. ACH Deposit Requests refer to this Payment Instrument in the `sourcePaymentInstrumentId` field. Registered deposit requests will result in an ACH pull from the nominated bank account. After the debit is processed and reconciled the funds will be minted to the wallet specified in the request.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Deposit API",
    "description": "Facilitates the transfer (on-ramp) of funds into the CFX network.",
    "termsOfService": "http://cfxlabs.com/terms/",
    "contact": {
      "name": "API Owner",
      "url": "api.cfxlabs.net",
      "email": "api@cfxlabs.com"
    },
    "license": {
      "name": "Licence tbd",
      "url": "http://tbd.html"
    },
    "version": "@VERSION@",
    "summary": "CFX Deposit API"
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "name": "x-api-key",
        "type": "apiKey",
        "in": "header"
      },
      "ApiSecretAuth": {
        "name": "x-api-secret",
        "type": "apiKey",
        "in": "header"
      }
    }
  },
  "paths": {
    "/v1/deposit/us-bank-ach": {
      "post": {
        "summary": "Create US Bank ACH Deposit Request",
        "tags": [
          "US Bank ACH"
        ],
        "description": "Creates a request to mint MOVEUSD by debiting a US bank account via ACH.\n\nSource bank accounts need to be registered as Payment Instruments which are associated with an Identity or Organization. ACH Deposit Requests refer to this Payment Instrument in the `sourcePaymentInstrumentId` field. Registered deposit requests will result in an ACH pull from the nominated bank account. After the debit is processed and reconciled the funds will be minted to the wallet specified in the request.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "identityId",
                      "reference",
                      "wallet",
                      "sourcePaymentInstrumentId",
                      "amount"
                    ],
                    "properties": {
                      "identityId": {
                        "type": "string",
                        "description": "Identity ID associated with the deposit request",
                        "example": "id_VfsdSMtd8UdgxCgTnz0tm"
                      },
                      "reference": {
                        "type": "string",
                        "description": "A unique identifier of the deposit request in the caller's system.\n\n  This is useful to correlate the id in the caller's system with the id returned by the API.",
                        "example": "DR-123456789"
                      },
                      "wallet": {
                        "type": "object",
                        "required": [
                          "address",
                          "blockchain"
                        ],
                        "properties": {
                          "address": {
                            "type": "string",
                            "description": "Blockchain address or account"
                          },
                          "blockchain": {
                            "type": "string"
                          }
                        },
                        "description": "The blockchain wallet where funds are to be deposited"
                      },
                      "sourcePaymentInstrumentId": {
                        "type": "string",
                        "description": "ID for a US_ACH payment instrument",
                        "example": "pi_jk23h4j564rthk32"
                      },
                      "amount": {
                        "type": "object",
                        "required": [
                          "amount",
                          "currency"
                        ],
                        "properties": {
                          "amount": {
                            "type": "number",
                            "description": "Amount of the nominated currency"
                          },
                          "currency": {
                            "type": "string",
                            "description": "Amount of the nominated currency",
                            "enum": [
                              "USD"
                            ]
                          }
                        },
                        "description": "Amount associated with this deposit"
                      },
                      "speed": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "same-day"
                            ]
                          },
                          {
                            "type": "string",
                            "enum": [
                              "next-day"
                            ]
                          }
                        ],
                        "description": "ACH settlement speed. Defaults to next-day if not specified. Same-day requires an eligible ledger account.",
                        "example": "same-day"
                      }
                    },
                    "title": "Individual"
                  },
                  {
                    "type": "object",
                    "required": [
                      "organizationId",
                      "reference",
                      "wallet",
                      "sourcePaymentInstrumentId",
                      "amount"
                    ],
                    "properties": {
                      "organizationId": {
                        "type": "string",
                        "description": "Organization ID associated with the deposit request",
                        "example": "org_RD2of9vs3XFodUSd8T5hW"
                      },
                      "reference": {
                        "type": "string",
                        "description": "A unique identifier of the deposit request in the caller's system.\n\n  This is useful to correlate the id in the caller's system with the id returned by the API.",
                        "example": "DR-123456789"
                      },
                      "wallet": {
                        "type": "object",
                        "required": [
                          "address",
                          "blockchain"
                        ],
                        "properties": {
                          "address": {
                            "type": "string",
                            "description": "Blockchain address or account"
                          },
                          "blockchain": {
                            "type": "string"
                          }
                        },
                        "description": "The blockchain wallet where funds are to be deposited"
                      },
                      "sourcePaymentInstrumentId": {
                        "type": "string",
                        "description": "ID for a US_ACH payment instrument",
                        "example": "pi_jk23h4j564rthk32"
                      },
                      "amount": {
                        "type": "object",
                        "required": [
                          "amount",
                          "currency"
                        ],
                        "properties": {
                          "amount": {
                            "type": "number",
                            "description": "Amount of the nominated currency"
                          },
                          "currency": {
                            "type": "string",
                            "description": "Amount of the nominated currency",
                            "enum": [
                              "USD"
                            ]
                          }
                        },
                        "description": "Amount associated with this deposit"
                      },
                      "speed": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "same-day"
                            ]
                          },
                          {
                            "type": "string",
                            "enum": [
                              "next-day"
                            ]
                          }
                        ],
                        "description": "ACH settlement speed. Defaults to next-day if not specified. Same-day requires an eligible ledger account.",
                        "example": "same-day"
                      }
                    },
                    "title": "Organization"
                  }
                ]
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Idempotency-Key",
            "required": false
          }
        ],
        "responses": {
          "201": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "id",
                    "createdAt",
                    "status"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier for a deposit request, can be either the request id or the deposit id",
                      "example": "dprq_FiZcY1MGfgB4XjIWsKgtT"
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "Datetime the deposit request was created",
                      "example": "2023-10-23T06:20:04.366+00:00"
                    },
                    "status": {
                      "enum": [
                        "CREATED",
                        "PROCESSING",
                        "SUCCEEDED",
                        "FAILED",
                        "CANCELLED"
                      ],
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The service cannot understand the request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "INVALID_REQUEST"
                      ]
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true
                      }
                    }
                  },
                  "title": "INVALID_REQUEST",
                  "description": "The service cannot understand the request"
                }
              }
            }
          },
          "401": {
            "description": "The access to this resource has been denied",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "UNAUTHORIZED"
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "title": "UNAUTHORIZED",
                  "description": "The access to this resource has been denied"
                }
              }
            }
          },
          "403": {
            "description": "The credentials are valid but the caller is not permitted to transact",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "FORBIDDEN"
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "title": "FORBIDDEN",
                  "description": "The credentials are valid but the caller is not permitted to transact"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "NOT_FOUND"
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "title": "NOT_FOUND",
                  "description": "The resource was not found"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate request with this idempotency key is already in progress",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "IDEMPOTENCY_IN_PROGRESS"
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "title": "IDEMPOTENCY_IN_PROGRESS",
                  "description": "A duplicate request with this idempotency key is already in progress"
                }
              }
            }
          },
          "422": {
            "description": "Another request with this idempotency key was made using a different body",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "IDEMPOTENCY_KEY_REUSED"
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "title": "IDEMPOTENCY_KEY_REUSED",
                  "description": "Another request with this idempotency key was made using a different body"
                }
              }
            }
          },
          "default": {
            "description": "Catch-all error response for any unexpected internal errors",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "INTERNAL"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "enum": [
                        "An unexpected internal error has occurred"
                      ]
                    }
                  },
                  "title": "INTERNAL",
                  "description": "Catch-all error response for any unexpected internal errors"
                }
              }
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.dev.cfx.to",
      "description": "Customer Sandbox"
    },
    {
      "url": "https://api.cfx.to",
      "description": "Production"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": [],
      "ApiSecretAuth": []
    }
  ],
  "tags": [
    {
      "name": "US Bank ACH",
      "description": "US bank ACH pull deposits."
    }
  ],
  "externalDocs": {
    "description": "Find out more about CFX",
    "url": "https://www.cfxlabs.com/"
  }
}
```