Verus Developer guide

API reference

Verus deployment

What this deployment is, the keys it publishes, what it will do, and what its database does and does not hold. Read live from the running server on every request.

GET/v1/deploymentOpen · no key · any origin
Try it
curl -H "Accept: application/json" https://api.verusapp.co.uk/v1/deployment

Identity

FieldValueMeaning
name
string
Verus
The name this deployment goes by.
mode
string
standard
The trust mode it runs in, one of modes. Standard lets anonymous addresses talk freely; verified relays only for accounts holding a live identity attestation; high-trust is set by the operator and also requires a Secure Enclave or StrongBox device key.
modes
string[]
standard verified high-trust Every trust mode the software supports, so a client can tell an unknown mode from a misspelt one.
jurisdiction
string
GB
ISO 3166 country code for the law the operator answers to.

Keys

FieldValueMeaning
deploymentKey
string (base64url)
yDEBxYT4lUNqc3Qpzf51hdMQl2qGzre71Hl9mAesscQ
Ed25519 public key the deployment signs with. A client pins it on first contact.
personhoodKey
string (base64url)
RBkWFO6Cz_4y51s0KsDmNemeOCnTLKI21Hi8VBuBnZE
Ed25519 public key a personhood attestation is checked against, published so a group can check one offline without telling the deployment who it checked.

Features

FieldValueMeaning
demo
string | null
PQZ6F7M3JJSC9Y9C2ZAC78H4
Address of the deployment's own account, so a new install has somebody to talk to. Null when it runs none.
confrmoLogin
boolean
true Whether signing in with Confrmo is configured.
push
boolean
true Whether Apple push (APNs) is configured, so an iPhone can be woken.
pushChannels
object
apns: true fcm: true Push per channel: apns for Apple, fcm for Android.
subscriptions
boolean
true Whether App Store receipts can be verified. False means the app offers no purchase.

Limits

What a free account may do. Larger tiers raise some of these.

FieldValueMeaning
maxEnvelopeBytes
integer, bytes
65536
64 KB
Largest single message envelope accepted.
maxQueuedEnvelopes
integer, count
5000
5,000
Envelopes held for one device before new ones are refused.
envelopeTtlSeconds
integer, seconds
2592000
30 days
How long an uncollected envelope is kept before it is deleted.
idleBurnDays
integer, days
30
30 days
Days without being seen before an account and everything it holds is deleted.
dropTokensPerIssue
integer, count
64
64
Anonymous sending tokens handed out per request.
claimTtlSeconds
integer, seconds
86400
1 day
How long an identity claim lasts before it must be checked again.
maxWaitSeconds
integer, seconds
30
30 seconds
Longest a client may hold a request open waiting for new messages.
maxBlobBytes
integer, bytes
26214400
25 MB
Largest attachment accepted.
blobTtlSeconds
integer, seconds
604800
7 days
How long an attachment is kept before it is deleted.

Data held

Every column is read from the live database schema on each request. Struck-through columns are absent by design: if one ever appeared it would drop off this list and the operator console would raise an alarm.

TableHolds (holds)Never holds (neverHolds)
_litestream_lock id none listed
_litestream_seq id seq none listed
abuse_report id reported reporter category note evidence reported_at handled_at outcome none listed
account address identity_key created_day last_seen_day burn_after_day name phone email ip ip_address user_agent last_seen_at
account_points address points introductions earned_on_day earned_day updated_day proven_points none listed
announcement id title body severity published_at expires_at withdrawn_at none listed
blob id body stored_at expires_at filename mime name from_address to_address owner
call_feedback day rating issues mode codec platform none listed
call_session session address mode self_token peer_token started_at last_beat seconds relay_id peer peer_address to_address ip endpoint
call_usage address month seconds peer peer_address started_at ended_at calls duration
claim id address rp_domain method subject_ref attributes issued_at expires_at revoked_at signature assurance checked_at user_handle biometric device_id presented_email
coin_order token_hash coin months amount_units after_height created_at expires_at reserved_until checked_at seen_confirmations paid code_sealed address credited account txid from_address payer email redeemed_by paid_at paid_until payment_ref
daily_count day name count none listed
device id address device_key platform cert_hash created_day revoked_day environment none listed
drop_token token_hash expires_at address account issued_to
entitlement address tier expires_at apple_account transaction_id original_transaction_id email price
envelope seq id to_address to_device body received_at expires_at handed from_address from_device sender plaintext subject
grant_code code_hash label tier days uses expires_at revoked_at code_sealed none listed
grant_issued address code_hash issued_at none listed
ha_heartbeat id at none listed
link_session sid offer bundle expires_at owner proof account address device who_linked
login_session sid address status vcode_uti open_url created_at expires_at none listed
one_time_prekey device_id key_id public_key none listed
operator_action id at subject_ref action target address account user_handle ip user_agent
operator_identity subject_ref email first_seen last_seen revoked_at address account user_handle ip password_hash
operator_login sid status vcode_uti open_url created_at expires_at address account email user_handle
operator_session token_hash subject_ref created_at expires_at address account ip user_agent
personhood_use claim_id audience expires_at address account group_id chat_id members member_list device
presence_challenge sid seq kind param due_at_ms issued_at_ms issued_at window_ms answered_at_ms answered_at verdict address account audience frame frames image media video face template embedding landmarks biometric descriptor
presence_contact_stat sid channel n sum sumsq changed reversals travel last_value last_delta address account device samples values raw
presence_session sid address status entropy opened_at deadline last_t samples_seen frames_seen issued answered next_due_ms next_kind next_param reason passed_at expires_at audience frame frames image media video face template embedding landmarks biometric descriptor
presence_use sid audience expires_at address account device group_id chat_id members member_list
purchase_code code_hash tier paid_until uses redeemed expires_at payment_ref code_sealed none listed
redemption transaction_hash expires_at uses address account apple_account email
relay_application id created_at kind country uplink contact_kind contact note status none listed
relay_bonus node_id owner_address points at none listed
relay_day relay_id day online_minutes calls call_seconds credited_minutes verified_callers none listed
relay_enrolment code public_key expires_at node_id confrmo_sid for_address confrmo_address none listed
relay_hardware id hardware at none listed
relay_mesh_round round starts_at members none listed
relay_mesh_route round nonce origin kind path ok ms reply_at reported_at none listed
relay_node id public_key name town certificate_id bonus_points owner_address created_day revoked_day owner_subject owner_confirmed_at released_day none listed
relay_record relay_id day body hash signature points owner_address none listed
seen_nonce nonce expires_at none listed
server_secret name value none listed
signed_prekey device_id key_id public_key signature created_day none listed
vcode_mint uti url purpose created_at expires_at none listed
vp_link_code code_hash address expires_at none listed
vp_link_offer address at kind none listed
vp_link_quiet address until none listed
vp_link_request id address secret_hash check_number status relay_id created_at expires_at none listed
vp_payout_address address chain payout_address proved_at none listed
vp_payout_challenge id_hash address chain payout_address message expires_at none listed
vp_payout_notice address at none listed
vp_payout_request id address secret_hash check_number chain payout_address proved_at status relay_id created_at expires_at none listed
vp_redemption id address day points reward none listed
vp_verification address at reason none listed
vp_view_key key_hash address created_at none listed
vsol_order token_hash months amount_sats after_height created_at expires_at reserved_until checked_at seen_confirmations paid code_sealed address credited account txid from_address payer email redeemed_by paid_at paid_until payment_ref
wake_token device_id platform token updated_day environment voip_token address message body last_sent_at
work_email_check address email_mac code_mac attempts expires_at email email_address code domain team team_id workspace company name group_id