Skip to main content
POST
/
v1
/
transfers
/
async-entity-transfers
Create an async entity transfer request
curl --request POST \
  --url https://api.endaoment.org/v1/transfers/async-entity-transfers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
  "requestedAmount": "1000000",
  "originFundId": "123e4567-e89b-12d3-a456-426614174000",
  "originOrgId": "123e4567-e89b-12d3-a456-426614174000",
  "destinationFundId": "123e4567-e89b-12d3-a456-426614174000",
  "destinationOrgId": "123e4567-e89b-12d3-a456-426614174000",
  "chainId": 1,
  "shareMyEmail": false
}
'
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "type": "entity",
  "status": "approved",
  "transactionHash": "0x1234567890abcdef",
  "netAmount": "1000000",
  "fee": "10000",
  "createdAtUtc": "2024-03-20T10:30:00Z",
  "requestedAmount": "1000000",
  "updatedAtUtc": "2024-03-20T10:30:00Z",
  "asyncStatus": "pending",
  "chainId": 1
}

Authorizations

Authorization
string
header
required

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

Body

application/json
idempotencyKey
string<uuid>
required

Unique identifier to prevent duplicate transfer requests

Example:

"123e4567-e89b-12d3-a456-426614174000"

requestedAmount
string<bigint>
required

The amount in USDC to be transferred

Example:

"1000000"

originFundId
string<uuid>

ID of the fund that is the origin of the transfer. Mutually exclusive with originOrgId.

Example:

"123e4567-e89b-12d3-a456-426614174000"

originOrgId
string<uuid>

ID of the organization that is the origin of the transfer. Mutually exclusive with originFundId.

Example:

"123e4567-e89b-12d3-a456-426614174000"

destinationFundId
string<uuid>

ID of the fund that will receive the transfer. Mutually exclusive with destinationOrgId.

Example:

"123e4567-e89b-12d3-a456-426614174000"

destinationOrgId
string<uuid>

ID of the organization that will receive the transfer. Mutually exclusive with destinationFundId.

Example:

"123e4567-e89b-12d3-a456-426614174000"

chainId
object

The chain ID for the transfer. Required when originOrgId is provided. Ignored when originFundId is provided.

Example:

1

shareMyEmail
boolean
default:false

Indicates if the initiator agrees to share their email with the receiving entity

Response

Async entity transfer request successfully created

id
string<uuid>
required

Unique identifier of the transfer

Example:

"123e4567-e89b-12d3-a456-426614174000"

type
enum<string>
required

Type of transfer, always "entity" for EntityTransferDto

Available options:
GrantTransfer,
EntityTransfer
Example:

"entity"

status
enum<string>
required
deprecated

Status of the transfer (deprecated)

Available options:
PendingReview,
Approved,
Rejected
Example:

"approved"

transactionHash
object
required

Transaction hash of the donation made to the target entity

Example:

"0x1234567890abcdef"

netAmount
object
required

Net output amount for the transfer (total - fees) in USDC units

Example:

"1000000"

fee
object
required

Fee charged on this transfer in USDC units

Example:

"10000"

createdAtUtc
string<date-time>
required

UTC timestamp when the transfer was created

Example:

"2024-03-20T10:30:00Z"

requestedAmount
object
required

Requested amount for the transfer in USDC units (only for async transfers)

Example:

"1000000"

updatedAtUtc
string<date-time>
required

UTC timestamp when the transfer was last updated

Example:

"2024-03-20T10:30:00Z"

asyncStatus
enum<string>
required

Current status of the async transfer request

Available options:
PendingLiquidation,
Liquidated,
Cancelled
Example:

"pending"

chainId
object
required

Chain ID where the transfer occurred (null for async transfers)

Example:

1