Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/cfx-labs:cfx-labs-us-bank-ach-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Deposit US Bank ACH 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
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.
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.
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.'
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
operationId: postV1DepositUsBankAch
x-operation-id-source: derived
/v1/deposit/us-bank-ach/{id}:
get:
summary: Get US Bank ACH Deposit Request
tags:
- US Bank ACH
description: Retrieve a previously submitted US Bank ACH deposit request.
parameters:
- schema:
type: string
example: dprq_FiZcY1MGfgB4XjIWsKgtT
in: path
name: id
required: true
description: Unique identifier for a deposit request, can be either the request id or the deposit id
responses:
'200':
description: Default Response
content:
application/json:
schema:
anyOf:
- type: object
required:
- identityId
- id
- reference
- wallet
- updatedAt
- createdAt
- status
- sourcePaymentInstrumentId
- amount
- quote
properties:
identityId:
type: string
description: Identity ID associated with the deposit request
example: id_VfsdSMtd8UdgxCgTnz0tm
id:
type: string
description: Unique identifier for a deposit request, can be either the request id or the deposit id
example: dprq_FiZcY1MGfgB4XjIWsKgtT
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
depositId:
type: string
description: Unique identifier of the associated Deposit
deviceIpAddress:
type: string
description: IP address of the device creating the deposit request
example: 123.123.123.123
deviceLocation:
type: object
required:
- source
- lat
- long
properties:
source:
type: string
description: The source data for the location capture
enum:
- ip
example: ip
lat:
type: number
description: Latitude of the device
example: 37.851
long:
type: number
description: Longitude of the device
example: -96.822
description: Location of the device submitting transacting with the CFX network
updatedAt:
type: string
description: Datetime the deposit request was last updated
example: '2023-10-23T06:20:04.366+00:00'
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
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
quote:
type: object
required:
- amountOut
- fees
- amountIn
properties:
amountOut:
type: object
required:
- amount
- currency
properties:
amount:
type: number
description: Amount of the nominated currency
currency:
enum:
- USDC
- MOVEUSD
type: string
description: Amount of the nominated currency
description: Amount associated with this deposit
fees:
type: array
items:
type: object
required:
- fee
- type
properties:
fee:
type: object
required:
- amount
- currency
properties:
amount:
type: number
description: Amount of the nominated currency
currency:
enum:
- USDC
- MOVEUSD
type: string
description: Amount of the nominated currency
description: Amount associated with this deposit
type:
enum:
- CFX_FIXED_FEE
- CFX_VARIABLE_FEE
- PROVIDER_FIXED_FEE
- PROVIDER_VARIABLE_FEE
- CUSTOMER_FIXED_FEE
- CUSTOMER_VARIABLE_FEE
type: string
description: Fees associated with a deposit
amountIn:
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
description: Quote for the deposit
title: Individual
- type: object
required:
- organizationId
- id
- reference
- wallet
- updatedAt
- createdAt
- status
- sourcePaymentInstrumentId
- amount
- quote
properties:
organizationId:
type: string
description: Organization ID associated with the deposit request
example: org_RD2of9vs3XFodUSd8T5hW
id:
type: string
description: Unique identifier for a deposit request, can be either the request id or the deposit id
example: dprq_FiZcY1MGfgB4XjIWsKgtT
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
depositId:
type: string
description: Unique identifier of the associated Deposit
deviceIpAddress:
type: string
description: IP address of the device creating the deposit request
example: 123.123.123.123
deviceLocation:
type: object
required:
- source
- lat
- long
properties:
source:
type: string
description: The source data for the location capture
enum:
- ip
example: ip
lat:
type: number
description: Latitude of the device
example: 37.851
long:
type: number
description: Longitude of the device
example: -96.822
description: Location of the device submitting transacting with the CFX network
updatedAt:
type: string
description: Datetime the deposit request was last updated
example: '2023-10-23T06:20:04.366+00:00'
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
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
quote:
type: object
required:
- amountOut
- fees
- amountIn
properties:
amountOut:
type: object
required:
- amount
- currency
properties:
amount:
type: number
description: Amount of the nominated currency
currency:
enum:
- USDC
- MOVEUSD
type: string
description: Amount of the nominated currency
description: Amount associated with this deposit
fees:
type: array
items:
type: object
required:
- fee
- type
properties:
fee:
type: object
required:
- amount
- currency
properties:
amount:
type: number
description: Amount of the nominated currency
currency:
enum:
- USDC
- MOVEUSD
type: string
description: Amount of the nominated currency
description: Amount associated with this deposit
type:
enum:
- CFX_FIXED_FEE
- CFX_VARIABLE_FEE
- PROVIDER_FIXED_FEE
- PROVIDER_VARIABLE_FEE
- CUSTOMER_FIXED_FEE
- CUSTOMER_VARIABLE_FEE
type: string
description: Fees associated with a deposit
amountIn:
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
description: Quote for the deposit
title: Organization
'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
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
operationId: getV1DepositUsBankAchById
x-operation-id-source: derived
components:
securitySchemes:
ApiKeyAuth:
name: x-api-key
type: apiKey
in: header
ApiSecretAuth:
name: x-api-secret
type: apiKey
in: header
externalDocs:
description: Find out more about CFX
url: https://www.cfxlabs.com/