Get support
This page lets you isolate a destination problem and send support the evidence needed to investigate it.
Before you start
- Have access to the affected destination in the dashboard.
- Have shell or equivalent network-observation access to the receiving host.
- Know the destination IP and UDP port.
- Know the UTC interval during which the problem occurred.
Classify the problem
Place the problem in one category before contacting support: checkout, destination configuration, verification, stream arrival, packet loss, packet size, address change, renewal, or expiration. Do not combine unrelated symptoms into one report when they occurred at different times or destinations.
Support contact is ${CONTACT_EMAIL}. A guaranteed response time, support schedule, escalation policy, telephone channel, and service-level agreement are not currently specified. Use email and include a compact evidence set.
Never include a wallet secret, private key, recovery phrase, host password, or active verification token. Support can investigate delivery using the destination ID, public pair, timestamps, and network observations.
Record the destination facts
- Copy the destination ID from the dashboard.
- Copy the displayed destination IP.
- Copy the displayed UDP port.
- Copy the displayed service state.
- Copy the displayed expiration time when present.
- Record the current UTC time with
date -u +'%Y-%m-%dT%H:%M:%SZ'.
The exact dashboard labels and timestamp format are not currently specified. Use the values visibly associated with the affected destination and label them in the message.
Every verification and stream datagram originates from ${SOURCE_IP}. Include whether the receiving network currently permits ${SOURCE_IP}/32 over UDP to the destination port.
Confirm the receiver binding
Replace 9000 with the affected port and run:
bash
sudo ss -ulnp | grep ':9000 'Save the complete matching line. An empty result indicates that this textual filter found no visible UDP listener. It does not inspect a container or network namespace you did not enter. Identify the namespace in the support report when the receiver runs in one.
Record the receiver process name, version or build identifier, bind address, restart time, and packet counter. The product does not prescribe a receiver implementation, so support cannot infer these values from the destination ID.
Observe the network path
Run a bounded capture after replacing 9000:
bash
sudo tcpdump -n -i any -vv -c 20 'src host 64.130.40.90 and udp dst port 9000'Record whether the command captured packets, the first and last displayed timestamps, and the packet lengths. Do not email binary shred payloads unless support requests a specific bounded sample and you have approved that disclosure.
When verification fails, start the capture before requesting a resend. The service sends one challenge datagram for each request. Report whether tcpdump saw the datagram and whether the application printed the payload beginning with SHRED-FANOUT-VERIFY/1.
When stream delivery fails after verification, keep the same capture filter. If tcpdump sees traffic but the application does not, focus on the host firewall, socket binding, namespace, receive buffer, and process. If tcpdump sees nothing, focus on the registered pair, upstream firewall, route, NAT mapping, and destination state.
Collect host UDP counters
Run the host's UDP statistics command before and after a defined observation interval. On Linux with net-tools installed, use:
bash
netstat -suInclude the UDP packet receive and receive-error lines. State the interval in UTC. Counter names and available tools depend on the operating system, which is not currently specified by the product.
Do not send an isolated cumulative counter without a baseline. A large lifetime total does not show that drops occurred during the incident. Capture before and after values around the same interval used for application counters.
Inspect every firewall layer
List the active rule that permits source ${SOURCE_IP}/32, protocol UDP, and the destination port. Identify whether the rule belongs to iptables, nftables, ufw, an AWS security group, a GCP firewall, a network ACL, or another device.
Do not send the entire firewall configuration if it contains unrelated infrastructure details. Extract the matching rule and its counter when available. State whether a cloud rule and host rule both exist.
For NAT, provide the public IP and port, internal IP and port, protocol, and mapping type. Do not replace a sensitive internal network diagram with vague wording; provide the specific mapping needed to trace this destination.
Build the support message
- Set the subject to the problem category and destination ID.
- State the observed symptom in one sentence.
- State the expected behavior in one sentence.
- Provide the UTC start and end time.
- Provide the destination IP and UDP port.
- Provide the dashboard state.
- Provide the receiver binding output.
- Provide the tcpdump result.
- Provide the UDP counter delta.
- Provide the matching firewall rule.
- Provide the NAT mapping when applicable.
- Send the message to ${CONTACT_EMAIL}.
Use a symptom such as verification challenge absent from tcpdump instead of service broken. Use a measured result such as 0 matching datagrams from 14:05:00Z to 14:06:00Z instead of no packets for a while.
Preserve the failing state when safe
Avoid changing the destination repeatedly while collecting evidence. Each destination permits three address changes per day and each change requires re-verification. Record the current state before changing it.
Do not disable all firewall controls as a diagnostic. Add or inspect the narrow ${SOURCE_IP} UDP rule. A broad public rule can introduce unrelated traffic and obscure packet counters.
Do not restart every network component at once. A coordinated restart destroys evidence about where packets stopped. Change one customer-controlled layer at a time after recording its prior state.
Report commercial issues separately
For a payment or renewal problem, provide the destination ID, asset used, transaction signature when available, payment time, and dashboard result. Payment uses USDC or SOL on Solana. Do not send wallet secrets. Confirmation requirements, refund behavior, and payment investigation times are not currently specified.
Parameters
When it goes wrong
Support cannot correlate the report. Example error: `missing destination ID and UTC interval`.
Cause. The message contains a general description without the affected destination or bounded time range.
Fix. Add the destination ID, public pair, state, and UTC start and end time.
The capture shows no traffic. Example error: `0 packets captured`.
Cause. The filter uses the wrong port, traffic from 64.130.40.90 is blocked, or the registered public route is wrong.
Fix. Copy the port from the dashboard, inspect every firewall and NAT layer, and repeat a bounded capture.
The receiver has no socket. Example error: `no listener found for UDP port 9000`.
Cause. The process is stopped, bound elsewhere, or running in another network namespace.
Fix. Start or locate the receiver and provide its namespace and exact bind address in the report.
Questions
- What should a delivery support request contain?
- Include the destination ID, public IP and UDP port, dashboard state, bounded UTC interval, receiver binding, tcpdump result filtered to ${SOURCE_IP}, UDP counter delta, matching firewall rule, and NAT mapping when present. State one observed symptom and one expected behavior. Do not include an active verification token or any wallet secret.
- Where should I send a support request?
- Send the evidence to ${CONTACT_EMAIL}. A guaranteed response time, support schedule, telephone channel, and escalation policy are not currently specified. Use a subject containing the problem category and destination ID. Keep payment issues separate from packet-delivery issues so each report has one clear time range and evidence set.
- Should I open the firewall to everyone before contacting support?
- No. Keep a narrow inbound rule for UDP from 64.130.40.90 to the registered destination port. Opening the port to 0.0.0.0/0 invites unrelated traffic and makes the diagnostic signal harder to read. Keep the rule narrow and check the cloud security group as well as the host firewall.