Skip to main content
POST
Create a transfer between the client's own accounts

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Hevn-Account
string | null

The client account to act for, as a cl_… id. Omit it to act as yourself.

Example:

"cl_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"

x-api-key
string | null
Idempotency-Key
string | null

Your own key for this write, ^[A-Za-z0-9._:-]{1,128}$. A retry with the same key replays the first answer; the same key with a different request is refused.

Example:

"po-inv-2026-114"

Body

application/json
sourceAccount
enum<string>
required

Account the money leaves.

Available options:
USDC,
EURC,
FDIC_USD
destinationAccount
enum<string>
required

Account the money lands on.

Available options:
USDC,
EURC,
FDIC_USD
publicKey
string
required

Base64 DER SubjectPublicKeyInfo for the registered P-256 developer key.

Required string length: 1 - 512
amount
string | null

Exact amount to debit from the source account.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
Example:

"500.00"

amountTo
string | null

Exact amount the destination account should receive.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
Example:

"500.00"

Response

Successful Response

id
string
required

Stable public identifier for this swap.

Pattern: ^(?:swp_)?[A-Za-z0-9._:\-]{1,216}$
Example:

"swp_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"

status
enum<string>
required

Current public lifecycle status of the swap.

Available options:
awaitingSignature,
submitted,
settled,
failed
idempotencyKey
string
required

Caller-supplied key that makes an identical retry return this result.

sourceAccount
enum<string>
required

Account the money leaves.

Available options:
USDC,
EURC,
FDIC_USD
destinationAccount
enum<string>
required

Account the money lands on.

Available options:
USDC,
EURC,
FDIC_USD
quote
SwapQuoteView · object
required

Price, fee and conversion terms fixed for this swap.

authorization
enum<string>
required

Whether the approval authorizes a balance debit or a signature over the swap's terms.

Available options:
debit,
intent
approval
ApprovalView · object
required

Authorization to sign with the developer key before settlement.

debit
DebitView · object | null

Exact on-chain debit used to fund this swap.

intent
IntentView · object | null

Terms authorized by the signature, when this swap is not funded by a debit.