Gravv DOCS
Docs Agent Get Started
API Reference Create a payment link

Create a payment link

Creates a new payment link that can be shared with a payer to collect a crypto payment.

On success, the API returns a shareable link_url along with wallet addresses for each network specified in supported_networks. The payer visits the link and completes the payment on their preferred network.

POST/v1/payment-links

Supported networks

Pass one or more of the following values in supported_networks:

  • stellar
  • ethereum
  • polygon
  • avalanche
  • solana

A wallet address is automatically provisioned for each requested network and returned in the wallet_addresses field of the response.

Headers

Required for POST requests. Reuse only for an identical retry.

Request Body

Name of the person who will make the payment.

Email address of the person who will make the payment.

ID of the account where settled funds will be deposited after a successful payment.

List of blockchain networks to accept payments on. Wallet addresses for each specified network are automatically provisioned and included in the response.

Possible values: stellar, ethereum, polygon, avalanche, solana

ID of the customer this payment link is created for.

Request Examples

{
"payer_name": "payer2",
"payer_email": "payer@example.com",
"settlement_account_id": "b3e3c9fd-77ed-4d14-9c45-68db60d17d3a",
"supported_networks": [
"stellar",
"ethereum"
],
"customer_id": "5e713759-3416-44f5-b797-efd0299aefc1"
}
{
"payer_name": "John",
"payer_email": "john@mail.com",
"settlement_account_id": "872a53c4-9640-4b7a-800d-6875c9af9791",
"supported_networks": [
"polygon"
],
"customer_id": "5e713759-3416-44f5-b797-efd0299aefc1"
}

Responses

Status Description
200 Payment link created successfully.
400 Invalid request parameters.
404 Customer or settlement account not found.

200 response

Unique identifier for the payment link.

Timestamp when the payment link was created (UTC).

Timestamp when the payment link was last updated (UTC).

ID of the customer associated with this payment link.

ID of the tenant that owns this payment link.

Name of the person making the payment.

Email address of the person making the payment.

Name of the person or business receiving the payment.

ID of the account where settled funds will be deposited after a successful payment.

List of blockchain networks the payer can use to complete the payment.

Possible values: stellar, ethereum, polygon, avalanche, solana

A map of blockchain network names to their corresponding wallet addresses for receiving crypto payments.

Shareable URL the payer visits to complete the payment.

Current status of the payment link.

Possible values: active, paused

Error information if the request failed.

{
"data": {
"id": "b905cc64-0f90-4de0-a77c-b183de86b248",
"created_at": "2026-05-07T15:39:02.639185821Z",
"updated_at": "2026-05-07T15:39:02.639186702Z",
"customer_id": "5e713759-3416-44f5-b797-efd0299aefc1",
"tenant_id": "dfa96ede-fc13-43cf-8328-8b910d1cd1d2",
"payer_name": "payer2",
"payer_email": "payer@example.com",
"payee_name": "Rose",
"settlement_account_id": "b3e3c9fd-77ed-4d14-9c45-68db60d17d3a",
"supported_networks": [
  "stellar",
  "ethereum"
],
"wallet_addresses": {
  "ethereum": "0x119827bef8a3030cd401478fa7b33ac94d3c2572",
  "stellar": "GD2WTFAKQJA4BRQRNY3RWGWOFMK52WXZWV3CPCHZV2SJP2QGNBIL6TXQ"
},
"link_url": "https://stables.gravv.xyz/b905cc64-0f90-4de0-a77c-b183de86b248",
"status": "active"
},
"error": null
}

400 response

Human-readable error message.

{
"data": null,
"error": "Invalid request parameters"
}

404 response

Always null for error responses.

Human-readable error message.

{
"data": null,
"error": {
"code": "NOT_FOUND",
"message": "Customer not found",
"details": {}
}
}

Authorization

  • ApiKeyAuth
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.

Ask me anything about the documentation.

ESC