Load trusted relay metadata
GET /v1/info. Pin or validate the relay ID, testnet network, sponsor principal, adapter contract, sBTC contract, limits, and active quote public key.OSSR lets your users authorize one exact sBTC transfer while an independent relay supplies the STX network fee, signs as sponsor, and broadcasts the completed transaction.
const quote = await requestQuote({
relayUrl, origin, recipient,
amountSats: "1000",
maxSponsorFeeSats: "20",
});
const call = prepareWalletContractCall({
quote: quote.quote,
recipient, amountSats: "1000",
});
const signed = await request(
"stx_callContract",
{ ...call, network: "testnet" }
);GET /v1/info. Pin or validate the relay ID, testnet network, sponsor principal, adapter contract, sBTC contract, limits, and active quote public key.POST /v1/quotes. Display the returned fee, expiry, and maximum token outflow.sponsored-transfer call and an exact-deny sBTC post-condition for amount + sponsorFee. Do not permit arbitrary contract calls.stx_callContract request with sponsored: true. The wallet signs only the origin authorization and returns raw transaction bytes without broadcasting./v1/sponsorships. The relay validates, simulates, adds its sponsor authorization, and broadcasts.Version 1 is testnet-only and supports the reviewed sBTC transfer adapter. Public deployments must use HTTPS and an explicit browser-origin allowlist.
/v1/infoRead relay identity, contracts, limits, and quote keys.
/v1/quotesRequest a signed, expiring offer for one exact transfer.
/v1/sponsorshipsSubmit the origin-signed transaction for sponsorship and broadcast.
/v1/sponsorships/{txid}Track relay and observed Stacks chain status.
Use an installed wallet. Your dapp must never request or transmit seed phrases or private keys.
Amount, recipient, sponsor fee, adapter, expiry, and quote ID must match the signed quote.
Reject unknown networks, contracts, quote keys, protocol versions, and malformed relay responses.
Send an origin-signed transaction to only its quoted relay and use the quote ID as the idempotency boundary.
The current repository contains working quote, wallet-call, submission, and status helpers. Treat them as reference implementation code while the public SDK and API remain draft.