Endpoints
Account kinds
The on-chain owner check
A link is not a permanent grant. Every write you make for a linked account, such as creating or funding its ad, re-reads the account’s owner on chain. The moment the owner is no longer your signed-in wallet, those writes are refused with403, even though the link still shows in your list. If the owner cannot be read, the write answers
503 rather than passing.
Once linked, you can:
- create ads with the account as
creator, and fund, withdraw, update or close them; - act as the maker on the account’s trades, including co-signing;
- see the account’s ads in
GET /v1/ads/mine; - receive notifications addressed to the account.
List
GET /v1/accounts
Your signed-in wallets, one per chain kind, and your linked accounts, oldest link first. This reads no chain, so a
listed link may already be stale.
0x + 64 hex on Stellar. strkey is the value to put in an ad’s
creator field: the C… strkey on Stellar, the address on EVM.
Link
POST /v1/accounts/link
The relayer finds the chain, checks the address form, reads the account’s owner on chain, and links it if the owner is
your signed-in wallet on that chain kind. Linking an account again refreshes linkedAt. If another user held the link
before, a link proven by the current owner takes it over.
201 with the linked account, in the same shape as an entry in accounts above. On EVM, kind is
EVM_CUSTODY_ACCOUNT and the account counts only if the chain’s custody factory made it.
Unlink
DELETE /v1/accounts/:id
Deletes your own link. This makes no chain call. An account that still makes an ad that is not CLOSED cannot be
unlinked: close its ads first.