Skip to main content
POST
/
v0
/
payment-links
Create a payment link
curl --request POST \
  --url https://api.sumvin.com/v0/payment-links \
  --header 'Content-Type: application/json' \
  --data '
{
  "accepted_chains": [
    1329
  ],
  "description": "Invoice #1234",
  "expires_at": 1735689600000,
  "max_uses": 1,
  "pint": {
    "expires_at": 1735689600,
    "max_amount": 100000000,
    "max_amount_token": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD78",
    "nonce": 1,
    "resources": [],
    "scopes": [
      "sr:us:pint:spend:execute?max=100000000&asset=USDC@sei&chain_id=1329"
    ],
    "statement": "Settle my $100 invoice",
    "wallet": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD78"
  },
  "signature": "0xababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab"
}
'
{
  "_links": {
    "pint": {
      "href": "/v0/pint/sr%3Aus%3Apint%3Aabc123"
    },
    "public": {
      "href": "/v0/payment-links/public/q79Rx34K..."
    },
    "self": {
      "href": "/v0/payment-links/q79Rx34K..."
    }
  },
  "payment_link": {
    "accepted_chains": [
      1329
    ],
    "amount": "100.00",
    "created_at": 1704067200000,
    "description": "Invoice #1234",
    "expires_at": 1704153600000,
    "max_uses": 1,
    "pay_to": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD78",
    "pint_uri": "sr:us:pint:abc123",
    "slug": "q79Rx34K...",
    "status": "pending",
    "usage_count": 0
  }
}

Headers

x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

x-sumvin-token
string | null
x-juno-jwt
string | null

Body

application/json

Body for POST /v0/payment-links.

pint
PurchaseIntentPayload · object
required

EIP-712 PurchaseIntent payload that the requester signed.

signature
string
required

0x-prefixed hex ECDSA signature (130 hex chars) over the PurchaseIntent.

Pattern: ^0x[0-9a-fA-F]{130}$
accepted_chains
enum<integer>[]
required

Chain IDs on which the requester will accept settlement.

Minimum array length: 1

EVM-compatible blockchain networks supported by Sumvin.

Chain ID values follow the EIP-155 standard.

  • 1 - Ethereum Mainnet
  • 10 - Optimism
  • 137 - Polygon (formerly Matic)
  • 42161 - Arbitrum One
  • 8453 - Base
  • 43114 - Avalanche C-Chain
  • 56 - BNB Smart Chain (BSC)
  • 1328 - Sei Testnet
  • 1329 - Sei
Available options:
1,
10,
137,
42161,
8453,
43114,
56,
1328,
1329
expires_at
integer
required

Payment link expiry (epoch milliseconds). Must be in the future and within 90 days. Distinct from the nested pint.expires_at which is in seconds.

max_uses
integer | null

Maximum times this link can be settled. Null = unlimited.

Required range: x >= 1
fee_policy
Fee Policy · object

Opaque JSON object describing settlement fees. Shape is not yet stable — do not depend on specific keys.

description
string | null

Optional requester-supplied copy shown to the payer.

Maximum string length: 280

Response

Successful Response

Owner-view single payment link response.

HAL-style hypermedia links for navigation and available actions.

Payment link resource.

Example:
{
"accepted_chains": [1329],
"amount": "100.00",
"asset": {
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 6,
"symbol": "USDC"
},
"created_at": 1704067200000,
"description": "Invoice #1234",
"expires_at": 1704153600000,
"max_uses": 1,
"pay_to": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD78",
"pint_uri": "sr:us:pint:abc123",
"slug": "q79Rx34K...",
"status": "pending",
"usage_count": 0
}