Operate

On- and off-ramp stablecoins

Catena accounts hold stablecoins (USDC and OUSD) and have no USD balance. Instead, money is converted between USD and USDC whenever it moves between your accounts and a bank:

  • On-ramp: When an account receives USD by ACH or wires, the USD is converted and credited to the account as USDC.
  • Off-ramp: When an account pays a bank account by ACH or wires, USDC leaves the account and the counterparty receives USD.

Receive USD

To receive USD into an account, you'll turn on bank transfers for the account and then send money from your bank to the account's bank details:

  1. Turn on bank transfers: An admin opens the account, clicks Details, and turns on Enabled under Bank transfers.
  2. Find the bank details: Click Deposit, choose the account, and choose Bank transfer (ACH or wire).
  3. Send the money: Send USD from your bank to the details on the Bank transfer to screen, which include the bank name, bank address, routing number, account number, beneficiary name, and beneficiary address.

If an admin chooses Bank transfer (ACH or wire) in step 2, we turn on bank transfers for that account at the same time. Note that the switch controls incoming bank transfers only, and turning it off hides the bank details in the console.

For example, when Cora's Coffee sends a wire from its bank to one of its Catena accounts, we credit the deposit to that account as USDC on Base. We only settle deposits of $1.00 or more. In Activity, the deposit shows with the method ACH or Wire, although for a short time it can show as a stablecoin deposit first.

Note

Bank details and agents

An agent cannot read an account's bank details. If your agent runs catena accounts deposit-address, it gets an on-chain address.

Pay in USD

Your agent pays a bank account by sending to the counterparty's bank rail:

Shell
catena send --rail cpr_... --amount 250.00 --method ach

See Send wires and ACH for methods, minimums, and memos.

Once the policy allows the send, and after approval if the policy requires it, the payment goes through the following steps:

  1. Conversion: The account's USDC on Base is sent for conversion. If the money is USDC on Arc, or OUSD, we first move or convert it to USDC on Base, under the same intent.
  2. Payout: The counterparty receives USD by ACH or wires.

The account's funds are held until the USDC transfer confirms on-chain. If the bank returns the payment, the USDC will come back to the same account. However, if a payment fails after conversion starts, it will go to manual review, and the intent will stay processing until it is resolved. You can follow the payment with catena intents get int_..., and you can read more about statuses in Intents and retries.

Updated October 29, 2026 View as Markdown