> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stableyard.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Stablecoin transfers

> Send stablecoin to a wallet, or to another account by id or handle, including across partners.

A stablecoin transfer is a send payment to a crypto destination: a wallet address, or another Universal Payment Account. Use it for a payout to a customer's wallet, a supplier who accepts stablecoin, or a move between two accounts without a bank rail.

## Address the recipient

| Destination | Address it by |
| - | - |
| A wallet | Chain and address |
| Another account in your namespace | Its handle, or its `accountId` |
| An account belonging to another partner | Its qualified handle, `name@namespace` |

Every supported chain and asset works, but the destination must be on a chain the recipient can settle on. [View supported regions and currencies →](/supported-regions-and-currencies)

Settlement is an on-chain transfer to the recipient's current settlement destination, not an internal book transfer, so it is subject to the chain's confirmation behaviour.

## Send it

```bash theme={null}
curl -X POST https://staging-api-v2.stableyard.fi/v2/payments \
  -u "$APP_ID:$APP_SECRET" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "intent": "send",
    "sender": { "accountId": "acct_123" },
    "destination": { "type": "payment_handle", "paymentHandle": "alice@partner" },
    "paymentAmount": { "amount": "40.00", "assetCode": "USDC" }
  }'
```

<Warning>
  Authenticated handle lookup resolves only inside your own namespace. You can pay a qualified handle you were given, but you cannot verify it through the authenticated API first. Confirm the destination with your customer before sending.
</Warning>

## Read both sides of a cross-partner transfer

A handle-addressed transfer is two-sided, and both partners read the same payment by id. `participants` is an array of `{ role, accountId }`, where `role` is `sender` or `recipient`; a payment is the only object that can reference two accounts.

**Only participants your own organisation owns are returned.** The recipient's side of a transfer to another partner is written under their tenancy, not yours. The array is empty when you created the payment against a raw wallet rather than an account.

<Card title="Next: On-ramps" icon="money-bill-wave" href="/payments/on-ramps">
  Accept fiat from a payer and deliver it as stablecoin.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.