Skip to main content
POST
Create async grant

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 grant requests

Example:

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

originFundId
string<uuid>
required

ID of the fund that is the origin of the grant

Example:

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

destinationOrgId
string<uuid>
required

ID of the organization that will receive the grant

Example:

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

requestedAmount
string<bigint>
required

The amount in USDC to be granted, in the smallest currency unit (1000000 = 1 USD)

Example:

"1000000"

purpose
string
required

Public declaration of the grant purpose

Maximum string length: 511
Example:

"Supporting educational programs"

destinationSubprojectId
string<uuid>

ID of the subproject that will receive the grant. Must be sponsored by the destination organization

Example:

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

recommender
string

Name of the person recommending the grant

Maximum string length: 255
Example:

"John Doe"

specialInstructions
string

Binding instructions for the use of granted assets that the receiving organization must accept

Example:

"Funds must be used exclusively for the summer education program"

shareMyEmail
boolean
default:false

Indicates if the donor agrees to share their email with the receiving organization

recommendationIds
string<uuid>[]

List of recommendation IDs associated with the grant

Example:

Response

Async grant 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 "grant" for GrantTransferDto

Available options:
GrantTransfer,
EntityTransfer
Example:

"grant"

status
enum<string>
required
deprecated

Status of the transfer (deprecated)

Available options:
PendingReview,
Approved,
Rejected
Example:

"approved"

transactionHash
object | null
required

Transaction hash of the donation made to the target entity

Example:

"0x1234567890abcdef"

netAmount
object | null
required

Net output amount for the transfer (total - fees) in USDC smallest currency unit (1000000 = 1 USD)

Example:

"1000000"

fee
object | null
required

Fee charged on this transfer in USDC smallest currency unit (1000000 = 1 USD)

Example:

"10000"

createdAtUtc
string<date-time>
required

UTC timestamp when the transfer was created

Example:

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

requestedAmount
object | null
required

Requested amount for the transfer in USDC smallest currency unit (1000000 = 1 USD) (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 | null
required

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

Example:

1

destinationOrg
object | null
required

Organization receiving the grant. Null if the grant is for a subproject.

destinationSubproject
object | null
required

Subproject receiving the grant. Null if the grant is for an organization.

recommender
object | null
required

Name of the person who recommended the grant

Example:

"John Doe"

purpose
object | null
required

Purpose of the grant

Example:

"Supporting educational programs"

specialInstructions
object | null
required

Special instructions for the use of granted assets

Example:

"Funds must be used exclusively for the summer education program"