Create and Pay Requests
The Request Network API provides an interface for creating and paying requests within your application.
Last updated
Was this helpful?
The Request Network API provides an interface for creating and paying requests within your application.
Last updated
Was this helpful?
At its core, the Request Network API empowers you to:
Create Requests: Define payment requests with information such as payee, payer (optional), amount, currency, and recurrence (optional).
Facilitate Payments: Return transaction calldata, ready to be signed by end-users and sent to the blockchain for secure and transparent value transfer.
Deliver Webhook Notifications: Receive instant updates on payment status changes, enabling your application to react dynamically to completed transactions.
Fee Collection: When paying a request, you can specify a fee percentage (between 0 and 100) and a fee address, which will add the fee on top of the payment amount - meaning the payer will pay the original amount plus the fee percentage, with the fee portion being sent to the specified fee address.
Partial Payment Support: Pay a portion of a request instead of the full amount at once. This unlocks powerful use cases such as:
Split payment: split a payment 50% USDC on Base and 50% with USDT on Optimism.
Gradual payment plans: Allow users to pay large invoices in smaller chunks.
Risk mitigation: Test with small amounts before completing large payments.
The API automatically tracks payment progress, showing partially_paid
status until the request is fully paid, and prevents overpayment by capping amounts to the remaining balance.
For detailed information on all available endpoints and their parameters, please refer to the full Request Network API Reference
The following diagram illustrates the typical flow for creating and paying requests using the Request Network API:
Get the status of a payment request
The requestId for the request
01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
API key for authentication
Update a recurring request
The requestId for the request
01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
API key for authentication
No content
Get the calldata needed to pay a request. For cross-chain payments, returns a payment intent that needs to be signed. For same-chain payments, returns transaction calldata. For off-ramp payments, use the query parameters clientUserId and paymentDetailsId.
The requestId of the request
01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
The wallet address of the payer.
0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7
The source chain of the cross chain payment
The source token of the cross chain payment
The amount to pay, in human readable format
Optional client user ID for off-ramp payments
user-123
Optional payment details ID for off-ramp payments
fa898aec-519c-46be-9b4c-e76ef4ff99d9
Fee percentage to apply at payment time (e.g., '2.5' for 2.5%)
0.02
Address to receive the fee
0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7
API key for authentication
Create a new payment request
API key for authentication
The wallet address of the payer
The wallet address of the payee
The payable amount of the invoice, in human readable format
Invoice Currency ID, from the Request Network Token List e.g: USD
Payment currency ID, from the Request Network Token List e.g: ETH-sepolia-sepolia
Whether crypto-to-fiat payment is available for this request
Initiate a payment without having to create a request first
API key for authentication
The wallet address of the payee
The payable amount of the invoice, in human readable format
Invoice Currency ID, from the Request Network Token List e.g: USD
Payment currency ID, from the Request Network Token List e.g: ETH-sepolia-sepolia
Fee percentage to apply at payment time (e.g., '2.5' for 2.5%)
Address to receive the fee