Create a payment link
Create a shareable payment link from a signed EIP-712 PurchaseIntent. The returned slug is derived from the signature so the URL itself is cryptographically bound to the requester.
Authorizations
JWT issued by Dynamic Labs or Privy. Sent in the x-juno-jwt header on every authenticated request.
Headers
Tenant org ID for multi-tenant auth
Controls how timestamp fields are serialized in JSON response bodies.
Default (header omitted or any other value): epoch milliseconds as integers.
iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.
Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".
Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.
Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.
"iso8601"
Body
Body for POST /v0/payment-links.
EIP-712 PurchaseIntent payload that the requester signed.
0x-prefixed hex ECDSA signature (130 hex chars) over the PurchaseIntent.
^0x[0-9a-fA-F]{130}$Chain IDs on which the requester will accept settlement.
1EVM-compatible blockchain networks the codebase knows about.
This is a vocabulary enum — the set of chain IDs the code can talk about
for asset metadata, off-ramp routing (Meld), payment-link acceptance, and
agent data lookups. It is NOT an acceptance enum: typing a request-model
field as chain_id: KnownChains does NOT gate input to operational chains.
For write-boundary acceptance (onboarding, wallet creation, workflow
contracts), use DeployableChain from sumvin/model/enums/chain.py.
Chain ID values follow the EIP-155 standard.
1- Ethereum Mainnet10- Optimism137- Polygon (formerly Matic)42161- Arbitrum One8453- Base43114- Avalanche C-Chain56- BNB Smart Chain (BSC)1328- Sei Testnet1329- Sei
1, 10, 137, 42161, 8453, 43114, 56, 1328, 1329 Payment link expiry (epoch milliseconds). Must be in the future and within 90 days. The link stops working at whichever comes first, this or the signed payload's own expiry.
Maximum times this link can be settled. Null = unlimited.
x >= 1Opaque JSON object describing settlement fees. Shape is not yet stable — do not depend on specific keys.
Optional requester-supplied copy shown to the payer.
280