AUD virtual accounts are live. Collect from Australian bank transfers, settle in USDC.See how →
locals
Products
Virtual accounts Payouts Cards
Platform
Coverage Developers Company Talk to us
Products/Virtual accounts
LiveAUD and USD accounts live today

Local bank details.
Settled in USDC.

Give each customer a named account in their own currency. They pay by normal bank transfer; we match the deposit, convert it and settle stablecoins to your wallet.

Active within minutes Every deposit reconciled Allow-listed senders
app.locals.money/routes/route_3f9a

Harbour & Co

cus_8Hq2Lm · AUD → USDC · Polygon
Active
  1. Created09:12:03
  2. Pendingroute_3f9a
  3. Active09:14:40
Deposit instructionsShare with customer
Account nameHarbour & Co
BSB000-000
Account1234 5678
Sender allow-listHarbour & Co · 000-000 · •••• 4410
Registered
ReconciliationGET /v1/routes/route_3f9a/reconciliation
Waiting for the first deposit
Bank refAmountSettlementStatus
HC-221010:02 A$4,200.00@ 0.6510 2,734.20 USDCtx 0x5e0c…a7d4 Settled
—10:37 A$900.00unknown sender —not credited Returned
route.deposit.received200 OK
A$4,200.00 receivedBank transfer · ref HC-2210
2currencies live for local collection today
3more on the way: EUR, GBP and AED
1set of bank details per customer, reused for every payment
0new accounts or references per invoice
What you get

A real account for every customer.

Each route is a set of local bank details in the customer's name, tied to one currency in and one stablecoin out.

Named per customer

The account carries your customer's name, so their bank shows who they are paying.

Reusable

One set of details for every payment. No new reference or account per invoice.

Local rails

BSB and account number in Australia. ACH and wire in the United States.

Settled in USDC

Deposits convert automatically and land at the wallet address set on the route.

Verified first

KYC for individuals and KYB for businesses, before any route is opened.

Active within minutes

A new route starts as pending. You get a webhook the moment its details are ready to share.

How it works

From customer to account in minutes.

Create the customer, open a route and share the details. Each step returns a status and a webhook you can act on.

01

Verify the customer

KYC for individuals, KYB for businesses. Reuse your own checks or send a hosted link.

POST /v1/customers
02

Open a route

Choose the currency in and the wallet out. The route starts as pending.

POST /v1/routes
03

Share the details

Once active, show the bank details in your app. Your customer pays from their own bank.

route.activated
04

Receive and reconcile

Each deposit is matched, converted and settled. Pull the full record for any route.

route.deposit.received
Reconciliation

From bank reference to transaction hash.

Every route belongs to one customer, so every deposit to it is matched automatically. Pull the full record for a route whenever you need it.

  • One line per depositBank reference, amount, rate and settlement hash, side by side.
  • A webhook for every depositroute.deposit.received tells you which route and customer it belongs to.
  • The full record on demandGET /v1/routes/{id}/reconciliation returns every deposit on the route.
Harbour & Coroute_3f9a · October 2026
ReceivedReferenceAmountSettlementStatus
21 Oct10:02HC-2210Harbour & CoA$4,200.00@ 0.65102,734.20 USDCtx 0x5e0c…a7d4Settled
18 Oct16:45HC-2207Harbour & CoA$12,500.00@ 0.65108,137.50 USDCtx 0x2b9e…44f0Settled
14 Oct09:12HC-2203Harbour & CoA$860.00@ 0.6498558.83 USDCtx 0x9a71…c3d8Settled
11 Oct13:30—Unknown senderA$900.00not matched—not creditedReturned
07 Oct11:05HC-2198Harbour & CoA$3,075.00@ 0.65232,005.82 USDCtx 0x41d0…e97bSettled
Settled this month 13,436.35 USDCReturned 1 · A$900.00
Source of funds

Only the senders you allow.

Where the market requires it, each account accepts deposits only from the sending account you register. In Australia, every account has one.

  • One call to registerAdd the customer's sending account with POST /v1/routes/{id}/whitelist.
  • Returned, not creditedMoney from an unknown sender goes back to the sender and never reaches the customer's balance.
  • Same verified customerThe allow-list sits on the route of a customer who already passed KYC or KYB.
route_3f9aSender allow-list · AUD
POST /whitelist 200
HC
Harbour & Co000-000 · •••• 4410
A$4,200.00Credited
?
Unknown sender000-000 · •••• 9921
A$900.00Returned

Money from any other account is returned to the sender.

Developers

One call opens an account.

Send the customer, the source currency and the destination wallet. The response carries the deposit instructions you show your customer.

  • Idempotent creationRetry with the same key and get the same route back, never a second account.
  • Sender allow-lists by APIRegister the customer's sending account with one call to the route's whitelist.
  • Simulated deposits in sandboxTrigger a bank transfer to any test route and watch it settle, end to end.
Explore the API →
1curl https://api.locals.money/v1/routes \
2  -H "Authorization: Bearer $LOCALS_KEY" \
3  -H "Idempotency-Key: $(uuidgen)" \
4  -d '{
5    "customerId": "cus_8Hq2Lm",
6    "source":      { "currency": "AUD" },
7    "destination": {
8      "currency": "USDC",
9      "chain":    "polygon",
10      "address":  "0x7a3f...91c2"
11    }
12  }'
1{
2  "id": "route_3f9a",
3  "kind": "route",
4  "status": "pending",
5  "source": { "currency": "AUD" },
6  "destination": {
7    "currency": "USDC",
8    "chain": "polygon",
9    "address": "0x7a3f...91c2"
10  },
11  "depositInstructions": {
12    "accountName": "Harbour & Co Pty Ltd",
13    "bankName": "Partner bank AU",
14    "routingNumber": "000-000",
15    "accountNumber": "12345678"
16  }
17}
1// POST to your endpoint, signed
2{
3  "type": "route.deposit.received",
4  "data": {
5    "routeId": "route_3f9a",
6    "customerId": "cus_8Hq2Lm",
7    "source": { "amount": 4200.00, "currency": "AUD" }
8  }
9}
POST /v1/routes · sandbox201 Created · route_3f9a
Webhook eventshttps://you.example/hooks
    Coverage

    Two currencies live. More on the way.

    AUD and USD accounts are live today. EUR, GBP and AED are next. Only live markets are marked live. Updated .

    See full coverage →

    FAQ

    Questions, answered.

    Which currencies can I open accounts in?

    AUD, paid by local bank transfer to a BSB and account number, and USD, paid by ACH or wire. EUR over SEPA, GBP over Faster Payments and AED are coming soon.

    Does every customer need to be verified?

    Yes. Individuals pass KYC and businesses pass KYB before a route is opened. You can create customers from the verification you already hold, or send them a hosted verification link.

    How long does a new account take to go live?

    A new route activates within minutes. You get a route.activated webhook when the bank details are ready to share.

    Can anyone send money to an account?

    It depends on the market. In Australia each account accepts deposits from one allow-listed sending account, which you register through the API. Money from any other account is returned to the sender.

    How do I know which customer a deposit belongs to?

    Every route belongs to one customer, so every deposit to it is matched automatically. Each one triggers a webhook, and the reconciliation endpoint returns the full record for a route.

    Go local in every market you serve.

    Tell us where your customers are. We will tell you what is live, what is next, and how fast you can launch.