IDonationRelay donations on its source chain and delivers
USDC into the normal Base donation pipeline asynchronously. Your integration does not request
Relay quotes or submit a second bridge transaction. Existing local settlement routes continue
to work as before.
Discover donation contracts with GET /api/v1/chains; an API key is optional.
Robinhood is an ordinary EVM chain with ID 4663. When its sender is configured, its
donationRelay supplies the contract address, settlementChainId: 8453,
and bridge policy. A chain may be listed without a configured
donation relay; only offer donation entry when donationRelay is present.
Submit a deposit
Create your usual donation config, with beneficiaries that resolve on Base. Call the discovered sender using exactly these signatures:donateNative. For a standard ERC20, approve the sender for the amount and call
donateToken. For an EIP-2612 token, sign a permit with the funding caller as owner, the sender
contract as spender and the exact donation amount as value, then call donateTokenWithPermit.
It approves and deposits in the same transaction. The token must support EIP-2612; ordinary
approval remains available. Preserve your usual config ID, credit address and message encoding;
messages are limited to 256 bytes.
msg.sender is the funding caller and refund destination. It can differ from creditedTo.
If your integration calls through a contract, that contract must be able to receive returned
ETH/tokens and return them to its users. Crediting an end user does not make that user the payer.
Amounts, fees and completion
At least 1 USDC must arrive on Base before Daas fees and tip. New Relay quotes request 3% swap tolerance. Fixed gas and Relay fees are separate from that tolerance; there is no percentage cap on total costs. Fees and tip use the USDC actually received. ETH, direct standard ERC20 routes, WETH unwrap and standard token source swaps through Relay’s 0x/Kyber routes are supported. Routing depends on available liquidity; nonstandard tokens and unrecognized swap programs are not automatically executed. Successful source deposits appear as pending transfer activity. Funding can begin after verified successful inclusion and an escrow check; it does not wait for source finality. Relay delivers USDC and calls the Base receiver, which forwards the actual output intodonateToken atomically.
Any extra USDC delivered becomes part of the donation. A verified Base donation creates its
pending receipt without waiting for Base finality. Epoch distribution still requires finalized,
reconciled membership, and final accounting waits for the settlement transaction to finalize.
Provider outages or recovery can extend completion.
The ordinary donation receipt identifies your original source token, amount, transaction and time.
Its settled fields describe the actual settlement proceeds. Internal Base epoch accounting does not
replace the original donation input.
Track a transfer
?sourceId=....
An empty array means the transaction has not been indexed; do not interpret it as permission
to send again. Keep the source transaction link. A reverted source transaction created no deposit.
Progress includes the source identity, funding caller, source token and atomic amount, reclaim
deadline and resulting Base transaction/receipt when available. These are separate from the
existing donation settlement statuses. The transfer page
also accepts a source transaction hash and shows progress and reclaim controls.
Reclaim unbridged funds
After 24 hours, anyone can call the source sender:recipient to the recorded funding caller.
Only that caller can redirect its own claim. A reverted transfer remains claimable. Below-minimum
or unsupported deposits stay in the sender until claimed; Daas does not need to authorize this.
Once funds have been deposited with Relay, the 24-hour sender claim no longer applies. Ordinary
source refunds go directly from Relay to the funding caller, in the currency and amount actually
returned, which can differ from the input (for example ETH after WETH unwrap, or USDG after a token swap). If USDC instead
lands at the Base receiver, Daas can complete the donation after verifying the payment and original
terms, including the saved executable quote minimum. Ambiguous or insufficient Base payments, unexpected assets and rejecting caller contracts
need manual recovery. Relay support may be necessary if automatic recovery fails. Contact Donate
support with your source transaction and transfer identity.