Gyvar API
Move value from a Bitcoin or stablecoin balance to a local destination.
The Gyvar API is a signed, server-to-server surface at https://api.gyvar.com/v1.
What you can do today
Receive addresses
An on-chain address per customer or invoice, keyed on your own reference.
Transactions
Every movement, both directions, newest first. Not summable - see Balances.
Corridors
Where we can pay out to right now - read it, do not hardcode it.
Beneficiaries
The payout destinations you saved. Read only - saving one stays a human action.
Lightning
Mint an invoice per payment. Receiving only.
Money
Send over Lightning or on-chain. Needs a key granted money and a project enabled for it.
Balances
What the project's wallet holds, per asset. The authority for balance.
Webhooks
Get told when money lands or a payout settles.
Start here
- Get access. Keys are self-serve in both sandbox and live, the IP allowlist is mandatory, and moving money needs one grant you have to ask for. Two minutes, and it explains every 403 you might meet on day one.
- Sign a request. Ed25519, four headers, one canonical string. This is the only genuinely fiddly part, and it is fiddly in the same way for everyone - read it before writing code.
- Run the quickstart. Create an address in sandbox and watch a webhook arrive.
- Read the error contract. Switch on
details.code, never onmessage.
Two things to get right up front
Amounts. Every amount comes back twice: amount is a decimal string in the major
unit, amount_minor an integer in the minor unit. Display amount. Do arithmetic on
amount_minor. Parsing amount as a float is the bug that surfaces months later, on
someone else's money.
Idempotency. There is no Idempotency-Key header. Where an operation needs to be
safe to retry, the key is a field you already send - reference on an address. Retry a
call that timed out and you get the same resource back, not a second one.
A key issued today cannot spend