curl --request POST \
--url http://localhost:3003/v1/donations/{network}/get-transaction \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "10.00",
"charity_slug": "red-cross",
"currency": "USDC",
"from_address": "0x1234567890abcdef1234567890abcdef12345678",
"memo": "Thank you for your great work!",
"tip_bps": 300
}
'{
"data": {
"metadata": {
"amount": "10.00",
"charity_bps": 9700,
"charity_name": "American Red Cross",
"charity_slug": "red-cross",
"currency": "USDC",
"network": "ethereum",
"platform_bps": 300
},
"needs_approval": false,
"transactions": [
{
"chain_id": 1,
"data": "0x...",
"gas_limit": 100000,
"gas_price": "25000000000",
"to": "0x1234567890abcdef1234567890abcdef12345678",
"value": "0"
}
]
},
"success": true,
"meta": "<unknown>"
}This endpoint prepares a donation transaction for the specified blockchain network. The response contains transaction data that needs to be signed by the donor’s wallet.
Requires API Key Authentication: This endpoint requires a valid API key passed
via the Authorization: Bearer {api_key} header.
network (String): The blockchain network to use. Supported values:
ethereum or eth - Ethereum Mainnetsolana or sol - Solana Mainnetcharity_slug (String, required): The charity organization’s slugcurrency (String, required): The token symbol (e.g., “USDC”, “ETH”, “SOL”)amount (String, required): The donation amount as a decimal string (e.g., “10.00”)from_address (String, required): The donor’s wallet addresstip_bps (u16, optional): Tip amount in basis points (0-10000). Default: 0memo (String, optional): Optional message to include with the donationFor EVM networks (Ethereum):
transactions: Array of transaction objects to sign and submitneeds_approval: Whether a token approval is needed before the transfermetadata: Information about the donation allocationFor SVM networks (Solana):
transaction_message: Base58-encoded serialized transaction messageblockhash: The blockhash used for the transactionlast_valid_block_height: The last block height at which this transaction is validmetadata: Information about the donation allocationcurl --request POST \
--url http://localhost:3003/v1/donations/{network}/get-transaction \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "10.00",
"charity_slug": "red-cross",
"currency": "USDC",
"from_address": "0x1234567890abcdef1234567890abcdef12345678",
"memo": "Thank you for your great work!",
"tip_bps": 300
}
'{
"data": {
"metadata": {
"amount": "10.00",
"charity_bps": 9700,
"charity_name": "American Red Cross",
"charity_slug": "red-cross",
"currency": "USDC",
"network": "ethereum",
"platform_bps": 300
},
"needs_approval": false,
"transactions": [
{
"chain_id": 1,
"data": "0x...",
"gas_limit": 100000,
"gas_price": "25000000000",
"to": "0x1234567890abcdef1234567890abcdef12345678",
"value": "0"
}
]
},
"success": true,
"meta": "<unknown>"
}Developer organization API key
Blockchain network (ethereum or solana mainnet only)
Request payload for creating a donation transaction
The amount to donate as a decimal string (e.g., "10.00")
"10.00"
The charity organization's slug (e.g., "save-the-whales")
"red-cross"
The currency/token symbol to donate (e.g., "USDC", "SOL", "ETH")
"USDC"
The sender's wallet address
"0x1234567890abcdef1234567890abcdef12345678"
Optional memo/message to include with the donation
"Thank you for your great work!"
Optional tip amount in basis points (0-10000, where 10000 = 100%) Defaults to 0 if not provided
x >= 0300
Successfully created donation transaction